@mastra/playground-ui 65.0.0-alpha.8 → 65.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/dist/{ask-user-card-DnvW7jXS.js → ask-user-card-B9q_GFTt.js} +2 -2
  2. package/dist/{ask-user-card-DnvW7jXS.js.map → ask-user-card-B9q_GFTt.js.map} +1 -1
  3. package/dist/{ask-user-card-DiFQcUzM.cjs → ask-user-card-C-N5rpYG.cjs} +2 -2
  4. package/dist/{ask-user-card-DiFQcUzM.cjs.map → ask-user-card-C-N5rpYG.cjs.map} +1 -1
  5. package/dist/{code-block-CAV4Flrx.cjs → code-block-BSJzgBt1.cjs} +2 -2
  6. package/dist/{code-block-CAV4Flrx.cjs.map → code-block-BSJzgBt1.cjs.map} +1 -1
  7. package/dist/{code-block-BB-5HSl3.js → code-block-JWCkGm3Q.js} +2 -2
  8. package/dist/{code-block-BB-5HSl3.js.map → code-block-JWCkGm3Q.js.map} +1 -1
  9. package/dist/{code-editor-CbyCb7CW.cjs → code-editor-4ukTuvqG.cjs} +18 -2
  10. package/dist/code-editor-4ukTuvqG.cjs.map +1 -0
  11. package/dist/{code-editor-DOv4jc-0.js → code-editor-8qu58Npy.js} +18 -2
  12. package/dist/code-editor-8qu58Npy.js.map +1 -0
  13. package/dist/{combobox-BCoCVZHs.js → combobox-Cff50hgT.js} +37 -49
  14. package/dist/combobox-Cff50hgT.js.map +1 -0
  15. package/dist/{combobox-DbZAWh8q.cjs → combobox-RlGW9Erz.cjs} +37 -49
  16. package/dist/combobox-RlGW9Erz.cjs.map +1 -0
  17. package/dist/components/BillingIllustration.cjs.js +524 -1
  18. package/dist/components/BillingIllustration.cjs.js.map +1 -1
  19. package/dist/components/BillingIllustration.es.js +524 -1
  20. package/dist/components/BillingIllustration.es.js.map +1 -1
  21. package/dist/components/Button.cjs.js +1 -1
  22. package/dist/components/Button.es.js +1 -1
  23. package/dist/components/CodeBlock.cjs.js +1 -1
  24. package/dist/components/CodeBlock.es.js +1 -1
  25. package/dist/components/CodeEditor.cjs.js +1 -1
  26. package/dist/components/CodeEditor.es.js +1 -1
  27. package/dist/components/Combobox.cjs.js +1 -1
  28. package/dist/components/Combobox.es.js +1 -1
  29. package/dist/components/CommandPalette.cjs.js +1 -1
  30. package/dist/components/CommandPalette.es.js +1 -1
  31. package/dist/components/Comment.cjs.js +1 -1
  32. package/dist/components/Comment.es.js +1 -1
  33. package/dist/components/DataCodeSection.cjs.js +1 -1
  34. package/dist/components/DataCodeSection.es.js +1 -1
  35. package/dist/components/DataList.cjs.js +15 -17
  36. package/dist/components/DataList.cjs.js.map +1 -1
  37. package/dist/components/DataList.es.js +4 -5
  38. package/dist/components/DataList.es.js.map +1 -1
  39. package/dist/components/DataPanel.cjs.js +1 -1
  40. package/dist/components/DataPanel.es.js +1 -1
  41. package/dist/components/DateTimePicker.cjs.js +2 -2
  42. package/dist/components/DateTimePicker.es.js +2 -2
  43. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  44. package/dist/components/DateTimeRangePicker.es.js +1 -1
  45. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
  46. package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
  47. package/dist/components/Field.cjs.js +1 -1
  48. package/dist/components/Field.es.js +1 -1
  49. package/dist/components/FilterBar.cjs.js +8 -844
  50. package/dist/components/FilterBar.cjs.js.map +1 -1
  51. package/dist/components/FilterBar.es.js +4 -841
  52. package/dist/components/FilterBar.es.js.map +1 -1
  53. package/dist/components/FormFieldBlocks.cjs.js +1 -1
  54. package/dist/components/FormFieldBlocks.es.js +1 -1
  55. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  56. package/dist/components/JSONSchemaForm.es.js +2 -2
  57. package/dist/components/Kbd.cjs.js +1 -1
  58. package/dist/components/Kbd.es.js +1 -1
  59. package/dist/components/ListSearch.cjs.js +1 -1
  60. package/dist/components/ListSearch.es.js +1 -1
  61. package/dist/components/LogsDataList.cjs.js +5 -2
  62. package/dist/components/LogsDataList.cjs.js.map +1 -1
  63. package/dist/components/LogsDataList.es.js +5 -2
  64. package/dist/components/LogsDataList.es.js.map +1 -1
  65. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  66. package/dist/components/MarkdownRenderer.es.js +1 -1
  67. package/dist/components/PageLayout.cjs.js +3 -56
  68. package/dist/components/PageLayout.cjs.js.map +1 -1
  69. package/dist/components/PageLayout.es.js +1 -58
  70. package/dist/components/PageLayout.es.js.map +1 -1
  71. package/dist/components/PropertyFilter.cjs.js +2 -2
  72. package/dist/components/PropertyFilter.es.js +2 -2
  73. package/dist/components/RuleBuilder.cjs.js +1 -1
  74. package/dist/components/RuleBuilder.es.js +1 -1
  75. package/dist/components/SavedViews.cjs.js +1 -1
  76. package/dist/components/SavedViews.es.js +1 -1
  77. package/dist/components/SearchInput.cjs.js +1 -1
  78. package/dist/components/SearchInput.es.js +1 -1
  79. package/dist/components/Section.cjs.js +1 -1
  80. package/dist/components/Section.es.js +1 -1
  81. package/dist/components/Select.cjs.js +2 -1
  82. package/dist/components/Select.cjs.js.map +1 -1
  83. package/dist/components/Select.es.js +1 -1
  84. package/dist/components/SideDialog.cjs.js +225 -2
  85. package/dist/components/SideDialog.cjs.js.map +1 -1
  86. package/dist/components/SideDialog.es.js +210 -1
  87. package/dist/components/SideDialog.es.js.map +1 -1
  88. package/dist/components/Sidebar.cjs.js +64 -60
  89. package/dist/components/Sidebar.cjs.js.map +1 -1
  90. package/dist/components/Sidebar.es.js +65 -62
  91. package/dist/components/Sidebar.es.js.map +1 -1
  92. package/dist/components/Workflow.cjs.js +3 -3
  93. package/dist/components/Workflow.es.js +3 -3
  94. package/dist/components/ai/activity.cjs.js +2 -2
  95. package/dist/components/ai/activity.es.js +2 -2
  96. package/dist/components/ai/ask-user.cjs.js +1 -1
  97. package/dist/components/ai/ask-user.es.js +1 -1
  98. package/dist/components/ai/plan.cjs.js +1 -1
  99. package/dist/components/ai/plan.es.js +1 -1
  100. package/dist/components/ai/tool-approval.cjs.js +1 -1
  101. package/dist/components/ai/tool-approval.es.js +1 -1
  102. package/dist/components/ai/tool-call.cjs.js +1 -1
  103. package/dist/components/ai/tool-call.es.js +1 -1
  104. package/dist/{data-code-section-BjyHoHEB.cjs → data-code-section-BsvdKW08.cjs} +2 -2
  105. package/dist/{data-code-section-BjyHoHEB.cjs.map → data-code-section-BsvdKW08.cjs.map} +1 -1
  106. package/dist/{data-code-section-BWzfg-1n.js → data-code-section-y1BMLr3c.js} +2 -2
  107. package/dist/{data-code-section-BWzfg-1n.js.map → data-code-section-y1BMLr3c.js.map} +1 -1
  108. package/dist/{data-list-top-DJh08vFA.cjs → data-list-4t6Ueon8.cjs} +365 -16
  109. package/dist/data-list-4t6Ueon8.cjs.map +1 -0
  110. package/dist/{data-list-top-T-mtdIUp.js → data-list-BQMBFAyK.js} +357 -7
  111. package/dist/data-list-BQMBFAyK.js.map +1 -0
  112. package/dist/{data-list-skeleton-sdcaabdX.cjs → data-list-skeleton-CVXZYY0k.cjs} +6 -6
  113. package/dist/{data-list-skeleton-sdcaabdX.cjs.map → data-list-skeleton-CVXZYY0k.cjs.map} +1 -1
  114. package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-D54r1ycU.js} +3 -3
  115. package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-D54r1ycU.js.map} +1 -1
  116. package/dist/{data-panel-CUqcB4Vn.js → data-panel-DSgidnnv.js} +2 -2
  117. package/dist/{data-panel-CUqcB4Vn.js.map → data-panel-DSgidnnv.js.map} +1 -1
  118. package/dist/{data-panel-CGRPVnEe.cjs → data-panel-xqrai98b.cjs} +2 -2
  119. package/dist/{data-panel-CGRPVnEe.cjs.map → data-panel-xqrai98b.cjs.map} +1 -1
  120. package/dist/{date-time-range-picker-CcnDMZJu.js → date-time-range-picker-BnYWCqei.js} +3 -3
  121. package/dist/{date-time-range-picker-CcnDMZJu.js.map → date-time-range-picker-BnYWCqei.js.map} +1 -1
  122. package/dist/{date-time-range-picker-CXGab8Nj.cjs → date-time-range-picker-_2RJBOUn.cjs} +3 -3
  123. package/dist/{date-time-range-picker-CXGab8Nj.cjs.map → date-time-range-picker-_2RJBOUn.cjs.map} +1 -1
  124. package/dist/domains/capabilities.cjs.js +4 -0
  125. package/dist/domains/capabilities.cjs.js.map +1 -1
  126. package/dist/domains/capabilities.es.js +1 -1
  127. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  128. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  129. package/dist/domains/chat/messages/dataset-save-action.cjs.js +4 -3
  130. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  131. package/dist/domains/chat/messages/dataset-save-action.es.js +4 -3
  132. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  133. package/dist/domains/chat/messages/message-row.cjs.js +1 -1
  134. package/dist/domains/chat/messages/message-row.es.js +1 -1
  135. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +23 -3
  136. package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
  137. package/dist/domains/chat/messages/notification-signal-notice.es.js +24 -6
  138. package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
  139. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  140. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  141. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  142. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  143. package/dist/domains/chat/messages/signal-data.cjs.js +12 -0
  144. package/dist/domains/chat/messages/signal-data.cjs.js.map +1 -1
  145. package/dist/domains/chat/messages/signal-data.es.js +12 -1
  146. package/dist/domains/chat/messages/signal-data.es.js.map +1 -1
  147. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  148. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  149. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  150. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  151. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +2 -2
  152. package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
  153. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  154. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  155. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  156. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  157. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  158. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  159. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  160. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  161. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  162. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  163. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  164. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  165. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  166. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  167. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  168. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  169. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -1
  170. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  171. package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -1
  172. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  173. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  174. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  175. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  176. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  177. package/dist/domains/chat.cjs.js +1 -0
  178. package/dist/domains/chat.cjs.js.map +1 -1
  179. package/dist/domains/chat.es.js +1 -1
  180. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +334 -0
  181. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js.map +1 -0
  182. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +2 -0
  183. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +330 -0
  184. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js.map +1 -0
  185. package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js +78 -0
  186. package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js.map +1 -0
  187. package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +2 -0
  188. package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js +74 -0
  189. package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js.map +1 -0
  190. package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js +25 -0
  191. package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js.map +1 -0
  192. package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +2 -0
  193. package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js +21 -0
  194. package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js.map +1 -0
  195. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js +22 -0
  196. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js.map +1 -0
  197. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +2 -0
  198. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js +18 -0
  199. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js.map +1 -0
  200. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +54 -0
  201. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js.map +1 -0
  202. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +2 -0
  203. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +50 -0
  204. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js.map +1 -0
  205. package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js +21 -0
  206. package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js.map +1 -0
  207. package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +2 -0
  208. package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js +17 -0
  209. package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js.map +1 -0
  210. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +180 -0
  211. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js.map +1 -0
  212. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +2 -0
  213. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +176 -0
  214. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js.map +1 -0
  215. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js +57 -0
  216. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js.map +1 -0
  217. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +2 -0
  218. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js +45 -0
  219. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js.map +1 -0
  220. package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js +17 -0
  221. package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js.map +1 -0
  222. package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +2 -0
  223. package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js +13 -0
  224. package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js.map +1 -0
  225. package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js +10 -0
  226. package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js.map +1 -0
  227. package/dist/domains/datasets/components/add-dataset-item-dialog.d.ts +2 -0
  228. package/dist/domains/datasets/components/add-dataset-item-dialog.es.js +2 -0
  229. package/dist/domains/datasets/components/add-dataset-item-dialog.es.js.map +1 -0
  230. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  231. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  232. package/dist/domains/datasets/components.cjs.js +2 -0
  233. package/dist/domains/datasets/components.cjs.js.map +1 -1
  234. package/dist/domains/datasets/components.es.js +1 -0
  235. package/dist/domains/datasets/components.es.js.map +1 -1
  236. package/dist/domains/datasets.cjs.js +2 -0
  237. package/dist/domains/datasets.cjs.js.map +1 -1
  238. package/dist/domains/datasets.es.js +1 -0
  239. package/dist/domains/datasets.es.js.map +1 -1
  240. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  241. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  242. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
  243. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  244. package/dist/domains/logs/components/logs-list-view.es.js +3 -2
  245. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  246. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js.map +1 -1
  247. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js.map +1 -1
  248. package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
  249. package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
  250. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  251. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  252. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  253. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  254. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  255. package/dist/domains/metrics/drilldown.es.js +1 -1
  256. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  257. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  258. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +45 -38
  259. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
  260. package/dist/domains/observability/components/trace-as-item-dialog.es.js +45 -38
  261. package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
  262. package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -0
  263. package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -1
  264. package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -0
  265. package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -1
  266. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  267. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  268. package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
  269. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  270. package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
  271. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  272. package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
  273. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  274. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  275. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  276. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  277. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  278. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  279. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  280. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  281. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  282. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  283. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  284. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  285. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  286. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  287. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  288. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  289. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  290. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  291. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  292. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  293. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  294. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  295. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  296. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -0
  297. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  298. package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -0
  299. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  300. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -2
  301. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  302. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +3 -8
  303. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  304. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -9
  305. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  306. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -0
  307. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  308. package/dist/domains/traces/components/trace-data-panel.es.js +4 -0
  309. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  310. package/dist/domains/traces/components/trace-error-cell.cjs.js +3 -1
  311. package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -1
  312. package/dist/domains/traces/components/trace-error-cell.es.js +3 -1
  313. package/dist/domains/traces/components/trace-error-cell.es.js.map +1 -1
  314. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  315. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  316. package/dist/domains/traces/components/trace-span-panel.cjs.js +0 -2
  317. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  318. package/dist/domains/traces/components/trace-span-panel.es.js +0 -2
  319. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  320. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  321. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  322. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  323. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  324. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +3 -3
  325. package/dist/domains/traces/components/trace-time-range-chip.es.js +3 -3
  326. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +117 -0
  327. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -0
  328. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +2 -0
  329. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +94 -0
  330. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -0
  331. package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js +20 -0
  332. package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js.map +1 -0
  333. package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +2 -0
  334. package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js +16 -0
  335. package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js.map +1 -0
  336. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +39 -0
  337. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js.map +1 -0
  338. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +2 -0
  339. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +35 -0
  340. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js.map +1 -0
  341. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js +16 -0
  342. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js.map +1 -0
  343. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +2 -0
  344. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js +12 -0
  345. package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js.map +1 -0
  346. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +56 -0
  347. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -0
  348. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
  349. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +40 -0
  350. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -0
  351. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +78 -0
  352. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -0
  353. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +2 -0
  354. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +72 -0
  355. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -0
  356. package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js +52 -0
  357. package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js.map +1 -0
  358. package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +2 -0
  359. package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js +48 -0
  360. package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js.map +1 -0
  361. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +71 -0
  362. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -0
  363. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +2 -0
  364. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +67 -0
  365. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -0
  366. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +58 -0
  367. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -0
  368. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +2 -0
  369. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +54 -0
  370. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -0
  371. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +134 -0
  372. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -0
  373. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +2 -0
  374. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +130 -0
  375. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -0
  376. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +154 -0
  377. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -0
  378. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +2 -0
  379. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +150 -0
  380. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -0
  381. package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js +14 -0
  382. package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js.map +1 -0
  383. package/dist/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +2 -0
  384. package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js +10 -0
  385. package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js.map +1 -0
  386. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +86 -0
  387. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -0
  388. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +2 -0
  389. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +81 -0
  390. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -0
  391. package/dist/domains/traces/components/traces-explorer.cjs.js +42 -0
  392. package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -0
  393. package/dist/domains/traces/components/traces-explorer.d.ts +2 -0
  394. package/dist/domains/traces/components/traces-explorer.es.js +25 -0
  395. package/dist/domains/traces/components/traces-explorer.es.js.map +1 -0
  396. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -5
  397. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  398. package/dist/domains/traces/components/traces-list-view.es.js +3 -4
  399. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  400. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
  401. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  402. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
  403. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  404. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +38 -10
  405. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
  406. package/dist/domains/traces/hooks/use-traces-list-source.es.js +39 -13
  407. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
  408. package/dist/domains/traces/hooks.cjs.js +0 -4
  409. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  410. package/dist/domains/traces/hooks.es.js +0 -2
  411. package/dist/domains/traces/hooks.es.js.map +1 -1
  412. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  413. package/dist/domains/traces/trace-filters.es.js +1 -1
  414. package/dist/domains/traces/trace-query-filters.cjs.js +2 -1
  415. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  416. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  417. package/dist/domains/traces.cjs.js +2 -5
  418. package/dist/domains/traces.cjs.js.map +1 -1
  419. package/dist/domains/traces.es.js +1 -3
  420. package/dist/domains/traces.es.js.map +1 -1
  421. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  422. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  423. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  424. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  425. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  426. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  427. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  428. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  429. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +1 -1
  430. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
  431. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -2
  432. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -2
  433. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -2
  434. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -2
  435. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  436. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  437. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  438. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  439. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  440. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  441. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
  442. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
  443. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +1 -1
  444. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
  445. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  446. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  447. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  448. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  449. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
  450. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  451. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  452. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  453. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  454. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  455. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  456. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  457. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  458. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  459. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
  460. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
  461. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  462. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  463. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +4 -4
  464. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +4 -4
  465. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  466. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  467. package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
  468. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  469. package/dist/ee/signals/components/entity-index-list.es.js +3 -1
  470. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  471. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +5 -3
  472. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  473. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -3
  474. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  475. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -1
  476. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +1 -1
  477. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -0
  478. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
  479. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -0
  480. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
  481. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  482. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  483. package/dist/{field-BCU5ZtWV.cjs → field-CZ5fldpM.cjs} +2 -1
  484. package/dist/{field-BCU5ZtWV.cjs.map → field-CZ5fldpM.cjs.map} +1 -1
  485. package/dist/{field-Dl1zeXTv.js → field-CfA5-ixH.js} +2 -1
  486. package/dist/{field-Dl1zeXTv.js.map → field-CfA5-ixH.js.map} +1 -1
  487. package/dist/filter-bar-CjBb01b6.cjs +849 -0
  488. package/dist/filter-bar-CjBb01b6.cjs.map +1 -0
  489. package/dist/{filter-bar-chip-DgvuQv6c.cjs → filter-bar-chip-C_64m7nX.cjs} +2 -2
  490. package/dist/{filter-bar-chip-DgvuQv6c.cjs.map → filter-bar-chip-C_64m7nX.cjs.map} +1 -1
  491. package/dist/{filter-bar-chip-C9CXOudu.js → filter-bar-chip-D2kKMSRA.js} +3 -3
  492. package/dist/{filter-bar-chip-C9CXOudu.js.map → filter-bar-chip-D2kKMSRA.js.map} +1 -1
  493. package/dist/filter-bar-pXSJt2ye.js +842 -0
  494. package/dist/filter-bar-pXSJt2ye.js.map +1 -0
  495. package/dist/{kbd-Xgv5HKEi.cjs → kbd-B2zbS_A6.cjs} +2 -2
  496. package/dist/{kbd-Xgv5HKEi.cjs.map → kbd-B2zbS_A6.cjs.map} +1 -1
  497. package/dist/{kbd-7Xx2pm9f.js → kbd-CYtMrOov.js} +2 -2
  498. package/dist/{kbd-7Xx2pm9f.js.map → kbd-CYtMrOov.js.map} +1 -1
  499. package/dist/layout/tabbed-container.cjs.js +3 -3
  500. package/dist/layout/tabbed-container.es.js +3 -3
  501. package/dist/lib/form/components/boolean-field.cjs.js +1 -1
  502. package/dist/lib/form/components/boolean-field.es.js +1 -1
  503. package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
  504. package/dist/lib/form/components/field-wrapper.es.js +1 -1
  505. package/dist/lib/form/components/select-field.cjs.js +1 -1
  506. package/dist/lib/form/components/select-field.es.js +1 -1
  507. package/dist/{list-search-ByJdIxIh.js → list-search-8jVOq9LK.js} +2 -2
  508. package/dist/{list-search-ByJdIxIh.js.map → list-search-8jVOq9LK.js.map} +1 -1
  509. package/dist/{list-search-DNJVeHmK.cjs → list-search-C7ckmZHa.cjs} +2 -2
  510. package/dist/{list-search-DNJVeHmK.cjs.map → list-search-C7ckmZHa.cjs.map} +1 -1
  511. package/dist/{logs-data-list-DCj8Pj77.cjs → logs-data-list-C4Z4rw62.cjs} +21 -22
  512. package/dist/{logs-data-list-DCj8Pj77.cjs.map → logs-data-list-C4Z4rw62.cjs.map} +1 -1
  513. package/dist/{logs-data-list-Db5dBRmc.js → logs-data-list-CL3iq_6r.js} +2 -3
  514. package/dist/{logs-data-list-Db5dBRmc.js.map → logs-data-list-CL3iq_6r.js.map} +1 -1
  515. package/dist/{markdown-renderer-CQ_pSSO7.cjs → markdown-renderer-73CdjgS4.cjs} +2 -2
  516. package/dist/{markdown-renderer-CQ_pSSO7.cjs.map → markdown-renderer-73CdjgS4.cjs.map} +1 -1
  517. package/dist/{markdown-renderer-DEoJ5aBR.js → markdown-renderer-Qv9-1YIp.js} +2 -2
  518. package/dist/{markdown-renderer-DEoJ5aBR.js.map → markdown-renderer-Qv9-1YIp.js.map} +1 -1
  519. package/dist/new/settings.cjs.js +3 -2
  520. package/dist/new/settings.cjs.js.map +1 -1
  521. package/dist/new/settings.es.js +2 -1
  522. package/dist/new/settings.es.js.map +1 -1
  523. package/dist/{notification-activity-BWXHmlTn.js → notification-activity-BRW1Xlj1.js} +9 -5
  524. package/dist/notification-activity-BRW1Xlj1.js.map +1 -0
  525. package/dist/{notification-activity-BSNuqJDd.cjs → notification-activity-DAZOALWI.cjs} +9 -5
  526. package/dist/notification-activity-DAZOALWI.cjs.map +1 -0
  527. package/dist/page-layout-D1AXJJrp.cjs +61 -0
  528. package/dist/page-layout-D1AXJJrp.cjs.map +1 -0
  529. package/dist/page-layout-DCMg_kJB.js +59 -0
  530. package/dist/page-layout-DCMg_kJB.js.map +1 -0
  531. package/dist/{plan-TYss51JK.cjs → plan-DBvoFFHO.cjs} +2 -2
  532. package/dist/{plan-TYss51JK.cjs.map → plan-DBvoFFHO.cjs.map} +1 -1
  533. package/dist/{plan-B6td0b8h.js → plan-TBs5kj_X.js} +2 -2
  534. package/dist/{plan-B6td0b8h.js.map → plan-TBs5kj_X.js.map} +1 -1
  535. package/dist/{reasoning-activity-I5-HcGou.cjs → reasoning-activity-BrZbS7pa.cjs} +2 -2
  536. package/dist/{reasoning-activity-I5-HcGou.cjs.map → reasoning-activity-BrZbS7pa.cjs.map} +1 -1
  537. package/dist/{reasoning-activity-Dz2hk9pU.js → reasoning-activity-CyMhxRL2.js} +2 -2
  538. package/dist/{reasoning-activity-Dz2hk9pU.js.map → reasoning-activity-CyMhxRL2.js.map} +1 -1
  539. package/dist/resize/collapsible-panel.cjs.js +1 -1
  540. package/dist/resize/collapsible-panel.es.js +1 -1
  541. package/dist/{search-input-CMNy0JWd.cjs → search-input-CGNENJDh.cjs} +2 -2
  542. package/dist/{search-input-CMNy0JWd.cjs.map → search-input-CGNENJDh.cjs.map} +1 -1
  543. package/dist/{search-input-C9qFBzn6.js → search-input-cIYk0pl3.js} +2 -2
  544. package/dist/{search-input-C9qFBzn6.js.map → search-input-cIYk0pl3.js.map} +1 -1
  545. package/dist/{section-CctlZIXp.cjs → section-BikCyHdf.cjs} +4 -3
  546. package/dist/{section-CctlZIXp.cjs.map → section-BikCyHdf.cjs.map} +1 -1
  547. package/dist/{section-D0hKTVXt.js → section-C71zDLKM.js} +3 -2
  548. package/dist/{section-D0hKTVXt.js.map → section-C71zDLKM.js.map} +1 -1
  549. package/dist/{select-A3AFKLd9.cjs → select-BqHt-fOI.cjs} +12 -1
  550. package/dist/select-BqHt-fOI.cjs.map +1 -0
  551. package/dist/{select-7rYaECQf.js → select-CCpQUIEg.js} +13 -3
  552. package/dist/select-CCpQUIEg.js.map +1 -0
  553. package/dist/settings-container-D6LsO77E.js +42 -0
  554. package/dist/settings-container-D6LsO77E.js.map +1 -0
  555. package/dist/settings-container-umHxLp1a.cjs +45 -0
  556. package/dist/settings-container-umHxLp1a.cjs.map +1 -0
  557. package/dist/{settings-row-m_4gDCwS.cjs → settings-row-C9lT2BJS.cjs} +3 -42
  558. package/dist/settings-row-C9lT2BJS.cjs.map +1 -0
  559. package/dist/{settings-row-yuQjwWTl.js → settings-row-CRpU1an-.js} +4 -41
  560. package/dist/settings-row-CRpU1an-.js.map +1 -0
  561. package/dist/{span-payload-primitives-n5uf4hOk.cjs → span-payload-primitives-CE124T1P.cjs} +2 -2
  562. package/dist/{span-payload-primitives-n5uf4hOk.cjs.map → span-payload-primitives-CE124T1P.cjs.map} +1 -1
  563. package/dist/{span-payload-primitives-CaT3DT8h.js → span-payload-primitives-v0iS2w26.js} +2 -2
  564. package/dist/{span-payload-primitives-CaT3DT8h.js.map → span-payload-primitives-v0iS2w26.js.map} +1 -1
  565. package/dist/src/domains/capabilities/index.d.ts +1 -1
  566. package/dist/src/domains/chat/messages/notification-signal-notice.d.ts +2 -0
  567. package/dist/src/domains/chat/messages/signal-data.d.ts +9 -0
  568. package/dist/src/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +28 -0
  569. package/dist/src/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +28 -0
  570. package/dist/src/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +14 -0
  571. package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +8 -0
  572. package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +11 -0
  573. package/dist/src/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +10 -0
  574. package/dist/src/domains/datasets/components/add-dataset-item-dialog/index.d.ts +2 -0
  575. package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +11 -0
  576. package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +50 -0
  577. package/dist/src/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +7 -0
  578. package/dist/src/domains/datasets/components/index.d.ts +1 -0
  579. package/dist/src/domains/logs/hooks/use-logs-filter-persistence.d.ts +2 -3
  580. package/dist/src/domains/logs/hooks/use-logs-url-state.d.ts +1 -1
  581. package/dist/src/domains/memory/components/flame-graph-data.d.ts +1 -1
  582. package/dist/src/domains/observability/components/trace-as-item-dialog.d.ts +3 -5
  583. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +1 -5
  584. package/dist/src/domains/traces/components/trace-span-panel.d.ts +1 -2
  585. package/dist/src/domains/traces/components/traces-explorer/index.d.ts +27 -0
  586. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +113 -0
  587. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +1 -0
  588. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +1 -0
  589. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +9 -0
  590. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +114 -0
  591. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +24 -0
  592. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +14 -0
  593. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +13 -0
  594. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +1 -0
  595. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +18 -0
  596. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +21 -0
  597. package/dist/src/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +15 -0
  598. package/dist/src/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +15 -0
  599. package/dist/src/domains/traces/hooks/index.d.ts +1 -2
  600. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +7 -1
  601. package/dist/src/domains/traces/trace-query-filters.d.ts +2 -0
  602. package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +5 -5
  603. package/dist/src/ds/components/BillingIllustration/art/credits-art.d.ts +2 -0
  604. package/dist/src/ds/components/BillingIllustration/art/plan-art.d.ts +5 -0
  605. package/dist/src/ds/components/BillingIllustration/billing-illustration.d.ts +1 -1
  606. package/dist/src/ds/components/CodeEditor/code-editor.d.ts +4 -0
  607. package/dist/src/ds/components/Combobox/combobox-parts.d.ts +1 -1
  608. package/dist/src/ds/components/DataList/data-list-root.d.ts +2 -0
  609. package/dist/src/ds/components/Select/select.d.ts +5 -1
  610. package/dist/src/ds/components/Sidebar/header/sidebar-badge.d.ts +7 -0
  611. package/dist/src/ds/components/Sidebar/header/sidebar-button-hint.d.ts +7 -0
  612. package/dist/src/ds/components/Sidebar/header/sidebar-search-trigger.d.ts +14 -3
  613. package/dist/src/ds/components/Sidebar/index.d.ts +1 -0
  614. package/dist/src/ds/components/Sidebar/root/sidebar-trigger.d.ts +2 -2
  615. package/dist/src/ds/components/Sidebar/sidebar.d.ts +5 -1
  616. package/dist/src/ds/components/ai/activity/presets/notification-activity.d.ts +5 -1
  617. package/dist/style.css +101 -13
  618. package/dist/{time-picker-CyvG-fwX.cjs → time-picker-BGtAkRRp.cjs} +2 -2
  619. package/dist/{time-picker-CyvG-fwX.cjs.map → time-picker-BGtAkRRp.cjs.map} +1 -1
  620. package/dist/{time-picker-Bzdboi4W.js → time-picker-D1VsACkg.js} +2 -2
  621. package/dist/{time-picker-Bzdboi4W.js.map → time-picker-D1VsACkg.js.map} +1 -1
  622. package/dist/{tool-approval-meJYp8az.js → tool-approval-CW6YjYlc.js} +2 -2
  623. package/dist/{tool-approval-meJYp8az.js.map → tool-approval-CW6YjYlc.js.map} +1 -1
  624. package/dist/{tool-approval-tRkskd9l.cjs → tool-approval-DNw_9w1C.cjs} +2 -2
  625. package/dist/{tool-approval-tRkskd9l.cjs.map → tool-approval-DNw_9w1C.cjs.map} +1 -1
  626. package/dist/{tool-call-arguments-D4D9tT7-.cjs → tool-call-arguments-BdHtc5O4.cjs} +2 -2
  627. package/dist/{tool-call-arguments-D4D9tT7-.cjs.map → tool-call-arguments-BdHtc5O4.cjs.map} +1 -1
  628. package/dist/{tool-call-arguments-CyKLhuQC.js → tool-call-arguments-CByjFWnk.js} +2 -2
  629. package/dist/{tool-call-arguments-CyKLhuQC.js.map → tool-call-arguments-CByjFWnk.js.map} +1 -1
  630. package/dist/{tool-card-D9jh-XXM.cjs → tool-card-DULALXIR.cjs} +2 -2
  631. package/dist/{tool-card-D9jh-XXM.cjs.map → tool-card-DULALXIR.cjs.map} +1 -1
  632. package/dist/{tool-card-B7s_wQuV.js → tool-card-DyZaGWgD.js} +2 -2
  633. package/dist/{tool-card-B7s_wQuV.js.map → tool-card-DyZaGWgD.js.map} +1 -1
  634. package/dist/{trace-filters-tC2TkI42.cjs → trace-filters-BtyiQq7Y.cjs} +9 -5
  635. package/dist/trace-filters-BtyiQq7Y.cjs.map +1 -0
  636. package/dist/{trace-filters-D1Cs5f24.js → trace-filters-DXW-RdDz.js} +10 -7
  637. package/dist/trace-filters-DXW-RdDz.js.map +1 -0
  638. package/dist/{traces-data-list-CF_LFvnf.cjs → traces-data-list-BOHhsgDI.cjs} +18 -20
  639. package/dist/{traces-data-list-CF_LFvnf.cjs.map → traces-data-list-BOHhsgDI.cjs.map} +1 -1
  640. package/dist/{traces-data-list-SpVFLEy8.js → traces-data-list-CP6knkOn.js} +2 -4
  641. package/dist/{traces-data-list-SpVFLEy8.js.map → traces-data-list-CP6knkOn.js.map} +1 -1
  642. package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs → use-workflow-graph-runtime-CWgTtW-I.cjs} +2 -2
  643. package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs.map → use-workflow-graph-runtime-CWgTtW-I.cjs.map} +1 -1
  644. package/dist/{use-workflow-graph-runtime-DiiAs2oN.js → use-workflow-graph-runtime-vYcO5MFZ.js} +2 -2
  645. package/dist/{use-workflow-graph-runtime-DiiAs2oN.js.map → use-workflow-graph-runtime-vYcO5MFZ.js.map} +1 -1
  646. package/dist/{workflow-code-dialog-content-yV6Lecry.cjs → workflow-code-dialog-content-BeB3jC3z.cjs} +2 -2
  647. package/dist/{workflow-code-dialog-content-yV6Lecry.cjs.map → workflow-code-dialog-content-BeB3jC3z.cjs.map} +1 -1
  648. package/dist/{workflow-code-dialog-content-lRHRkDdW.js → workflow-code-dialog-content-BpWrCzH0.js} +2 -2
  649. package/dist/{workflow-code-dialog-content-lRHRkDdW.js.map → workflow-code-dialog-content-BpWrCzH0.js.map} +1 -1
  650. package/dist/{workflow-data-edge-view-DadIXKjI.cjs → workflow-data-edge-view-CYsZxUHx.cjs} +2 -2
  651. package/dist/{workflow-data-edge-view-DadIXKjI.cjs.map → workflow-data-edge-view-CYsZxUHx.cjs.map} +1 -1
  652. package/dist/{workflow-data-edge-view-BcLEbr1i.js → workflow-data-edge-view-Cqbhavjw.js} +2 -2
  653. package/dist/{workflow-data-edge-view-BcLEbr1i.js.map → workflow-data-edge-view-Cqbhavjw.js.map} +1 -1
  654. package/dist/{workflow-edge-data-button-AwaLTE7H.js → workflow-edge-data-button-BPUmnY9J.js} +2 -2
  655. package/dist/{workflow-edge-data-button-AwaLTE7H.js.map → workflow-edge-data-button-BPUmnY9J.js.map} +1 -1
  656. package/dist/{workflow-edge-data-button-B4_tt1pL.cjs → workflow-edge-data-button-DinmgZoJ.cjs} +2 -2
  657. package/dist/{workflow-edge-data-button-B4_tt1pL.cjs.map → workflow-edge-data-button-DinmgZoJ.cjs.map} +1 -1
  658. package/package.json +11 -11
  659. package/dist/code-editor-CbyCb7CW.cjs.map +0 -1
  660. package/dist/code-editor-DOv4jc-0.js.map +0 -1
  661. package/dist/combobox-BCoCVZHs.js.map +0 -1
  662. package/dist/combobox-DbZAWh8q.cjs.map +0 -1
  663. package/dist/data-list-CGD9hzcp.cjs +0 -142
  664. package/dist/data-list-CGD9hzcp.cjs.map +0 -1
  665. package/dist/data-list-aFlt9Du-.js +0 -138
  666. package/dist/data-list-aFlt9Du-.js.map +0 -1
  667. package/dist/data-list-spacer-BFAQT_lQ.js +0 -209
  668. package/dist/data-list-spacer-BFAQT_lQ.js.map +0 -1
  669. package/dist/data-list-spacer-Dpoj55mv.cjs +0 -218
  670. package/dist/data-list-spacer-Dpoj55mv.cjs.map +0 -1
  671. package/dist/data-list-top-DJh08vFA.cjs.map +0 -1
  672. package/dist/data-list-top-T-mtdIUp.js.map +0 -1
  673. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +0 -204
  674. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +0 -1
  675. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.d.ts +0 -2
  676. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +0 -200
  677. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +0 -1
  678. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +0 -52
  679. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js.map +0 -1
  680. package/dist/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -2
  681. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +0 -48
  682. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js.map +0 -1
  683. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +0 -373
  684. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +0 -1
  685. package/dist/domains/traces/hooks/use-trace-url-state.d.ts +0 -2
  686. package/dist/domains/traces/hooks/use-trace-url-state.es.js +0 -369
  687. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +0 -1
  688. package/dist/notification-activity-BSNuqJDd.cjs.map +0 -1
  689. package/dist/notification-activity-BWXHmlTn.js.map +0 -1
  690. package/dist/select-7rYaECQf.js.map +0 -1
  691. package/dist/select-A3AFKLd9.cjs.map +0 -1
  692. package/dist/settings-row-m_4gDCwS.cjs.map +0 -1
  693. package/dist/settings-row-yuQjwWTl.js.map +0 -1
  694. package/dist/side-dialog-C-XvsAm_.cjs +0 -231
  695. package/dist/side-dialog-C-XvsAm_.cjs.map +0 -1
  696. package/dist/side-dialog-cUpWIkKq.js +0 -211
  697. package/dist/side-dialog-cUpWIkKq.js.map +0 -1
  698. package/dist/src/domains/observability/components/add-trace-mocks-to-item-dialog.d.ts +0 -9
  699. package/dist/src/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -22
  700. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +0 -83
  701. package/dist/trace-filters-D1Cs5f24.js.map +0 -1
  702. package/dist/trace-filters-tC2TkI42.cjs.map +0 -1
@@ -5,14 +5,15 @@ import { useState, useCallback, useEffect, useMemo } from 'react';
5
5
  import { useDatasetSaveContext } from '../context/dataset-save-context-value.es.js';
6
6
  import { useDatasets, useDatasetMutations } from '@mastra/react/hooks/datasets';
7
7
  import { B as Button } from '../../../Button-D8a5EWJ5.js';
8
- import { C as CodeEditor } from '../../../code-editor-DOv4jc-0.js';
8
+ import { C as CodeEditor } from '../../../code-editor-8qu58Npy.js';
9
9
  import '../../../highlight-CXDme3FZ.js';
10
- import { F as Field, e as FieldLabel } from '../../../field-Dl1zeXTv.js';
10
+ import { F as Field, e as FieldLabel } from '../../../field-CfA5-ixH.js';
11
11
  import '../../../field-control-aria-DB6y41tQ.js';
12
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-7rYaECQf.js';
12
+ import { S as Select, e as SelectTrigger, f as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-CCpQUIEg.js';
13
13
  import { T as Txt } from '../../../Txt-BtIGLRk1.js';
14
14
  import '../../../lib/framework.es.js';
15
15
  import { t as toast } from '../../../toast-5aQbZBbY.js';
16
+ import '../../datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js';
16
17
  import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-AzCRnEo3.js';
17
18
  import { S as Spinner } from '../../../spinner-CsLM6TfA.js';
18
19
  import { controlStateColorTransition } from '../../../primitives/transitions.es.js';
@@ -1 +1 @@
1
- {"version":3,"file":"dataset-save-action.es.js","sources":["../../../../src/domains/chat/messages/dataset-save-action.tsx"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { DatabaseIcon } from 'lucide-react';\nimport { useState, useCallback, useEffect, useMemo } from 'react';\nimport { useDatasetSaveContext } from '../context/dataset-save-context-value';\nimport type { DatasetSaveContextValue } from '../context/dataset-save-context-value';\nimport { useDatasetMutations, useDatasets } from '@/domains/datasets';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport {\n Dialog,\n DialogAction,\n DialogCancel,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogBody,\n DialogFooter,\n} from '@/ds/components/Dialog';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@/ds/components/Select';\nimport { Spinner } from '@/ds/components/Spinner';\nimport { Txt } from '@/ds/components/Txt';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/utils/cn';\nimport { toast } from '@/utils/toast';\n\nfunction DatasetSaveDialog({\n open,\n onOpenChange,\n input,\n onInputChange,\n requestContext,\n initialGroundTruth = '',\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n input: string;\n onInputChange: (value: string) => void;\n requestContext?: Record<string, unknown>;\n initialGroundTruth?: string;\n}) {\n const [groundTruth, setGroundTruth] = useState(initialGroundTruth);\n const [selectedDatasetId, setSelectedDatasetId] = useState('');\n\n useEffect(() => {\n if (open) {\n setGroundTruth(initialGroundTruth);\n }\n }, [open, initialGroundTruth]);\n\n const { data, isLoading: isDatasetsLoading } = useDatasets();\n const { addItem } = useDatasetMutations();\n const datasets = useMemo(() => data?.datasets ?? [], [data?.datasets]);\n\n const handleSubmit = useCallback(async () => {\n if (!selectedDatasetId) {\n toast.error('Please select a dataset');\n return;\n }\n\n let parsedInput: unknown;\n try {\n parsedInput = JSON.parse(input);\n } catch {\n toast.error('Input must be valid JSON');\n return;\n }\n\n let parsedGroundTruth: unknown | undefined;\n if (groundTruth.trim()) {\n try {\n parsedGroundTruth = JSON.parse(groundTruth);\n } catch {\n toast.error('Ground Truth must be valid JSON');\n return;\n }\n }\n\n try {\n const hasRequestContext = requestContext && Object.keys(requestContext).length > 0;\n await addItem.mutateAsync({\n datasetId: selectedDatasetId,\n input: parsedInput,\n groundTruth: parsedGroundTruth,\n ...(hasRequestContext ? { requestContext } : {}),\n });\n const targetDataset = datasets.find(d => d.id === selectedDatasetId);\n toast.success(`Item saved to \"${targetDataset?.name}\"`);\n onOpenChange(false);\n setSelectedDatasetId('');\n onInputChange('');\n setGroundTruth('');\n } catch (error) {\n toast.error(`Failed to save item: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }, [input, groundTruth, selectedDatasetId, requestContext, addItem, datasets, onOpenChange, onInputChange]);\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} pending={addItem.isPending}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Save to Dataset</DialogTitle>\n <DialogDescription>Save as a dataset item for evaluation.</DialogDescription>\n </DialogHeader>\n <DialogBody>\n <Field>\n <FieldLabel>Dataset</FieldLabel>\n <Select\n value={selectedDatasetId}\n onValueChange={setSelectedDatasetId}\n disabled={addItem.isPending || isDatasetsLoading}\n >\n <SelectTrigger>\n <SelectValue placeholder={isDatasetsLoading ? 'Loading...' : 'Select a dataset'} />\n </SelectTrigger>\n <SelectContent>\n {datasets.length === 0 ? (\n <Txt as=\"p\" variant=\"body\" tone=\"muted\" className=\"px-2 py-4 text-center\">\n No datasets available\n </Txt>\n ) : (\n datasets.map(dataset => (\n <SelectItem key={dataset.id} value={dataset.id}>\n {dataset.name}\n </SelectItem>\n ))\n )}\n </SelectContent>\n </Select>\n </Field>\n\n <Field>\n <FieldLabel>Input (JSON)</FieldLabel>\n <CodeEditor value={input} onChange={onInputChange} showCopyButton={false} className=\"max-h-60 min-h-30\" />\n </Field>\n\n <Field>\n <FieldLabel>Ground Truth (JSON, optional)</FieldLabel>\n <CodeEditor\n value={groundTruth}\n onChange={setGroundTruth}\n showCopyButton={false}\n className=\"max-h-40 min-h-20\"\n />\n </Field>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n <DialogAction onConfirm={handleSubmit} disabled={!selectedDatasetId || datasets.length === 0}>\n {addItem.isPending ? 'Saving...' : 'Save Item'}\n </DialogAction>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n}\n\n/**\n * Dataset save action button shown on user messages in test chat mode.\n * Saves the individual message text as a dataset item.\n */\nexport interface DatasetSaveActionProps {\n /** Text of the message this action saves to a dataset. */\n messageText: string;\n}\n\nexport function DatasetSaveAction({ messageText }: DatasetSaveActionProps) {\n const ctx = useDatasetSaveContext();\n if (!ctx?.enabled) return null;\n return <DatasetSaveActionInner messageText={messageText} />;\n}\n\nfunction DatasetSaveActionInner({ messageText }: DatasetSaveActionProps) {\n const ctx = useDatasetSaveContext();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClick = useCallback(() => {\n setInput(JSON.stringify(messageText, null, 2));\n setDialogOpen(true);\n }, [messageText]);\n\n return (\n <>\n <Button\n variant=\"default\"\n size=\"icon-md\"\n tooltip=\"Save to dataset\"\n className={cn(quietTextHover, 'bg-transparent')}\n onClick={handleClick}\n >\n <DatabaseIcon className=\"size-4\" />\n </Button>\n <DatasetSaveDialog\n open={dialogOpen}\n onOpenChange={setDialogOpen}\n input={input}\n onInputChange={setInput}\n requestContext={ctx?.requestContext}\n />\n </>\n );\n}\n\n/**\n * Button shown at the bottom of the thread to save the full conversation history.\n * Only renders when dataset save context is enabled (test chat mode).\n */\nexport function SaveFullConversationAction() {\n const ctx = useDatasetSaveContext();\n if (!ctx?.enabled) return null;\n return <SaveFullConversationInner ctx={ctx} />;\n}\n\nfunction SaveFullConversationInner({ ctx }: { ctx: DatasetSaveContextValue }) {\n const client = useMastraClient();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [input, setInput] = useState('');\n const [groundTruth, setGroundTruth] = useState('');\n const [isFetching, setIsFetching] = useState(false);\n\n const handleClick = useCallback(async () => {\n setIsFetching(true);\n try {\n const result = await client.listThreadMessages(ctx.threadId, {\n agentId: ctx.agentId,\n });\n const messages = result?.messages ?? [];\n\n const lastAssistantIdx = messages.length - 1;\n const lastMessage = messages[lastAssistantIdx];\n if (lastMessage && lastMessage.role === 'assistant') {\n const inputMessages = messages.slice(0, lastAssistantIdx);\n setInput(JSON.stringify(inputMessages, null, 2));\n setGroundTruth(JSON.stringify(lastMessage, null, 2));\n } else {\n setInput(JSON.stringify(messages, null, 2));\n setGroundTruth('');\n }\n\n setDialogOpen(true);\n } catch (error) {\n toast.error(`Failed to fetch thread messages: ${error instanceof Error ? error.message : 'Unknown error'}`);\n } finally {\n setIsFetching(false);\n }\n }, [client, ctx.threadId, ctx.agentId]);\n\n return (\n <>\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isFetching}\n className={cn(\n quietTextHover,\n controlStateColorTransition,\n 'mx-auto flex cursor-pointer items-center gap-1.5 py-3 disabled:opacity-50',\n )}\n >\n {isFetching ? <Spinner className=\"size-3.5\" /> : <DatabaseIcon className=\"size-3.5\" />}\n <Txt as=\"span\" variant=\"meta\" className=\"block\">\n Save full conversation to dataset\n </Txt>\n </button>\n <DatasetSaveDialog\n open={dialogOpen}\n onOpenChange={setDialogOpen}\n input={input}\n onInputChange={setInput}\n requestContext={ctx.requestContext}\n initialGroundTruth={groundTruth}\n />\n </>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset-save-action.es.js","sources":["../../../../src/domains/chat/messages/dataset-save-action.tsx"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { DatabaseIcon } from 'lucide-react';\nimport { useState, useCallback, useEffect, useMemo } from 'react';\nimport { useDatasetSaveContext } from '../context/dataset-save-context-value';\nimport type { DatasetSaveContextValue } from '../context/dataset-save-context-value';\nimport { useDatasetMutations, useDatasets } from '@/domains/datasets';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport {\n Dialog,\n DialogAction,\n DialogCancel,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogBody,\n DialogFooter,\n} from '@/ds/components/Dialog';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@/ds/components/Select';\nimport { Spinner } from '@/ds/components/Spinner';\nimport { Txt } from '@/ds/components/Txt';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/utils/cn';\nimport { toast } from '@/utils/toast';\n\nfunction DatasetSaveDialog({\n open,\n onOpenChange,\n input,\n onInputChange,\n requestContext,\n initialGroundTruth = '',\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n input: string;\n onInputChange: (value: string) => void;\n requestContext?: Record<string, unknown>;\n initialGroundTruth?: string;\n}) {\n const [groundTruth, setGroundTruth] = useState(initialGroundTruth);\n const [selectedDatasetId, setSelectedDatasetId] = useState('');\n\n useEffect(() => {\n if (open) {\n setGroundTruth(initialGroundTruth);\n }\n }, [open, initialGroundTruth]);\n\n const { data, isLoading: isDatasetsLoading } = useDatasets();\n const { addItem } = useDatasetMutations();\n const datasets = useMemo(() => data?.datasets ?? [], [data?.datasets]);\n\n const handleSubmit = useCallback(async () => {\n if (!selectedDatasetId) {\n toast.error('Please select a dataset');\n return;\n }\n\n let parsedInput: unknown;\n try {\n parsedInput = JSON.parse(input);\n } catch {\n toast.error('Input must be valid JSON');\n return;\n }\n\n let parsedGroundTruth: unknown | undefined;\n if (groundTruth.trim()) {\n try {\n parsedGroundTruth = JSON.parse(groundTruth);\n } catch {\n toast.error('Ground Truth must be valid JSON');\n return;\n }\n }\n\n try {\n const hasRequestContext = requestContext && Object.keys(requestContext).length > 0;\n await addItem.mutateAsync({\n datasetId: selectedDatasetId,\n input: parsedInput,\n groundTruth: parsedGroundTruth,\n ...(hasRequestContext ? { requestContext } : {}),\n });\n const targetDataset = datasets.find(d => d.id === selectedDatasetId);\n toast.success(`Item saved to \"${targetDataset?.name}\"`);\n onOpenChange(false);\n setSelectedDatasetId('');\n onInputChange('');\n setGroundTruth('');\n } catch (error) {\n toast.error(`Failed to save item: ${error instanceof Error ? error.message : 'Unknown error'}`);\n }\n }, [input, groundTruth, selectedDatasetId, requestContext, addItem, datasets, onOpenChange, onInputChange]);\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} pending={addItem.isPending}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Save to Dataset</DialogTitle>\n <DialogDescription>Save as a dataset item for evaluation.</DialogDescription>\n </DialogHeader>\n <DialogBody>\n <Field>\n <FieldLabel>Dataset</FieldLabel>\n <Select\n value={selectedDatasetId}\n onValueChange={setSelectedDatasetId}\n disabled={addItem.isPending || isDatasetsLoading}\n >\n <SelectTrigger>\n <SelectValue placeholder={isDatasetsLoading ? 'Loading...' : 'Select a dataset'} />\n </SelectTrigger>\n <SelectContent>\n {datasets.length === 0 ? (\n <Txt as=\"p\" variant=\"body\" tone=\"muted\" className=\"px-2 py-4 text-center\">\n No datasets available\n </Txt>\n ) : (\n datasets.map(dataset => (\n <SelectItem key={dataset.id} value={dataset.id}>\n {dataset.name}\n </SelectItem>\n ))\n )}\n </SelectContent>\n </Select>\n </Field>\n\n <Field>\n <FieldLabel>Input (JSON)</FieldLabel>\n <CodeEditor value={input} onChange={onInputChange} showCopyButton={false} className=\"max-h-60 min-h-30\" />\n </Field>\n\n <Field>\n <FieldLabel>Ground Truth (JSON, optional)</FieldLabel>\n <CodeEditor\n value={groundTruth}\n onChange={setGroundTruth}\n showCopyButton={false}\n className=\"max-h-40 min-h-20\"\n />\n </Field>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n <DialogAction onConfirm={handleSubmit} disabled={!selectedDatasetId || datasets.length === 0}>\n {addItem.isPending ? 'Saving...' : 'Save Item'}\n </DialogAction>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n}\n\n/**\n * Dataset save action button shown on user messages in test chat mode.\n * Saves the individual message text as a dataset item.\n */\nexport interface DatasetSaveActionProps {\n /** Text of the message this action saves to a dataset. */\n messageText: string;\n}\n\nexport function DatasetSaveAction({ messageText }: DatasetSaveActionProps) {\n const ctx = useDatasetSaveContext();\n if (!ctx?.enabled) return null;\n return <DatasetSaveActionInner messageText={messageText} />;\n}\n\nfunction DatasetSaveActionInner({ messageText }: DatasetSaveActionProps) {\n const ctx = useDatasetSaveContext();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [input, setInput] = useState('');\n\n const handleClick = useCallback(() => {\n setInput(JSON.stringify(messageText, null, 2));\n setDialogOpen(true);\n }, [messageText]);\n\n return (\n <>\n <Button\n variant=\"default\"\n size=\"icon-md\"\n tooltip=\"Save to dataset\"\n className={cn(quietTextHover, 'bg-transparent')}\n onClick={handleClick}\n >\n <DatabaseIcon className=\"size-4\" />\n </Button>\n <DatasetSaveDialog\n open={dialogOpen}\n onOpenChange={setDialogOpen}\n input={input}\n onInputChange={setInput}\n requestContext={ctx?.requestContext}\n />\n </>\n );\n}\n\n/**\n * Button shown at the bottom of the thread to save the full conversation history.\n * Only renders when dataset save context is enabled (test chat mode).\n */\nexport function SaveFullConversationAction() {\n const ctx = useDatasetSaveContext();\n if (!ctx?.enabled) return null;\n return <SaveFullConversationInner ctx={ctx} />;\n}\n\nfunction SaveFullConversationInner({ ctx }: { ctx: DatasetSaveContextValue }) {\n const client = useMastraClient();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [input, setInput] = useState('');\n const [groundTruth, setGroundTruth] = useState('');\n const [isFetching, setIsFetching] = useState(false);\n\n const handleClick = useCallback(async () => {\n setIsFetching(true);\n try {\n const result = await client.listThreadMessages(ctx.threadId, {\n agentId: ctx.agentId,\n });\n const messages = result?.messages ?? [];\n\n const lastAssistantIdx = messages.length - 1;\n const lastMessage = messages[lastAssistantIdx];\n if (lastMessage && lastMessage.role === 'assistant') {\n const inputMessages = messages.slice(0, lastAssistantIdx);\n setInput(JSON.stringify(inputMessages, null, 2));\n setGroundTruth(JSON.stringify(lastMessage, null, 2));\n } else {\n setInput(JSON.stringify(messages, null, 2));\n setGroundTruth('');\n }\n\n setDialogOpen(true);\n } catch (error) {\n toast.error(`Failed to fetch thread messages: ${error instanceof Error ? error.message : 'Unknown error'}`);\n } finally {\n setIsFetching(false);\n }\n }, [client, ctx.threadId, ctx.agentId]);\n\n return (\n <>\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={isFetching}\n className={cn(\n quietTextHover,\n controlStateColorTransition,\n 'mx-auto flex cursor-pointer items-center gap-1.5 py-3 disabled:opacity-50',\n )}\n >\n {isFetching ? <Spinner className=\"size-3.5\" /> : <DatabaseIcon className=\"size-3.5\" />}\n <Txt as=\"span\" variant=\"meta\" className=\"block\">\n Save full conversation to dataset\n </Txt>\n </button>\n <DatasetSaveDialog\n open={dialogOpen}\n onOpenChange={setDialogOpen}\n input={input}\n onInputChange={setInput}\n requestContext={ctx.requestContext}\n initialGroundTruth={groundTruth}\n />\n </>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ const domains_chat_messages_renderers_userTextPartRenderer = require('./renderer
29
29
  const domains_chat_messages_skillActivation = require('./skill-activation.cjs.js');
30
30
  const domains_chat_messages_skillMessage = require('./skill-message.cjs.js');
31
31
  const domains_chat_tools_toolCallEffects = require('../tools/tool-call-effects.cjs.js');
32
- const domains_chat_tools_badges_agentBadge = require('../../../tool-card-D9jh-XXM.cjs');
32
+ const domains_chat_tools_badges_agentBadge = require('../../../tool-card-DULALXIR.cjs');
33
33
  const domains_chat_tools_toolCardKind = require('../tools/tool-card-kind.cjs.js');
34
34
  const domains_chat_tools_toolGroups = require('../tools/tool-groups.cjs.js');
35
35
  const messageReveal = require('../../../message-reveal-Dbej4LJz.cjs');
@@ -25,7 +25,7 @@ import { UserTextPartRenderer } from './renderers/user-text-part-renderer.es.js'
25
25
  import { parseSkillActivation } from './skill-activation.es.js';
26
26
  import { SkillMessage } from './skill-message.es.js';
27
27
  import { ToolCallEffects } from '../tools/tool-call-effects.es.js';
28
- import { T as ToolCard } from '../../../tool-card-B7s_wQuV.js';
28
+ import { T as ToolCard } from '../../../tool-card-DyZaGWgD.js';
29
29
  import { isSettledState, badgeStatus } from '../tools/tool-card-kind.es.js';
30
30
  import { collectToolGroups } from '../tools/tool-groups.es.js';
31
31
  import { u as useRevealedParts } from '../../../message-reveal-B3LLhUvk.js';
@@ -4,8 +4,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_chat_messages_signalData = require('./signal-data.cjs.js');
7
- const notificationActivity = require('../../../notification-activity-BSNuqJDd.cjs');
7
+ const notificationActivity = require('../../../notification-activity-DAZOALWI.cjs');
8
+ const Badge = require('../../../Badge-63UxysBA.cjs');
9
+ const tooltip = require('../../../tooltip-BppwIf6Y.cjs');
8
10
 
11
+ const MCP_EVENT_GAP_MESSAGE = "Gap: events may have been skipped";
12
+ const MCP_EVENT_UNTRUSTED_LABEL = "Untrusted event data from the MCP server";
9
13
  const getNotificationTitle = (signal) => {
10
14
  const notification = domains_chat_messages_signalData.getNotificationMetadata(signal);
11
15
  if (notification?.signal === "summary" || signal.tagName === "notification-summary") return "Notification summary";
@@ -14,8 +18,20 @@ const getNotificationTitle = (signal) => {
14
18
  if (source && kind) return `${source} / ${kind}`;
15
19
  return source ?? kind ?? "Notification";
16
20
  };
21
+ const getMcpEventTitle = (info) => {
22
+ const title = [info.server, info.event].filter(Boolean).join(" · ") || "MCP event";
23
+ return info.kind === "mcp-event-subscription-ended" ? `${title} · subscription ended` : title;
24
+ };
25
+ const GapBadge = () => /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
26
+ /* @__PURE__ */ jsxRuntime.jsxs(tooltip.TooltipTrigger, { render: /* @__PURE__ */ jsxRuntime.jsx("span", {}), children: [
27
+ /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { size: "xs", variant: "amber", children: "gap" }),
28
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: MCP_EVENT_GAP_MESSAGE })
29
+ ] }),
30
+ /* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipContent, { children: MCP_EVENT_GAP_MESSAGE })
31
+ ] });
17
32
  const NotificationSignalNotice = ({ signal }) => {
18
33
  const notification = domains_chat_messages_signalData.getNotificationMetadata(signal);
34
+ const mcpEvent = domains_chat_messages_signalData.getMcpEventSignalInfo(signal);
19
35
  const priority = notification?.priority ?? domains_chat_messages_signalData.formatSignalValue(signal.attributes?.priority);
20
36
  const pending = domains_chat_messages_signalData.formatSignalValue(notification?.pending) ?? domains_chat_messages_signalData.formatSignalValue(signal.attributes?.pending);
21
37
  const status = notification?.status ?? domains_chat_messages_signalData.formatSignalValue(signal.attributes?.status);
@@ -23,14 +39,18 @@ const NotificationSignalNotice = ({ signal }) => {
23
39
  return /* @__PURE__ */ jsxRuntime.jsx(
24
40
  notificationActivity.NotificationActivity,
25
41
  {
26
- label: getNotificationTitle(signal),
42
+ label: mcpEvent ? getMcpEventTitle(mcpEvent) : getNotificationTitle(signal),
27
43
  message: text,
28
44
  priority,
29
45
  status,
30
- pending
46
+ pending,
47
+ extraBadges: mcpEvent?.truncated ? /* @__PURE__ */ jsxRuntime.jsx(GapBadge, {}) : void 0,
48
+ messageLabel: mcpEvent?.kind === "mcp-event" ? MCP_EVENT_UNTRUSTED_LABEL : void 0
31
49
  }
32
50
  );
33
51
  };
34
52
 
53
+ exports.MCP_EVENT_GAP_MESSAGE = MCP_EVENT_GAP_MESSAGE;
54
+ exports.MCP_EVENT_UNTRUSTED_LABEL = MCP_EVENT_UNTRUSTED_LABEL;
35
55
  exports.NotificationSignalNotice = NotificationSignalNotice;
36
56
  //# sourceMappingURL=notification-signal-notice.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-signal-notice.cjs.js","sources":["../../../../src/domains/chat/messages/notification-signal-notice.tsx"],"sourcesContent":["import { formatSignalValue, getNotificationMetadata, signalContentsToText } from './signal-data';\nimport type { SignalData } from './signal-data';\nimport { NotificationActivity } from '@/ds/components/ai/activity';\n\nexport type NotificationSignalNoticeProps = {\n signal: SignalData;\n};\n\nconst getNotificationTitle = (signal: SignalData) => {\n const notification = getNotificationMetadata(signal);\n if (notification?.signal === 'summary' || signal.tagName === 'notification-summary') return 'Notification summary';\n\n const source = notification?.source ?? formatSignalValue(signal.attributes?.source);\n const kind = notification?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (source && kind) return `${source} / ${kind}`;\n return source ?? kind ?? 'Notification';\n};\n\nexport const NotificationSignalNotice = ({ signal }: NotificationSignalNoticeProps) => {\n const notification = getNotificationMetadata(signal);\n const priority = notification?.priority ?? formatSignalValue(signal.attributes?.priority);\n const pending = formatSignalValue(notification?.pending) ?? formatSignalValue(signal.attributes?.pending);\n const status = notification?.status ?? formatSignalValue(signal.attributes?.status);\n const text = signalContentsToText(signal.contents);\n return (\n <NotificationActivity\n label={getNotificationTitle(signal)}\n message={text}\n priority={priority}\n status={status}\n pending={pending}\n />\n );\n};\n"],"names":["getNotificationMetadata","formatSignalValue","signalContentsToText","jsx","NotificationActivity"],"mappings":";;;;;;;;AAQA,MAAM,oBAAA,GAAuB,CAAC,MAAA,KAAuB;AACnD,EAAA,MAAM,YAAA,GAAeA,yDAAwB,MAAM,CAAA;AACnD,EAAA,IAAI,cAAc,MAAA,KAAW,SAAA,IAAa,MAAA,CAAO,OAAA,KAAY,wBAAwB,OAAO,sBAAA;AAE5F,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAUC,kDAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA,IAAQA,kDAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC5E,EAAA,IAAI,UAAU,IAAA,EAAM,OAAO,CAAA,EAAG,MAAM,MAAM,IAAI,CAAA,CAAA;AAC9C,EAAA,OAAO,UAAU,IAAA,IAAQ,cAAA;AAC3B,CAAA;AAEO,MAAM,wBAAA,GAA2B,CAAC,EAAE,MAAA,EAAO,KAAqC;AACrF,EAAA,MAAM,YAAA,GAAeD,yDAAwB,MAAM,CAAA;AACnD,EAAA,MAAM,WAAW,YAAA,EAAc,QAAA,IAAYC,kDAAA,CAAkB,MAAA,CAAO,YAAY,QAAQ,CAAA;AACxF,EAAA,MAAM,OAAA,GAAUA,mDAAkB,YAAA,EAAc,OAAO,KAAKA,kDAAA,CAAkB,MAAA,CAAO,YAAY,OAAO,CAAA;AACxG,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAUA,kDAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,IAAA,GAAOC,qDAAA,CAAqB,MAAA,CAAO,QAAQ,CAAA;AACjD,EAAA,uBACEC,cAAA;AAAA,IAACC,yCAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,qBAAqB,MAAM,CAAA;AAAA,MAClC,OAAA,EAAS,IAAA;AAAA,MACT,QAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"notification-signal-notice.cjs.js","sources":["../../../../src/domains/chat/messages/notification-signal-notice.tsx"],"sourcesContent":["import { formatSignalValue, getMcpEventSignalInfo, getNotificationMetadata, signalContentsToText } from './signal-data';\nimport type { McpEventSignalInfo, SignalData } from './signal-data';\nimport { NotificationActivity } from '@/ds/components/ai/activity';\nimport { Badge } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip/tooltip';\n\nexport type NotificationSignalNoticeProps = {\n signal: SignalData;\n};\n\nexport const MCP_EVENT_GAP_MESSAGE = 'Gap: events may have been skipped';\nexport const MCP_EVENT_UNTRUSTED_LABEL = 'Untrusted event data from the MCP server';\n\nconst getNotificationTitle = (signal: SignalData) => {\n const notification = getNotificationMetadata(signal);\n if (notification?.signal === 'summary' || signal.tagName === 'notification-summary') return 'Notification summary';\n\n const source = notification?.source ?? formatSignalValue(signal.attributes?.source);\n const kind = notification?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (source && kind) return `${source} / ${kind}`;\n return source ?? kind ?? 'Notification';\n};\n\nconst getMcpEventTitle = (info: McpEventSignalInfo) => {\n const title = [info.server, info.event].filter(Boolean).join(' · ') || 'MCP event';\n return info.kind === 'mcp-event-subscription-ended' ? `${title} · subscription ended` : title;\n};\n\nconst GapBadge = () => (\n <Tooltip>\n <TooltipTrigger render={<span />}>\n <Badge size=\"xs\" variant=\"amber\">\n gap\n </Badge>\n <span className=\"sr-only\">{MCP_EVENT_GAP_MESSAGE}</span>\n </TooltipTrigger>\n <TooltipContent>{MCP_EVENT_GAP_MESSAGE}</TooltipContent>\n </Tooltip>\n);\n\nexport const NotificationSignalNotice = ({ signal }: NotificationSignalNoticeProps) => {\n const notification = getNotificationMetadata(signal);\n const mcpEvent = getMcpEventSignalInfo(signal);\n const priority = notification?.priority ?? formatSignalValue(signal.attributes?.priority);\n const pending = formatSignalValue(notification?.pending) ?? formatSignalValue(signal.attributes?.pending);\n const status = notification?.status ?? formatSignalValue(signal.attributes?.status);\n const text = signalContentsToText(signal.contents);\n return (\n <NotificationActivity\n label={mcpEvent ? getMcpEventTitle(mcpEvent) : getNotificationTitle(signal)}\n message={text}\n priority={priority}\n status={status}\n pending={pending}\n extraBadges={mcpEvent?.truncated ? <GapBadge /> : undefined}\n messageLabel={mcpEvent?.kind === 'mcp-event' ? MCP_EVENT_UNTRUSTED_LABEL : undefined}\n />\n );\n};\n"],"names":["getNotificationMetadata","formatSignalValue","jsxs","Tooltip","TooltipTrigger","jsx","Badge","TooltipContent","getMcpEventSignalInfo","signalContentsToText","NotificationActivity"],"mappings":";;;;;;;;;;AAUO,MAAM,qBAAA,GAAwB;AAC9B,MAAM,yBAAA,GAA4B;AAEzC,MAAM,oBAAA,GAAuB,CAAC,MAAA,KAAuB;AACnD,EAAA,MAAM,YAAA,GAAeA,yDAAwB,MAAM,CAAA;AACnD,EAAA,IAAI,cAAc,MAAA,KAAW,SAAA,IAAa,MAAA,CAAO,OAAA,KAAY,wBAAwB,OAAO,sBAAA;AAE5F,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAUC,kDAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA,IAAQA,kDAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC5E,EAAA,IAAI,UAAU,IAAA,EAAM,OAAO,CAAA,EAAG,MAAM,MAAM,IAAI,CAAA,CAAA;AAC9C,EAAA,OAAO,UAAU,IAAA,IAAQ,cAAA;AAC3B,CAAA;AAEA,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAA6B;AACrD,EAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,CAAK,MAAA,EAAQ,IAAA,CAAK,KAAK,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA,IAAK,WAAA;AACvE,EAAA,OAAO,IAAA,CAAK,IAAA,KAAS,8BAAA,GAAiC,CAAA,EAAG,KAAK,CAAA,qBAAA,CAAA,GAA0B,KAAA;AAC1F,CAAA;AAEA,MAAM,QAAA,GAAW,sBACfC,eAAA,CAACC,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,kBAAAD,eAAA,CAACE,sBAAA,EAAA,EAAe,MAAA,kBAAQC,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAC5B,QAAA,EAAA;AAAA,oBAAAA,cAAA,CAACC,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,SAAQ,QAAA,EAAA,KAAA,EAEjC,CAAA;AAAA,oBACAD,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,qBAAA,EAAsB;AAAA,GAAA,EACnD,CAAA;AAAA,kBACAA,cAAA,CAACE,0BAAgB,QAAA,EAAA,qBAAA,EAAsB;AAAA,CAAA,EACzC,CAAA;AAGK,MAAM,wBAAA,GAA2B,CAAC,EAAE,MAAA,EAAO,KAAqC;AACrF,EAAA,MAAM,YAAA,GAAeP,yDAAwB,MAAM,CAAA;AACnD,EAAA,MAAM,QAAA,GAAWQ,uDAAsB,MAAM,CAAA;AAC7C,EAAA,MAAM,WAAW,YAAA,EAAc,QAAA,IAAYP,kDAAA,CAAkB,MAAA,CAAO,YAAY,QAAQ,CAAA;AACxF,EAAA,MAAM,OAAA,GAAUA,mDAAkB,YAAA,EAAc,OAAO,KAAKA,kDAAA,CAAkB,MAAA,CAAO,YAAY,OAAO,CAAA;AACxG,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAUA,kDAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,IAAA,GAAOQ,qDAAA,CAAqB,MAAA,CAAO,QAAQ,CAAA;AACjD,EAAA,uBACEJ,cAAA;AAAA,IAACK,yCAAA;AAAA,IAAA;AAAA,MACC,OAAO,QAAA,GAAW,gBAAA,CAAiB,QAAQ,CAAA,GAAI,qBAAqB,MAAM,CAAA;AAAA,MAC1E,OAAA,EAAS,IAAA;AAAA,MACT,QAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA,EAAa,QAAA,EAAU,SAAA,mBAAYL,cAAA,CAAC,YAAS,CAAA,GAAK,MAAA;AAAA,MAClD,YAAA,EAAc,QAAA,EAAU,IAAA,KAAS,WAAA,GAAc,yBAAA,GAA4B;AAAA;AAAA,GAC7E;AAEJ;;;;;;"}
@@ -1,7 +1,11 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { getNotificationMetadata, formatSignalValue, signalContentsToText } from './signal-data.es.js';
3
- import { N as NotificationActivity } from '../../../notification-activity-BWXHmlTn.js';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { getNotificationMetadata, getMcpEventSignalInfo, formatSignalValue, signalContentsToText } from './signal-data.es.js';
3
+ import { N as NotificationActivity } from '../../../notification-activity-BRW1Xlj1.js';
4
+ import { B as Badge } from '../../../Badge-CHGARUEW.js';
5
+ import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../../../tooltip-DrsXZDAj.js';
4
6
 
7
+ const MCP_EVENT_GAP_MESSAGE = "Gap: events may have been skipped";
8
+ const MCP_EVENT_UNTRUSTED_LABEL = "Untrusted event data from the MCP server";
5
9
  const getNotificationTitle = (signal) => {
6
10
  const notification = getNotificationMetadata(signal);
7
11
  if (notification?.signal === "summary" || signal.tagName === "notification-summary") return "Notification summary";
@@ -10,8 +14,20 @@ const getNotificationTitle = (signal) => {
10
14
  if (source && kind) return `${source} / ${kind}`;
11
15
  return source ?? kind ?? "Notification";
12
16
  };
17
+ const getMcpEventTitle = (info) => {
18
+ const title = [info.server, info.event].filter(Boolean).join(" · ") || "MCP event";
19
+ return info.kind === "mcp-event-subscription-ended" ? `${title} · subscription ended` : title;
20
+ };
21
+ const GapBadge = () => /* @__PURE__ */ jsxs(Tooltip, { children: [
22
+ /* @__PURE__ */ jsxs(TooltipTrigger, { render: /* @__PURE__ */ jsx("span", {}), children: [
23
+ /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "amber", children: "gap" }),
24
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: MCP_EVENT_GAP_MESSAGE })
25
+ ] }),
26
+ /* @__PURE__ */ jsx(TooltipContent, { children: MCP_EVENT_GAP_MESSAGE })
27
+ ] });
13
28
  const NotificationSignalNotice = ({ signal }) => {
14
29
  const notification = getNotificationMetadata(signal);
30
+ const mcpEvent = getMcpEventSignalInfo(signal);
15
31
  const priority = notification?.priority ?? formatSignalValue(signal.attributes?.priority);
16
32
  const pending = formatSignalValue(notification?.pending) ?? formatSignalValue(signal.attributes?.pending);
17
33
  const status = notification?.status ?? formatSignalValue(signal.attributes?.status);
@@ -19,14 +35,16 @@ const NotificationSignalNotice = ({ signal }) => {
19
35
  return /* @__PURE__ */ jsx(
20
36
  NotificationActivity,
21
37
  {
22
- label: getNotificationTitle(signal),
38
+ label: mcpEvent ? getMcpEventTitle(mcpEvent) : getNotificationTitle(signal),
23
39
  message: text,
24
40
  priority,
25
41
  status,
26
- pending
42
+ pending,
43
+ extraBadges: mcpEvent?.truncated ? /* @__PURE__ */ jsx(GapBadge, {}) : void 0,
44
+ messageLabel: mcpEvent?.kind === "mcp-event" ? MCP_EVENT_UNTRUSTED_LABEL : void 0
27
45
  }
28
46
  );
29
47
  };
30
48
 
31
- export { NotificationSignalNotice };
49
+ export { MCP_EVENT_GAP_MESSAGE, MCP_EVENT_UNTRUSTED_LABEL, NotificationSignalNotice };
32
50
  //# sourceMappingURL=notification-signal-notice.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-signal-notice.es.js","sources":["../../../../src/domains/chat/messages/notification-signal-notice.tsx"],"sourcesContent":["import { formatSignalValue, getNotificationMetadata, signalContentsToText } from './signal-data';\nimport type { SignalData } from './signal-data';\nimport { NotificationActivity } from '@/ds/components/ai/activity';\n\nexport type NotificationSignalNoticeProps = {\n signal: SignalData;\n};\n\nconst getNotificationTitle = (signal: SignalData) => {\n const notification = getNotificationMetadata(signal);\n if (notification?.signal === 'summary' || signal.tagName === 'notification-summary') return 'Notification summary';\n\n const source = notification?.source ?? formatSignalValue(signal.attributes?.source);\n const kind = notification?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (source && kind) return `${source} / ${kind}`;\n return source ?? kind ?? 'Notification';\n};\n\nexport const NotificationSignalNotice = ({ signal }: NotificationSignalNoticeProps) => {\n const notification = getNotificationMetadata(signal);\n const priority = notification?.priority ?? formatSignalValue(signal.attributes?.priority);\n const pending = formatSignalValue(notification?.pending) ?? formatSignalValue(signal.attributes?.pending);\n const status = notification?.status ?? formatSignalValue(signal.attributes?.status);\n const text = signalContentsToText(signal.contents);\n return (\n <NotificationActivity\n label={getNotificationTitle(signal)}\n message={text}\n priority={priority}\n status={status}\n pending={pending}\n />\n );\n};\n"],"names":[],"mappings":";;;;AAQA,MAAM,oBAAA,GAAuB,CAAC,MAAA,KAAuB;AACnD,EAAA,MAAM,YAAA,GAAe,wBAAwB,MAAM,CAAA;AACnD,EAAA,IAAI,cAAc,MAAA,KAAW,SAAA,IAAa,MAAA,CAAO,OAAA,KAAY,wBAAwB,OAAO,sBAAA;AAE5F,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAU,iBAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA,IAAQ,iBAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC5E,EAAA,IAAI,UAAU,IAAA,EAAM,OAAO,CAAA,EAAG,MAAM,MAAM,IAAI,CAAA,CAAA;AAC9C,EAAA,OAAO,UAAU,IAAA,IAAQ,cAAA;AAC3B,CAAA;AAEO,MAAM,wBAAA,GAA2B,CAAC,EAAE,MAAA,EAAO,KAAqC;AACrF,EAAA,MAAM,YAAA,GAAe,wBAAwB,MAAM,CAAA;AACnD,EAAA,MAAM,WAAW,YAAA,EAAc,QAAA,IAAY,iBAAA,CAAkB,MAAA,CAAO,YAAY,QAAQ,CAAA;AACxF,EAAA,MAAM,OAAA,GAAU,kBAAkB,YAAA,EAAc,OAAO,KAAK,iBAAA,CAAkB,MAAA,CAAO,YAAY,OAAO,CAAA;AACxG,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAU,iBAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,IAAA,GAAO,oBAAA,CAAqB,MAAA,CAAO,QAAQ,CAAA;AACjD,EAAA,uBACE,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,qBAAqB,MAAM,CAAA;AAAA,MAClC,OAAA,EAAS,IAAA;AAAA,MACT,QAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"notification-signal-notice.es.js","sources":["../../../../src/domains/chat/messages/notification-signal-notice.tsx"],"sourcesContent":["import { formatSignalValue, getMcpEventSignalInfo, getNotificationMetadata, signalContentsToText } from './signal-data';\nimport type { McpEventSignalInfo, SignalData } from './signal-data';\nimport { NotificationActivity } from '@/ds/components/ai/activity';\nimport { Badge } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip/tooltip';\n\nexport type NotificationSignalNoticeProps = {\n signal: SignalData;\n};\n\nexport const MCP_EVENT_GAP_MESSAGE = 'Gap: events may have been skipped';\nexport const MCP_EVENT_UNTRUSTED_LABEL = 'Untrusted event data from the MCP server';\n\nconst getNotificationTitle = (signal: SignalData) => {\n const notification = getNotificationMetadata(signal);\n if (notification?.signal === 'summary' || signal.tagName === 'notification-summary') return 'Notification summary';\n\n const source = notification?.source ?? formatSignalValue(signal.attributes?.source);\n const kind = notification?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (source && kind) return `${source} / ${kind}`;\n return source ?? kind ?? 'Notification';\n};\n\nconst getMcpEventTitle = (info: McpEventSignalInfo) => {\n const title = [info.server, info.event].filter(Boolean).join(' · ') || 'MCP event';\n return info.kind === 'mcp-event-subscription-ended' ? `${title} · subscription ended` : title;\n};\n\nconst GapBadge = () => (\n <Tooltip>\n <TooltipTrigger render={<span />}>\n <Badge size=\"xs\" variant=\"amber\">\n gap\n </Badge>\n <span className=\"sr-only\">{MCP_EVENT_GAP_MESSAGE}</span>\n </TooltipTrigger>\n <TooltipContent>{MCP_EVENT_GAP_MESSAGE}</TooltipContent>\n </Tooltip>\n);\n\nexport const NotificationSignalNotice = ({ signal }: NotificationSignalNoticeProps) => {\n const notification = getNotificationMetadata(signal);\n const mcpEvent = getMcpEventSignalInfo(signal);\n const priority = notification?.priority ?? formatSignalValue(signal.attributes?.priority);\n const pending = formatSignalValue(notification?.pending) ?? formatSignalValue(signal.attributes?.pending);\n const status = notification?.status ?? formatSignalValue(signal.attributes?.status);\n const text = signalContentsToText(signal.contents);\n return (\n <NotificationActivity\n label={mcpEvent ? getMcpEventTitle(mcpEvent) : getNotificationTitle(signal)}\n message={text}\n priority={priority}\n status={status}\n pending={pending}\n extraBadges={mcpEvent?.truncated ? <GapBadge /> : undefined}\n messageLabel={mcpEvent?.kind === 'mcp-event' ? MCP_EVENT_UNTRUSTED_LABEL : undefined}\n />\n );\n};\n"],"names":[],"mappings":";;;;;;AAUO,MAAM,qBAAA,GAAwB;AAC9B,MAAM,yBAAA,GAA4B;AAEzC,MAAM,oBAAA,GAAuB,CAAC,MAAA,KAAuB;AACnD,EAAA,MAAM,YAAA,GAAe,wBAAwB,MAAM,CAAA;AACnD,EAAA,IAAI,cAAc,MAAA,KAAW,SAAA,IAAa,MAAA,CAAO,OAAA,KAAY,wBAAwB,OAAO,sBAAA;AAE5F,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAU,iBAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,OAAO,YAAA,EAAc,IAAA,IAAQ,iBAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC5E,EAAA,IAAI,UAAU,IAAA,EAAM,OAAO,CAAA,EAAG,MAAM,MAAM,IAAI,CAAA,CAAA;AAC9C,EAAA,OAAO,UAAU,IAAA,IAAQ,cAAA;AAC3B,CAAA;AAEA,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAA6B;AACrD,EAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,CAAK,MAAA,EAAQ,IAAA,CAAK,KAAK,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,KAAK,CAAA,IAAK,WAAA;AACvE,EAAA,OAAO,IAAA,CAAK,IAAA,KAAS,8BAAA,GAAiC,CAAA,EAAG,KAAK,CAAA,qBAAA,CAAA,GAA0B,KAAA;AAC1F,CAAA;AAEA,MAAM,QAAA,GAAW,sBACf,IAAA,CAAC,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAC,cAAA,EAAA,EAAe,MAAA,kBAAQ,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAC5B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,SAAQ,QAAA,EAAA,KAAA,EAEjC,CAAA;AAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,qBAAA,EAAsB;AAAA,GAAA,EACnD,CAAA;AAAA,kBACA,GAAA,CAAC,kBAAgB,QAAA,EAAA,qBAAA,EAAsB;AAAA,CAAA,EACzC,CAAA;AAGK,MAAM,wBAAA,GAA2B,CAAC,EAAE,MAAA,EAAO,KAAqC;AACrF,EAAA,MAAM,YAAA,GAAe,wBAAwB,MAAM,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,sBAAsB,MAAM,CAAA;AAC7C,EAAA,MAAM,WAAW,YAAA,EAAc,QAAA,IAAY,iBAAA,CAAkB,MAAA,CAAO,YAAY,QAAQ,CAAA;AACxF,EAAA,MAAM,OAAA,GAAU,kBAAkB,YAAA,EAAc,OAAO,KAAK,iBAAA,CAAkB,MAAA,CAAO,YAAY,OAAO,CAAA;AACxG,EAAA,MAAM,SAAS,YAAA,EAAc,MAAA,IAAU,iBAAA,CAAkB,MAAA,CAAO,YAAY,MAAM,CAAA;AAClF,EAAA,MAAM,IAAA,GAAO,oBAAA,CAAqB,MAAA,CAAO,QAAQ,CAAA;AACjD,EAAA,uBACE,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,OAAO,QAAA,GAAW,gBAAA,CAAiB,QAAQ,CAAA,GAAI,qBAAqB,MAAM,CAAA;AAAA,MAC1E,OAAA,EAAS,IAAA;AAAA,MACT,QAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA,EAAa,QAAA,EAAU,SAAA,mBAAY,GAAA,CAAC,YAAS,CAAA,GAAK,MAAA;AAAA,MAClD,YAAA,EAAc,QAAA,EAAU,IAAA,KAAS,WAAA,GAAc,yBAAA,GAA4B;AAAA;AAAA,GAC7E;AAEJ;;;;"}
@@ -9,7 +9,7 @@ const domains_chat_messages_tripwireNotice = require('../tripwire-notice.cjs.js'
9
9
  const domains_chat_messages_renderers_messageTextKind = require('./message-text-kind.cjs.js');
10
10
  const Badge = require('../../../../Badge-63UxysBA.cjs');
11
11
  const disclosureChevron = require('../../../../disclosure-chevron-D0KwJ8Zc.cjs');
12
- const markdownRenderer = require('../../../../markdown-renderer-CQ_pSSO7.cjs');
12
+ const markdownRenderer = require('../../../../markdown-renderer-73CdjgS4.cjs');
13
13
  const Notice = require('../../../../Notice-DYgIy4FO.cjs');
14
14
  const icons_Icon = require('../../../../icons/Icon.cjs.js');
15
15
 
@@ -5,7 +5,7 @@ import { TripwireNotice } from '../tripwire-notice.es.js';
5
5
  import { messageTextKind, errorMessage } from './message-text-kind.es.js';
6
6
  import { B as Badge } from '../../../../Badge-CHGARUEW.js';
7
7
  import { D as DisclosureChevron } from '../../../../disclosure-chevron-qzDAjl55.js';
8
- import { M as MarkdownRenderer } from '../../../../markdown-renderer-DEoJ5aBR.js';
8
+ import { M as MarkdownRenderer } from '../../../../markdown-renderer-Qv9-1YIp.js';
9
9
  import { N as Notice } from '../../../../Notice-BioYTS4b.js';
10
10
  import { Icon } from '../../../../icons/Icon.es.js';
11
11
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_chat_messages_reasoningContent = require('../reasoning-content.cjs.js');
7
- const reasoningActivity = require('../../../../reasoning-activity-I5-HcGou.cjs');
7
+ const reasoningActivity = require('../../../../reasoning-activity-BrZbS7pa.cjs');
8
8
 
9
9
  const ReasoningPartRenderer = ({ part, defaultOpen }) => {
10
10
  const content = domains_chat_messages_reasoningContent.getReasoningContent(part);
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { getReasoningContent } from '../reasoning-content.es.js';
3
- import { R as ReasoningActivity } from '../../../../reasoning-activity-Dz2hk9pU.js';
3
+ import { R as ReasoningActivity } from '../../../../reasoning-activity-CyMhxRL2.js';
4
4
 
5
5
  const ReasoningPartRenderer = ({ part, defaultOpen }) => {
6
6
  const content = getReasoningContent(part);
@@ -55,6 +55,17 @@ const toReactiveSignalData = (message) => {
55
55
  ...isRecord(signal.metadata) ? { metadata: signal.metadata } : {}
56
56
  };
57
57
  };
58
+ const getMcpEventSignalInfo = (signal) => {
59
+ const kind = getNotificationMetadata(signal)?.kind ?? formatSignalValue(signal.attributes?.kind);
60
+ if (kind !== "mcp-event" && kind !== "mcp-event-subscription-ended") return void 0;
61
+ const attributes = signal.attributes ?? {};
62
+ return {
63
+ kind,
64
+ server: formatSignalValue(attributes.server) || void 0,
65
+ event: formatSignalValue(attributes.event) || void 0,
66
+ truncated: attributes.truncated === true || attributes.truncated === "true"
67
+ };
68
+ };
58
69
  const getNotificationMetadata = (signal) => {
59
70
  const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : void 0;
60
71
  if (!notification) return void 0;
@@ -70,6 +81,7 @@ const getNotificationMetadata = (signal) => {
70
81
  };
71
82
 
72
83
  exports.formatSignalValue = formatSignalValue;
84
+ exports.getMcpEventSignalInfo = getMcpEventSignalInfo;
73
85
  exports.getNotificationMetadata = getNotificationMetadata;
74
86
  exports.getSignalType = getSignalType;
75
87
  exports.isRecord = isRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"signal-data.cjs.js","sources":["../../../../src/domains/chat/messages/signal-data.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\n\nexport type SignalData = {\n id?: string;\n type?: string;\n tagName?: string;\n contents?: unknown;\n attributes?: Record<string, string | number | boolean | null | undefined>;\n metadata?: Record<string, unknown>;\n};\n\nexport type NotificationSignalMetadata = {\n signal?: 'notification' | 'summary';\n recordId?: string;\n source?: string;\n kind?: string;\n priority?: string;\n status?: string;\n pending?: number;\n};\n\nexport const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const signalContentsToText = (contents: unknown): string => {\n if (typeof contents === 'string') return contents;\n if (!Array.isArray(contents)) return '';\n\n return contents\n .flatMap(part => {\n if (!isRecord(part)) return [];\n return part.type === 'text' && typeof part.text === 'string' && part.text.length > 0 ? [part.text] : [];\n })\n .join('\\n');\n};\n\nexport const formatSignalValue = (value: unknown): string | undefined => {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean') return String(value);\n return undefined;\n};\n\nexport const isSignalData = (value: unknown): value is SignalData => {\n if (!isRecord(value)) return false;\n return value.type === 'notification' || value.type === 'state' || value.type === 'reactive';\n};\n\nconst getSignalMetadata = (message: MastraDBMessage): Record<string, unknown> | undefined => {\n const signal = message.content.metadata?.signal;\n return isRecord(signal) ? signal : undefined;\n};\n\n/**\n * Resolve the signal type for a persisted `role: 'signal'` message, mirroring\n * core's `getSignalType`. The type is stored under `content.metadata.signal.type`,\n * falling back to the top-level `message.type`.\n */\nexport const getSignalType = (message: MastraDBMessage): string | undefined => {\n const type = getSignalMetadata(message)?.type;\n return typeof type === 'string' ? type : message.type;\n};\n\n/**\n * User-message signals (the persisted echo of a user turn sent via `sendSignal`)\n * use `type: 'user'` or `'user-message'`. They render as a user message on\n * reload. Every other signal is a reactive/non-user signal that mirrors the\n * streaming accumulator's `data-signal` behavior: a signal badge folded onto an\n * assistant message.\n */\nexport const isUserSignalType = (type: string | undefined): boolean => type === 'user' || type === 'user-message';\n\nconst signalPartsToContents = (parts: MastraDBMessage['content']['parts']): unknown => {\n const contents: Array<{ type: 'text'; text: string } | { type: 'file'; data: string; mediaType: string }> = [];\n for (const rawPart of parts) {\n const part = rawPart as Record<string, unknown>;\n if (part.type === 'text' && typeof part.text === 'string') {\n contents.push({ type: 'text', text: part.text });\n continue;\n }\n if (part.type === 'file' && typeof part.data === 'string') {\n const mediaType =\n (typeof part.mediaType === 'string' ? part.mediaType : undefined) ??\n (typeof part.mimeType === 'string' ? part.mimeType : undefined) ??\n 'application/octet-stream';\n contents.push({ type: 'file', data: part.data, mediaType });\n }\n }\n return contents.length === 1 && contents[0]?.type === 'text' ? contents[0].text : contents;\n};\n\n/**\n * Build the `data-signal` payload for a persisted reactive signal row so the\n * existing `SignalBadge` can render it on read-back. Mirrors the 1.41.0\n * `to-assistant-ui-message` conversion that was lost when the chat renderer was\n * rewritten (PR #17774).\n */\nexport const toReactiveSignalData = (message: MastraDBMessage): SignalData => {\n const signal = getSignalMetadata(message) ?? {};\n return {\n id: typeof signal.id === 'string' ? signal.id : message.id,\n type: getSignalType(message),\n tagName: typeof signal.tagName === 'string' ? signal.tagName : message.type,\n contents: signalPartsToContents(message.content.parts),\n ...(isRecord(signal.attributes) ? { attributes: signal.attributes as SignalData['attributes'] } : {}),\n ...(isRecord(signal.metadata) ? { metadata: signal.metadata } : {}),\n };\n};\n\nexport const getNotificationMetadata = (signal: SignalData): NotificationSignalMetadata | undefined => {\n const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : undefined;\n if (!notification) return undefined;\n\n return {\n signal:\n notification.signal === 'notification' || notification.signal === 'summary' ? notification.signal : undefined,\n recordId: typeof notification.recordId === 'string' ? notification.recordId : undefined,\n source: typeof notification.source === 'string' ? notification.source : undefined,\n kind: typeof notification.kind === 'string' ? notification.kind : undefined,\n priority: typeof notification.priority === 'string' ? notification.priority : undefined,\n status: typeof notification.status === 'string' ? notification.status : undefined,\n pending: typeof notification.pending === 'number' ? notification.pending : undefined,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-data.cjs.js","sources":["../../../../src/domains/chat/messages/signal-data.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\n\nexport type SignalData = {\n id?: string;\n type?: string;\n tagName?: string;\n contents?: unknown;\n attributes?: Record<string, string | number | boolean | null | undefined>;\n metadata?: Record<string, unknown>;\n};\n\nexport type NotificationSignalMetadata = {\n signal?: 'notification' | 'summary';\n recordId?: string;\n source?: string;\n kind?: string;\n priority?: string;\n status?: string;\n pending?: number;\n};\n\nexport const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const signalContentsToText = (contents: unknown): string => {\n if (typeof contents === 'string') return contents;\n if (!Array.isArray(contents)) return '';\n\n return contents\n .flatMap(part => {\n if (!isRecord(part)) return [];\n return part.type === 'text' && typeof part.text === 'string' && part.text.length > 0 ? [part.text] : [];\n })\n .join('\\n');\n};\n\nexport const formatSignalValue = (value: unknown): string | undefined => {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean') return String(value);\n return undefined;\n};\n\nexport const isSignalData = (value: unknown): value is SignalData => {\n if (!isRecord(value)) return false;\n return value.type === 'notification' || value.type === 'state' || value.type === 'reactive';\n};\n\nconst getSignalMetadata = (message: MastraDBMessage): Record<string, unknown> | undefined => {\n const signal = message.content.metadata?.signal;\n return isRecord(signal) ? signal : undefined;\n};\n\n/**\n * Resolve the signal type for a persisted `role: 'signal'` message, mirroring\n * core's `getSignalType`. The type is stored under `content.metadata.signal.type`,\n * falling back to the top-level `message.type`.\n */\nexport const getSignalType = (message: MastraDBMessage): string | undefined => {\n const type = getSignalMetadata(message)?.type;\n return typeof type === 'string' ? type : message.type;\n};\n\n/**\n * User-message signals (the persisted echo of a user turn sent via `sendSignal`)\n * use `type: 'user'` or `'user-message'`. They render as a user message on\n * reload. Every other signal is a reactive/non-user signal that mirrors the\n * streaming accumulator's `data-signal` behavior: a signal badge folded onto an\n * assistant message.\n */\nexport const isUserSignalType = (type: string | undefined): boolean => type === 'user' || type === 'user-message';\n\nconst signalPartsToContents = (parts: MastraDBMessage['content']['parts']): unknown => {\n const contents: Array<{ type: 'text'; text: string } | { type: 'file'; data: string; mediaType: string }> = [];\n for (const rawPart of parts) {\n const part = rawPart as Record<string, unknown>;\n if (part.type === 'text' && typeof part.text === 'string') {\n contents.push({ type: 'text', text: part.text });\n continue;\n }\n if (part.type === 'file' && typeof part.data === 'string') {\n const mediaType =\n (typeof part.mediaType === 'string' ? part.mediaType : undefined) ??\n (typeof part.mimeType === 'string' ? part.mimeType : undefined) ??\n 'application/octet-stream';\n contents.push({ type: 'file', data: part.data, mediaType });\n }\n }\n return contents.length === 1 && contents[0]?.type === 'text' ? contents[0].text : contents;\n};\n\n/**\n * Build the `data-signal` payload for a persisted reactive signal row so the\n * existing `SignalBadge` can render it on read-back. Mirrors the 1.41.0\n * `to-assistant-ui-message` conversion that was lost when the chat renderer was\n * rewritten (PR #17774).\n */\nexport const toReactiveSignalData = (message: MastraDBMessage): SignalData => {\n const signal = getSignalMetadata(message) ?? {};\n return {\n id: typeof signal.id === 'string' ? signal.id : message.id,\n type: getSignalType(message),\n tagName: typeof signal.tagName === 'string' ? signal.tagName : message.type,\n contents: signalPartsToContents(message.content.parts),\n ...(isRecord(signal.attributes) ? { attributes: signal.attributes as SignalData['attributes'] } : {}),\n ...(isRecord(signal.metadata) ? { metadata: signal.metadata } : {}),\n };\n};\n\nexport type McpEventSignalInfo = {\n kind: 'mcp-event' | 'mcp-event-subscription-ended';\n server?: string;\n event?: string;\n /** The occurrence followed a gap: events may have been skipped. */\n truncated: boolean;\n};\n\n/** Server, event and gap flag of an MCP event notification (`@mastra/mcp` event signals); undefined for any other signal. */\nexport const getMcpEventSignalInfo = (signal: SignalData): McpEventSignalInfo | undefined => {\n const kind = getNotificationMetadata(signal)?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (kind !== 'mcp-event' && kind !== 'mcp-event-subscription-ended') return undefined;\n const attributes = signal.attributes ?? {};\n return {\n kind,\n server: formatSignalValue(attributes.server) || undefined,\n event: formatSignalValue(attributes.event) || undefined,\n truncated: attributes.truncated === true || attributes.truncated === 'true',\n };\n};\n\nexport const getNotificationMetadata = (signal: SignalData): NotificationSignalMetadata | undefined => {\n const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : undefined;\n if (!notification) return undefined;\n\n return {\n signal:\n notification.signal === 'notification' || notification.signal === 'summary' ? notification.signal : undefined,\n recordId: typeof notification.recordId === 'string' ? notification.recordId : undefined,\n source: typeof notification.source === 'string' ? notification.source : undefined,\n kind: typeof notification.kind === 'string' ? notification.kind : undefined,\n priority: typeof notification.priority === 'string' ? notification.priority : undefined,\n status: typeof notification.status === 'string' ? notification.status : undefined,\n pending: typeof notification.pending === 'number' ? notification.pending : undefined,\n };\n};\n"],"names":[],"mappings":";;;;AAqBO,MAAM,QAAA,GAAW,CAAC,KAAA,KACvB,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK;AAE9D,MAAM,oBAAA,GAAuB,CAAC,QAAA,KAA8B;AACjE,EAAA,IAAI,OAAO,QAAA,KAAa,QAAA,EAAU,OAAO,QAAA;AACzC,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,QAAQ,GAAG,OAAO,EAAA;AAErC,EAAA,OAAO,QAAA,CACJ,QAAQ,CAAA,IAAA,KAAQ;AACf,IAAA,IAAI,CAAC,QAAA,CAAS,IAAI,CAAA,SAAU,EAAC;AAC7B,IAAA,OAAO,IAAA,CAAK,IAAA,KAAS,MAAA,IAAU,OAAO,KAAK,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,IAAA,CAAK,SAAS,CAAA,GAAI,CAAC,IAAA,CAAK,IAAI,IAAI,EAAC;AAAA,EACxG,CAAC,CAAA,CACA,IAAA,CAAK,IAAI,CAAA;AACd;AAEO,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAuC;AACvE,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AACtC,EAAA,IAAI,OAAO,UAAU,QAAA,IAAY,OAAO,UAAU,SAAA,EAAW,OAAO,OAAO,KAAK,CAAA;AAChF,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,YAAA,GAAe,CAAC,KAAA,KAAwC;AACnE,EAAA,IAAI,CAAC,QAAA,CAAS,KAAK,CAAA,EAAG,OAAO,KAAA;AAC7B,EAAA,OAAO,MAAM,IAAA,KAAS,cAAA,IAAkB,MAAM,IAAA,KAAS,OAAA,IAAW,MAAM,IAAA,KAAS,UAAA;AACnF;AAEA,MAAM,iBAAA,GAAoB,CAAC,OAAA,KAAkE;AAC3F,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,OAAA,CAAQ,QAAA,EAAU,MAAA;AACzC,EAAA,OAAO,QAAA,CAAS,MAAM,CAAA,GAAI,MAAA,GAAS,MAAA;AACrC,CAAA;AAOO,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAiD;AAC7E,EAAA,MAAM,IAAA,GAAO,iBAAA,CAAkB,OAAO,CAAA,EAAG,IAAA;AACzC,EAAA,OAAO,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,OAAA,CAAQ,IAAA;AACnD;AASO,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAsC,IAAA,KAAS,UAAU,IAAA,KAAS;AAEnG,MAAM,qBAAA,GAAwB,CAAC,KAAA,KAAwD;AACrF,EAAA,MAAM,WAAsG,EAAC;AAC7G,EAAA,KAAA,MAAW,WAAW,KAAA,EAAO;AAC3B,IAAA,MAAM,IAAA,GAAO,OAAA;AACb,IAAA,IAAI,KAAK,IAAA,KAAS,MAAA,IAAU,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AACzD,MAAA,QAAA,CAAS,KAAK,EAAE,IAAA,EAAM,QAAQ,IAAA,EAAM,IAAA,CAAK,MAAM,CAAA;AAC/C,MAAA;AAAA,IACF;AACA,IAAA,IAAI,KAAK,IAAA,KAAS,MAAA,IAAU,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AACzD,MAAA,MAAM,SAAA,GAAA,CACH,OAAO,IAAA,CAAK,SAAA,KAAc,WAAW,IAAA,CAAK,SAAA,GAAY,MAAA,MACtD,OAAO,IAAA,CAAK,QAAA,KAAa,QAAA,GAAW,IAAA,CAAK,WAAW,MAAA,CAAA,IACrD,0BAAA;AACF,MAAA,QAAA,CAAS,IAAA,CAAK,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAM,IAAA,CAAK,IAAA,EAAM,WAAW,CAAA;AAAA,IAC5D;AAAA,EACF;AACA,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,CAAA,IAAK,QAAA,CAAS,CAAC,CAAA,EAAG,IAAA,KAAS,MAAA,GAAS,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,GAAO,QAAA;AACpF,CAAA;AAQO,MAAM,oBAAA,GAAuB,CAAC,OAAA,KAAyC;AAC5E,EAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,OAAO,CAAA,IAAK,EAAC;AAC9C,EAAA,OAAO;AAAA,IACL,IAAI,OAAO,MAAA,CAAO,OAAO,QAAA,GAAW,MAAA,CAAO,KAAK,OAAA,CAAQ,EAAA;AAAA,IACxD,IAAA,EAAM,cAAc,OAAO,CAAA;AAAA,IAC3B,SAAS,OAAO,MAAA,CAAO,YAAY,QAAA,GAAW,MAAA,CAAO,UAAU,OAAA,CAAQ,IAAA;AAAA,IACvE,QAAA,EAAU,qBAAA,CAAsB,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAA;AAAA,IACrD,GAAI,QAAA,CAAS,MAAA,CAAO,UAAU,CAAA,GAAI,EAAE,UAAA,EAAY,MAAA,CAAO,UAAA,EAAuC,GAAI,EAAC;AAAA,IACnG,GAAI,QAAA,CAAS,MAAA,CAAO,QAAQ,CAAA,GAAI,EAAE,QAAA,EAAU,MAAA,CAAO,QAAA,EAAS,GAAI;AAAC,GACnE;AACF;AAWO,MAAM,qBAAA,GAAwB,CAAC,MAAA,KAAuD;AAC3F,EAAA,MAAM,IAAA,GAAO,wBAAwB,MAAM,CAAA,EAAG,QAAQ,iBAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC/F,EAAA,IAAI,IAAA,KAAS,WAAA,IAAe,IAAA,KAAS,8BAAA,EAAgC,OAAO,MAAA;AAC5E,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,UAAA,IAAc,EAAC;AACzC,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,MAAA,EAAQ,iBAAA,CAAkB,UAAA,CAAW,MAAM,CAAA,IAAK,MAAA;AAAA,IAChD,KAAA,EAAO,iBAAA,CAAkB,UAAA,CAAW,KAAK,CAAA,IAAK,MAAA;AAAA,IAC9C,SAAA,EAAW,UAAA,CAAW,SAAA,KAAc,IAAA,IAAQ,WAAW,SAAA,KAAc;AAAA,GACvE;AACF;AAEO,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAA+D;AACrG,EAAA,MAAM,YAAA,GAAe,SAAS,MAAA,CAAO,QAAA,EAAU,YAAY,CAAA,GAAI,MAAA,CAAO,SAAS,YAAA,GAAe,MAAA;AAC9F,EAAA,IAAI,CAAC,cAAc,OAAO,MAAA;AAE1B,EAAA,OAAO;AAAA,IACL,MAAA,EACE,aAAa,MAAA,KAAW,cAAA,IAAkB,aAAa,MAAA,KAAW,SAAA,GAAY,aAAa,MAAA,GAAS,MAAA;AAAA,IACtG,UAAU,OAAO,YAAA,CAAa,QAAA,KAAa,QAAA,GAAW,aAAa,QAAA,GAAW,MAAA;AAAA,IAC9E,QAAQ,OAAO,YAAA,CAAa,MAAA,KAAW,QAAA,GAAW,aAAa,MAAA,GAAS,MAAA;AAAA,IACxE,MAAM,OAAO,YAAA,CAAa,IAAA,KAAS,QAAA,GAAW,aAAa,IAAA,GAAO,MAAA;AAAA,IAClE,UAAU,OAAO,YAAA,CAAa,QAAA,KAAa,QAAA,GAAW,aAAa,QAAA,GAAW,MAAA;AAAA,IAC9E,QAAQ,OAAO,YAAA,CAAa,MAAA,KAAW,QAAA,GAAW,aAAa,MAAA,GAAS,MAAA;AAAA,IACxE,SAAS,OAAO,YAAA,CAAa,OAAA,KAAY,QAAA,GAAW,aAAa,OAAA,GAAU;AAAA,GAC7E;AACF;;;;;;;;;;;;"}
@@ -51,6 +51,17 @@ const toReactiveSignalData = (message) => {
51
51
  ...isRecord(signal.metadata) ? { metadata: signal.metadata } : {}
52
52
  };
53
53
  };
54
+ const getMcpEventSignalInfo = (signal) => {
55
+ const kind = getNotificationMetadata(signal)?.kind ?? formatSignalValue(signal.attributes?.kind);
56
+ if (kind !== "mcp-event" && kind !== "mcp-event-subscription-ended") return void 0;
57
+ const attributes = signal.attributes ?? {};
58
+ return {
59
+ kind,
60
+ server: formatSignalValue(attributes.server) || void 0,
61
+ event: formatSignalValue(attributes.event) || void 0,
62
+ truncated: attributes.truncated === true || attributes.truncated === "true"
63
+ };
64
+ };
54
65
  const getNotificationMetadata = (signal) => {
55
66
  const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : void 0;
56
67
  if (!notification) return void 0;
@@ -65,5 +76,5 @@ const getNotificationMetadata = (signal) => {
65
76
  };
66
77
  };
67
78
 
68
- export { formatSignalValue, getNotificationMetadata, getSignalType, isRecord, isSignalData, isUserSignalType, signalContentsToText, toReactiveSignalData };
79
+ export { formatSignalValue, getMcpEventSignalInfo, getNotificationMetadata, getSignalType, isRecord, isSignalData, isUserSignalType, signalContentsToText, toReactiveSignalData };
69
80
  //# sourceMappingURL=signal-data.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal-data.es.js","sources":["../../../../src/domains/chat/messages/signal-data.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\n\nexport type SignalData = {\n id?: string;\n type?: string;\n tagName?: string;\n contents?: unknown;\n attributes?: Record<string, string | number | boolean | null | undefined>;\n metadata?: Record<string, unknown>;\n};\n\nexport type NotificationSignalMetadata = {\n signal?: 'notification' | 'summary';\n recordId?: string;\n source?: string;\n kind?: string;\n priority?: string;\n status?: string;\n pending?: number;\n};\n\nexport const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const signalContentsToText = (contents: unknown): string => {\n if (typeof contents === 'string') return contents;\n if (!Array.isArray(contents)) return '';\n\n return contents\n .flatMap(part => {\n if (!isRecord(part)) return [];\n return part.type === 'text' && typeof part.text === 'string' && part.text.length > 0 ? [part.text] : [];\n })\n .join('\\n');\n};\n\nexport const formatSignalValue = (value: unknown): string | undefined => {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean') return String(value);\n return undefined;\n};\n\nexport const isSignalData = (value: unknown): value is SignalData => {\n if (!isRecord(value)) return false;\n return value.type === 'notification' || value.type === 'state' || value.type === 'reactive';\n};\n\nconst getSignalMetadata = (message: MastraDBMessage): Record<string, unknown> | undefined => {\n const signal = message.content.metadata?.signal;\n return isRecord(signal) ? signal : undefined;\n};\n\n/**\n * Resolve the signal type for a persisted `role: 'signal'` message, mirroring\n * core's `getSignalType`. The type is stored under `content.metadata.signal.type`,\n * falling back to the top-level `message.type`.\n */\nexport const getSignalType = (message: MastraDBMessage): string | undefined => {\n const type = getSignalMetadata(message)?.type;\n return typeof type === 'string' ? type : message.type;\n};\n\n/**\n * User-message signals (the persisted echo of a user turn sent via `sendSignal`)\n * use `type: 'user'` or `'user-message'`. They render as a user message on\n * reload. Every other signal is a reactive/non-user signal that mirrors the\n * streaming accumulator's `data-signal` behavior: a signal badge folded onto an\n * assistant message.\n */\nexport const isUserSignalType = (type: string | undefined): boolean => type === 'user' || type === 'user-message';\n\nconst signalPartsToContents = (parts: MastraDBMessage['content']['parts']): unknown => {\n const contents: Array<{ type: 'text'; text: string } | { type: 'file'; data: string; mediaType: string }> = [];\n for (const rawPart of parts) {\n const part = rawPart as Record<string, unknown>;\n if (part.type === 'text' && typeof part.text === 'string') {\n contents.push({ type: 'text', text: part.text });\n continue;\n }\n if (part.type === 'file' && typeof part.data === 'string') {\n const mediaType =\n (typeof part.mediaType === 'string' ? part.mediaType : undefined) ??\n (typeof part.mimeType === 'string' ? part.mimeType : undefined) ??\n 'application/octet-stream';\n contents.push({ type: 'file', data: part.data, mediaType });\n }\n }\n return contents.length === 1 && contents[0]?.type === 'text' ? contents[0].text : contents;\n};\n\n/**\n * Build the `data-signal` payload for a persisted reactive signal row so the\n * existing `SignalBadge` can render it on read-back. Mirrors the 1.41.0\n * `to-assistant-ui-message` conversion that was lost when the chat renderer was\n * rewritten (PR #17774).\n */\nexport const toReactiveSignalData = (message: MastraDBMessage): SignalData => {\n const signal = getSignalMetadata(message) ?? {};\n return {\n id: typeof signal.id === 'string' ? signal.id : message.id,\n type: getSignalType(message),\n tagName: typeof signal.tagName === 'string' ? signal.tagName : message.type,\n contents: signalPartsToContents(message.content.parts),\n ...(isRecord(signal.attributes) ? { attributes: signal.attributes as SignalData['attributes'] } : {}),\n ...(isRecord(signal.metadata) ? { metadata: signal.metadata } : {}),\n };\n};\n\nexport const getNotificationMetadata = (signal: SignalData): NotificationSignalMetadata | undefined => {\n const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : undefined;\n if (!notification) return undefined;\n\n return {\n signal:\n notification.signal === 'notification' || notification.signal === 'summary' ? notification.signal : undefined,\n recordId: typeof notification.recordId === 'string' ? notification.recordId : undefined,\n source: typeof notification.source === 'string' ? notification.source : undefined,\n kind: typeof notification.kind === 'string' ? notification.kind : undefined,\n priority: typeof notification.priority === 'string' ? notification.priority : undefined,\n status: typeof notification.status === 'string' ? notification.status : undefined,\n pending: typeof notification.pending === 'number' ? notification.pending : undefined,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signal-data.es.js","sources":["../../../../src/domains/chat/messages/signal-data.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\n\nexport type SignalData = {\n id?: string;\n type?: string;\n tagName?: string;\n contents?: unknown;\n attributes?: Record<string, string | number | boolean | null | undefined>;\n metadata?: Record<string, unknown>;\n};\n\nexport type NotificationSignalMetadata = {\n signal?: 'notification' | 'summary';\n recordId?: string;\n source?: string;\n kind?: string;\n priority?: string;\n status?: string;\n pending?: number;\n};\n\nexport const isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const signalContentsToText = (contents: unknown): string => {\n if (typeof contents === 'string') return contents;\n if (!Array.isArray(contents)) return '';\n\n return contents\n .flatMap(part => {\n if (!isRecord(part)) return [];\n return part.type === 'text' && typeof part.text === 'string' && part.text.length > 0 ? [part.text] : [];\n })\n .join('\\n');\n};\n\nexport const formatSignalValue = (value: unknown): string | undefined => {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean') return String(value);\n return undefined;\n};\n\nexport const isSignalData = (value: unknown): value is SignalData => {\n if (!isRecord(value)) return false;\n return value.type === 'notification' || value.type === 'state' || value.type === 'reactive';\n};\n\nconst getSignalMetadata = (message: MastraDBMessage): Record<string, unknown> | undefined => {\n const signal = message.content.metadata?.signal;\n return isRecord(signal) ? signal : undefined;\n};\n\n/**\n * Resolve the signal type for a persisted `role: 'signal'` message, mirroring\n * core's `getSignalType`. The type is stored under `content.metadata.signal.type`,\n * falling back to the top-level `message.type`.\n */\nexport const getSignalType = (message: MastraDBMessage): string | undefined => {\n const type = getSignalMetadata(message)?.type;\n return typeof type === 'string' ? type : message.type;\n};\n\n/**\n * User-message signals (the persisted echo of a user turn sent via `sendSignal`)\n * use `type: 'user'` or `'user-message'`. They render as a user message on\n * reload. Every other signal is a reactive/non-user signal that mirrors the\n * streaming accumulator's `data-signal` behavior: a signal badge folded onto an\n * assistant message.\n */\nexport const isUserSignalType = (type: string | undefined): boolean => type === 'user' || type === 'user-message';\n\nconst signalPartsToContents = (parts: MastraDBMessage['content']['parts']): unknown => {\n const contents: Array<{ type: 'text'; text: string } | { type: 'file'; data: string; mediaType: string }> = [];\n for (const rawPart of parts) {\n const part = rawPart as Record<string, unknown>;\n if (part.type === 'text' && typeof part.text === 'string') {\n contents.push({ type: 'text', text: part.text });\n continue;\n }\n if (part.type === 'file' && typeof part.data === 'string') {\n const mediaType =\n (typeof part.mediaType === 'string' ? part.mediaType : undefined) ??\n (typeof part.mimeType === 'string' ? part.mimeType : undefined) ??\n 'application/octet-stream';\n contents.push({ type: 'file', data: part.data, mediaType });\n }\n }\n return contents.length === 1 && contents[0]?.type === 'text' ? contents[0].text : contents;\n};\n\n/**\n * Build the `data-signal` payload for a persisted reactive signal row so the\n * existing `SignalBadge` can render it on read-back. Mirrors the 1.41.0\n * `to-assistant-ui-message` conversion that was lost when the chat renderer was\n * rewritten (PR #17774).\n */\nexport const toReactiveSignalData = (message: MastraDBMessage): SignalData => {\n const signal = getSignalMetadata(message) ?? {};\n return {\n id: typeof signal.id === 'string' ? signal.id : message.id,\n type: getSignalType(message),\n tagName: typeof signal.tagName === 'string' ? signal.tagName : message.type,\n contents: signalPartsToContents(message.content.parts),\n ...(isRecord(signal.attributes) ? { attributes: signal.attributes as SignalData['attributes'] } : {}),\n ...(isRecord(signal.metadata) ? { metadata: signal.metadata } : {}),\n };\n};\n\nexport type McpEventSignalInfo = {\n kind: 'mcp-event' | 'mcp-event-subscription-ended';\n server?: string;\n event?: string;\n /** The occurrence followed a gap: events may have been skipped. */\n truncated: boolean;\n};\n\n/** Server, event and gap flag of an MCP event notification (`@mastra/mcp` event signals); undefined for any other signal. */\nexport const getMcpEventSignalInfo = (signal: SignalData): McpEventSignalInfo | undefined => {\n const kind = getNotificationMetadata(signal)?.kind ?? formatSignalValue(signal.attributes?.kind);\n if (kind !== 'mcp-event' && kind !== 'mcp-event-subscription-ended') return undefined;\n const attributes = signal.attributes ?? {};\n return {\n kind,\n server: formatSignalValue(attributes.server) || undefined,\n event: formatSignalValue(attributes.event) || undefined,\n truncated: attributes.truncated === true || attributes.truncated === 'true',\n };\n};\n\nexport const getNotificationMetadata = (signal: SignalData): NotificationSignalMetadata | undefined => {\n const notification = isRecord(signal.metadata?.notification) ? signal.metadata.notification : undefined;\n if (!notification) return undefined;\n\n return {\n signal:\n notification.signal === 'notification' || notification.signal === 'summary' ? notification.signal : undefined,\n recordId: typeof notification.recordId === 'string' ? notification.recordId : undefined,\n source: typeof notification.source === 'string' ? notification.source : undefined,\n kind: typeof notification.kind === 'string' ? notification.kind : undefined,\n priority: typeof notification.priority === 'string' ? notification.priority : undefined,\n status: typeof notification.status === 'string' ? notification.status : undefined,\n pending: typeof notification.pending === 'number' ? notification.pending : undefined,\n };\n};\n"],"names":[],"mappings":"AAqBO,MAAM,QAAA,GAAW,CAAC,KAAA,KACvB,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK;AAE9D,MAAM,oBAAA,GAAuB,CAAC,QAAA,KAA8B;AACjE,EAAA,IAAI,OAAO,QAAA,KAAa,QAAA,EAAU,OAAO,QAAA;AACzC,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,QAAQ,GAAG,OAAO,EAAA;AAErC,EAAA,OAAO,QAAA,CACJ,QAAQ,CAAA,IAAA,KAAQ;AACf,IAAA,IAAI,CAAC,QAAA,CAAS,IAAI,CAAA,SAAU,EAAC;AAC7B,IAAA,OAAO,IAAA,CAAK,IAAA,KAAS,MAAA,IAAU,OAAO,KAAK,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,IAAA,CAAK,SAAS,CAAA,GAAI,CAAC,IAAA,CAAK,IAAI,IAAI,EAAC;AAAA,EACxG,CAAC,CAAA,CACA,IAAA,CAAK,IAAI,CAAA;AACd;AAEO,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAuC;AACvE,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,EAAU,OAAO,KAAA;AACtC,EAAA,IAAI,OAAO,UAAU,QAAA,IAAY,OAAO,UAAU,SAAA,EAAW,OAAO,OAAO,KAAK,CAAA;AAChF,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,YAAA,GAAe,CAAC,KAAA,KAAwC;AACnE,EAAA,IAAI,CAAC,QAAA,CAAS,KAAK,CAAA,EAAG,OAAO,KAAA;AAC7B,EAAA,OAAO,MAAM,IAAA,KAAS,cAAA,IAAkB,MAAM,IAAA,KAAS,OAAA,IAAW,MAAM,IAAA,KAAS,UAAA;AACnF;AAEA,MAAM,iBAAA,GAAoB,CAAC,OAAA,KAAkE;AAC3F,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,OAAA,CAAQ,QAAA,EAAU,MAAA;AACzC,EAAA,OAAO,QAAA,CAAS,MAAM,CAAA,GAAI,MAAA,GAAS,MAAA;AACrC,CAAA;AAOO,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAiD;AAC7E,EAAA,MAAM,IAAA,GAAO,iBAAA,CAAkB,OAAO,CAAA,EAAG,IAAA;AACzC,EAAA,OAAO,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,OAAA,CAAQ,IAAA;AACnD;AASO,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAsC,IAAA,KAAS,UAAU,IAAA,KAAS;AAEnG,MAAM,qBAAA,GAAwB,CAAC,KAAA,KAAwD;AACrF,EAAA,MAAM,WAAsG,EAAC;AAC7G,EAAA,KAAA,MAAW,WAAW,KAAA,EAAO;AAC3B,IAAA,MAAM,IAAA,GAAO,OAAA;AACb,IAAA,IAAI,KAAK,IAAA,KAAS,MAAA,IAAU,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AACzD,MAAA,QAAA,CAAS,KAAK,EAAE,IAAA,EAAM,QAAQ,IAAA,EAAM,IAAA,CAAK,MAAM,CAAA;AAC/C,MAAA;AAAA,IACF;AACA,IAAA,IAAI,KAAK,IAAA,KAAS,MAAA,IAAU,OAAO,IAAA,CAAK,SAAS,QAAA,EAAU;AACzD,MAAA,MAAM,SAAA,GAAA,CACH,OAAO,IAAA,CAAK,SAAA,KAAc,WAAW,IAAA,CAAK,SAAA,GAAY,MAAA,MACtD,OAAO,IAAA,CAAK,QAAA,KAAa,QAAA,GAAW,IAAA,CAAK,WAAW,MAAA,CAAA,IACrD,0BAAA;AACF,MAAA,QAAA,CAAS,IAAA,CAAK,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAM,IAAA,CAAK,IAAA,EAAM,WAAW,CAAA;AAAA,IAC5D;AAAA,EACF;AACA,EAAA,OAAO,QAAA,CAAS,MAAA,KAAW,CAAA,IAAK,QAAA,CAAS,CAAC,CAAA,EAAG,IAAA,KAAS,MAAA,GAAS,QAAA,CAAS,CAAC,CAAA,CAAE,IAAA,GAAO,QAAA;AACpF,CAAA;AAQO,MAAM,oBAAA,GAAuB,CAAC,OAAA,KAAyC;AAC5E,EAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,OAAO,CAAA,IAAK,EAAC;AAC9C,EAAA,OAAO;AAAA,IACL,IAAI,OAAO,MAAA,CAAO,OAAO,QAAA,GAAW,MAAA,CAAO,KAAK,OAAA,CAAQ,EAAA;AAAA,IACxD,IAAA,EAAM,cAAc,OAAO,CAAA;AAAA,IAC3B,SAAS,OAAO,MAAA,CAAO,YAAY,QAAA,GAAW,MAAA,CAAO,UAAU,OAAA,CAAQ,IAAA;AAAA,IACvE,QAAA,EAAU,qBAAA,CAAsB,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAA;AAAA,IACrD,GAAI,QAAA,CAAS,MAAA,CAAO,UAAU,CAAA,GAAI,EAAE,UAAA,EAAY,MAAA,CAAO,UAAA,EAAuC,GAAI,EAAC;AAAA,IACnG,GAAI,QAAA,CAAS,MAAA,CAAO,QAAQ,CAAA,GAAI,EAAE,QAAA,EAAU,MAAA,CAAO,QAAA,EAAS,GAAI;AAAC,GACnE;AACF;AAWO,MAAM,qBAAA,GAAwB,CAAC,MAAA,KAAuD;AAC3F,EAAA,MAAM,IAAA,GAAO,wBAAwB,MAAM,CAAA,EAAG,QAAQ,iBAAA,CAAkB,MAAA,CAAO,YAAY,IAAI,CAAA;AAC/F,EAAA,IAAI,IAAA,KAAS,WAAA,IAAe,IAAA,KAAS,8BAAA,EAAgC,OAAO,MAAA;AAC5E,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,UAAA,IAAc,EAAC;AACzC,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,MAAA,EAAQ,iBAAA,CAAkB,UAAA,CAAW,MAAM,CAAA,IAAK,MAAA;AAAA,IAChD,KAAA,EAAO,iBAAA,CAAkB,UAAA,CAAW,KAAK,CAAA,IAAK,MAAA;AAAA,IAC9C,SAAA,EAAW,UAAA,CAAW,SAAA,KAAc,IAAA,IAAQ,WAAW,SAAA,KAAc;AAAA,GACvE;AACF;AAEO,MAAM,uBAAA,GAA0B,CAAC,MAAA,KAA+D;AACrG,EAAA,MAAM,YAAA,GAAe,SAAS,MAAA,CAAO,QAAA,EAAU,YAAY,CAAA,GAAI,MAAA,CAAO,SAAS,YAAA,GAAe,MAAA;AAC9F,EAAA,IAAI,CAAC,cAAc,OAAO,MAAA;AAE1B,EAAA,OAAO;AAAA,IACL,MAAA,EACE,aAAa,MAAA,KAAW,cAAA,IAAkB,aAAa,MAAA,KAAW,SAAA,GAAY,aAAa,MAAA,GAAS,MAAA;AAAA,IACtG,UAAU,OAAO,YAAA,CAAa,QAAA,KAAa,QAAA,GAAW,aAAa,QAAA,GAAW,MAAA;AAAA,IAC9E,QAAQ,OAAO,YAAA,CAAa,MAAA,KAAW,QAAA,GAAW,aAAa,MAAA,GAAS,MAAA;AAAA,IACxE,MAAM,OAAO,YAAA,CAAa,IAAA,KAAS,QAAA,GAAW,aAAa,IAAA,GAAO,MAAA;AAAA,IAClE,UAAU,OAAO,YAAA,CAAa,QAAA,KAAa,QAAA,GAAW,aAAa,QAAA,GAAW,MAAA;AAAA,IAC9E,QAAQ,OAAO,YAAA,CAAa,MAAA,KAAW,QAAA,GAAW,aAAa,MAAA,GAAS,MAAA;AAAA,IACxE,SAAS,OAAO,YAAA,CAAa,OAAA,KAAY,QAAA,GAAW,aAAa,OAAA,GAAU;AAAA,GAC7E;AACF;;;;"}
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const activity = require('../../../activity-D3iI9pYN.cjs');
8
8
  const signalActivity = require('../../../signal-activity-C_bihjcd.cjs');
9
- const markdownRenderer = require('../../../markdown-renderer-CQ_pSSO7.cjs');
9
+ const markdownRenderer = require('../../../markdown-renderer-73CdjgS4.cjs');
10
10
  const scrollArea = require('../../../scroll-area-CAY0DNQj.cjs');
11
11
 
12
12
  function SkillMessage({ activation }) {
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { BookOpen } from 'lucide-react';
3
3
  import { g as ActivityItem } from '../../../activity-B7c_nQMn.js';
4
4
  import { S as SignalActivity } from '../../../signal-activity-J9kpnwAF.js';
5
- import { M as MarkdownRenderer } from '../../../markdown-renderer-DEoJ5aBR.js';
5
+ import { M as MarkdownRenderer } from '../../../markdown-renderer-Qv9-1YIp.js';
6
6
  import { S as ScrollArea } from '../../../scroll-area-MaMqo4l8.js';
7
7
 
8
8
  function SkillMessage({ activation }) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  require('react/jsx-runtime');
6
6
  require('@mastra/ai-sdk/ui');
7
7
  require('@mastra/react/hooks/agents');
8
- const domains_chat_tools_badges_agentBadge = require('../../../../tool-card-D9jh-XXM.cjs');
8
+ const domains_chat_tools_badges_agentBadge = require('../../../../tool-card-DULALXIR.cjs');
9
9
  require('./resolve-child-messages.cjs.js');
10
10
  require('../../components/loading-badge.cjs.js');
11
11
 
@@ -1,7 +1,7 @@
1
1
  import 'react/jsx-runtime';
2
2
  import '@mastra/ai-sdk/ui';
3
3
  import '@mastra/react/hooks/agents';
4
- export { a as AgentBadgeWrapper } from '../../../../tool-card-B7s_wQuV.js';
4
+ export { a as AgentBadgeWrapper } from '../../../../tool-card-DyZaGWgD.js';
5
5
  import './resolve-child-messages.es.js';
6
6
  import '../../components/loading-badge.es.js';
7
7
  //# sourceMappingURL=agent-badge-wrapper.es.js.map
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  require('react/jsx-runtime');
6
6
  require('react');
7
7
  require('react-markdown');
8
- const domains_chat_tools_badges_agentBadge = require('../../../../tool-card-D9jh-XXM.cjs');
8
+ const domains_chat_tools_badges_agentBadge = require('../../../../tool-card-DULALXIR.cjs');
9
9
  require('./background-task-metadata-dialog.cjs.js');
10
10
  require('../../components/network-choice-metadata-dialog.cjs.js');
11
11
  require('../../components/section-label.cjs.js');
@@ -14,7 +14,7 @@ require('./tool-approval-badge.cjs.js');
14
14
  require('../../../../tool-call-mono-aheL8CkL.cjs');
15
15
  require('lucide-react');
16
16
  require('../../../../Button-C4I05uT4.cjs');
17
- require('../../../../code-editor-CbyCb7CW.cjs');
17
+ require('../../../../code-editor-4ukTuvqG.cjs');
18
18
  require('../../../../highlight-DfnRU-Am.cjs');
19
19
  require('../../../../icons/AgentIcon.cjs.js');
20
20
 
@@ -1,7 +1,7 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'react';
3
3
  import 'react-markdown';
4
- export { A as AgentBadge } from '../../../../tool-card-B7s_wQuV.js';
4
+ export { A as AgentBadge } from '../../../../tool-card-DyZaGWgD.js';
5
5
  import './background-task-metadata-dialog.es.js';
6
6
  import '../../components/network-choice-metadata-dialog.es.js';
7
7
  import '../../components/section-label.es.js';
@@ -10,7 +10,7 @@ import './tool-approval-badge.es.js';
10
10
  import '../../../../tool-call-mono-DPW6hN91.js';
11
11
  import 'lucide-react';
12
12
  import '../../../../Button-D8a5EWJ5.js';
13
- import '../../../../code-editor-DOv4jc-0.js';
13
+ import '../../../../code-editor-8qu58Npy.js';
14
14
  import '../../../../highlight-CXDme3FZ.js';
15
15
  import '../../../../icons/AgentIcon.es.js';
16
16
  //# sourceMappingURL=agent-badge.es.js.map
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_chat_context_toolCallContext = require('../../context/tool-call-context.cjs.js');
7
- const askUserCard = require('../../../../ask-user-card-DiFQcUzM.cjs');
7
+ const askUserCard = require('../../../../ask-user-card-C-N5rpYG.cjs');
8
8
 
9
9
  const AskUserBadge = ({ toolCallId, suspendPayload, result }) => {
10
10
  const { approveToolcall, isRunning, toolCallApprovals } = domains_chat_context_toolCallContext.useToolCall();
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useToolCall } from '../../context/tool-call-context.es.js';
3
- import { A as AskUser } from '../../../../ask-user-card-DnvW7jXS.js';
3
+ import { A as AskUser } from '../../../../ask-user-card-B9q_GFTt.js';
4
4
 
5
5
  const AskUserBadge = ({ toolCallId, suspendPayload, result }) => {
6
6
  const { approveToolcall, isRunning, toolCallApprovals } = useToolCall();
@@ -7,7 +7,7 @@ const agents = require('@mastra/react/hooks/agents');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
9
  const Button = require('../../../../Button-C4I05uT4.cjs');
10
- const codeEditor = require('../../../../code-editor-CbyCb7CW.cjs');
10
+ const codeEditor = require('../../../../code-editor-4ukTuvqG.cjs');
11
11
  require('../../../../highlight-DfnRU-Am.cjs');
12
12
  const dialog = require('../../../../dialog-SSeOqRnH.cjs');
13
13
  const Txt = require('../../../../Txt-CIS2G5Jx.cjs');
@@ -3,7 +3,7 @@ import { useGetBackgroundTaskById, useBackgroundTaskStream } from '@mastra/react
3
3
  import { Share2, Loader2Icon } from 'lucide-react';
4
4
  import { useState } from 'react';
5
5
  import { B as Button } from '../../../../Button-D8a5EWJ5.js';
6
- import { C as CodeEditor } from '../../../../code-editor-DOv4jc-0.js';
6
+ import { C as CodeEditor } from '../../../../code-editor-8qu58Npy.js';
7
7
  import '../../../../highlight-CXDme3FZ.js';
8
8
  import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody } from '../../../../dialog-AzCRnEo3.js';
9
9
  import { T as Txt } from '../../../../Txt-BtIGLRk1.js';