@mastra/playground-ui 55.0.0-alpha.5 → 55.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 (493) hide show
  1. package/dist/{Button-BsHGVRjh.cjs → Button-BJOVwaxp.cjs} +13 -12
  2. package/dist/Button-BJOVwaxp.cjs.map +1 -0
  3. package/dist/{Button-DsTY88Xz.js → Button-BVGwYwHT.js} +14 -13
  4. package/dist/Button-BVGwYwHT.js.map +1 -0
  5. package/dist/{Notice-B5khVt-8.js → Notice-CMZ86f1g.js} +2 -2
  6. package/dist/{Notice-B5khVt-8.js.map → Notice-CMZ86f1g.js.map} +1 -1
  7. package/dist/{Notice-BUSAcuH-.cjs → Notice-D0Mvqvr0.cjs} +2 -2
  8. package/dist/{Notice-BUSAcuH-.cjs.map → Notice-D0Mvqvr0.cjs.map} +1 -1
  9. package/dist/{SessionExpired-C4w2ai5-.cjs → SessionExpired-CAOgb-6E.cjs} +2 -2
  10. package/dist/{SessionExpired-C4w2ai5-.cjs.map → SessionExpired-CAOgb-6E.cjs.map} +1 -1
  11. package/dist/{SessionExpired-oy5tS_51.js → SessionExpired-DSPFseGA.js} +2 -2
  12. package/dist/{SessionExpired-oy5tS_51.js.map → SessionExpired-DSPFseGA.js.map} +1 -1
  13. package/dist/{ask-user-DWUWXbS7.cjs → ask-user-DQGe7ZTv.cjs} +3 -3
  14. package/dist/{ask-user-DWUWXbS7.cjs.map → ask-user-DQGe7ZTv.cjs.map} +1 -1
  15. package/dist/{ask-user-D7MeXylO.js → ask-user-Dh9YowL4.js} +3 -3
  16. package/dist/{ask-user-D7MeXylO.js.map → ask-user-Dh9YowL4.js.map} +1 -1
  17. package/dist/{buttons-group-B5TBWfs6.js → buttons-group-CHyXDQBp.js} +5 -5
  18. package/dist/buttons-group-CHyXDQBp.js.map +1 -0
  19. package/dist/{buttons-group-PqYxKznc.cjs → buttons-group-jq7kUVlX.cjs} +5 -5
  20. package/dist/buttons-group-jq7kUVlX.cjs.map +1 -0
  21. package/dist/{checkbox-pvYvwDUy.js → checkbox-CC39oYEv.js} +5 -5
  22. package/dist/checkbox-CC39oYEv.js.map +1 -0
  23. package/dist/{checkbox-BNOCksit.cjs → checkbox-DWXCTy8y.cjs} +6 -6
  24. package/dist/checkbox-DWXCTy8y.cjs.map +1 -0
  25. package/dist/{code-block-CyHjdW02.js → code-block-BdzrmA-p.js} +5 -5
  26. package/dist/{code-block-CyHjdW02.js.map → code-block-BdzrmA-p.js.map} +1 -1
  27. package/dist/{code-block-I7b2Wt_Y.cjs → code-block-D1RequlX.cjs} +5 -5
  28. package/dist/{code-block-I7b2Wt_Y.cjs.map → code-block-D1RequlX.cjs.map} +1 -1
  29. package/dist/{code-editor-BeosH5J-.cjs → code-editor-CopnXVKT.cjs} +2 -2
  30. package/dist/{code-editor-BeosH5J-.cjs.map → code-editor-CopnXVKT.cjs.map} +1 -1
  31. package/dist/{code-editor-DPYAjQUV.js → code-editor-D7BftGSx.js} +2 -2
  32. package/dist/{code-editor-DPYAjQUV.js.map → code-editor-D7BftGSx.js.map} +1 -1
  33. package/dist/{combobox-Cg-7UwwL.cjs → combobox-DO__6QlF.cjs} +4 -5
  34. package/dist/combobox-DO__6QlF.cjs.map +1 -0
  35. package/dist/{combobox-8GoJaMs1.js → combobox-Ua6bvpM8.js} +3 -4
  36. package/dist/combobox-Ua6bvpM8.js.map +1 -0
  37. package/dist/{command-OXbUDxUu.js → command-CNKdcyyr.js} +4 -11
  38. package/dist/command-CNKdcyyr.js.map +1 -0
  39. package/dist/{command-C6cIgH_n.cjs → command-Cva4qgS9.cjs} +5 -12
  40. package/dist/command-Cva4qgS9.cjs.map +1 -0
  41. package/dist/components/AlertDialog.cjs.js +1 -1
  42. package/dist/components/AlertDialog.es.js +1 -1
  43. package/dist/components/Button.cjs.js +1 -1
  44. package/dist/components/Button.es.js +2 -2
  45. package/dist/components/ButtonsGroup.cjs.js +1 -1
  46. package/dist/components/ButtonsGroup.es.js +1 -1
  47. package/dist/components/Checkbox.cjs.js +1 -1
  48. package/dist/components/Checkbox.es.js +1 -1
  49. package/dist/components/ClampedText.cjs.js +1 -1
  50. package/dist/components/ClampedText.es.js +1 -1
  51. package/dist/components/CodeBlock.cjs.js +1 -1
  52. package/dist/components/CodeBlock.es.js +1 -1
  53. package/dist/components/CodeEditor.cjs.js +1 -1
  54. package/dist/components/CodeEditor.es.js +1 -1
  55. package/dist/components/Columns.cjs.js +1 -1
  56. package/dist/components/Columns.es.js +1 -1
  57. package/dist/components/Combobox.cjs.js +1 -1
  58. package/dist/components/Combobox.es.js +1 -1
  59. package/dist/components/Command.cjs.js +1 -1
  60. package/dist/components/Command.es.js +1 -1
  61. package/dist/components/CommandPalette.cjs.js +1 -1
  62. package/dist/components/CommandPalette.es.js +1 -1
  63. package/dist/components/Comment.cjs.js +2 -2
  64. package/dist/components/Comment.es.js +2 -2
  65. package/dist/components/CopyButton.cjs.js +1 -1
  66. package/dist/components/CopyButton.es.js +1 -1
  67. package/dist/components/DataCodeSection.cjs.js +1 -1
  68. package/dist/components/DataCodeSection.es.js +1 -1
  69. package/dist/components/DataDetailsPanel.cjs.js +3 -3
  70. package/dist/components/DataDetailsPanel.es.js +3 -3
  71. package/dist/components/DataFilter.cjs.js +2 -2
  72. package/dist/components/DataFilter.es.js +2 -2
  73. package/dist/components/DataList.cjs.js +4 -4
  74. package/dist/components/DataList.es.js +4 -4
  75. package/dist/components/DataPanel.cjs.js +1 -1
  76. package/dist/components/DataPanel.es.js +1 -1
  77. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  78. package/dist/components/DateRangeTimeline.es.js +1 -1
  79. package/dist/components/DateTimePicker.cjs.js +3 -3
  80. package/dist/components/DateTimePicker.es.js +3 -3
  81. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  82. package/dist/components/DateTimeRangePicker.es.js +1 -1
  83. package/dist/components/Dialog.cjs.js +2 -2
  84. package/dist/components/Dialog.es.js +3 -3
  85. package/dist/components/Drawer.cjs.js +1 -1
  86. package/dist/components/Drawer.es.js +1 -1
  87. package/dist/components/DropdownMenu.cjs.js +1 -1
  88. package/dist/components/DropdownMenu.es.js +1 -1
  89. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  90. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  91. package/dist/components/ErrorBoundary.cjs.js +1 -1
  92. package/dist/components/ErrorBoundary.es.js +1 -1
  93. package/dist/components/FormFieldBlocks.cjs.js +3 -3
  94. package/dist/components/FormFieldBlocks.es.js +3 -3
  95. package/dist/components/Input.cjs.js +1 -1
  96. package/dist/components/Input.es.js +1 -1
  97. package/dist/components/InputGroup.cjs.js +1 -1
  98. package/dist/components/InputGroup.es.js +1 -1
  99. package/dist/components/IntegrationDialog.cjs.js +2 -2
  100. package/dist/components/IntegrationDialog.es.js +4 -4
  101. package/dist/components/IntegrationDialog.es.js.map +1 -1
  102. package/dist/components/JSONSchemaForm.cjs.js +4 -4
  103. package/dist/components/JSONSchemaForm.es.js +4 -4
  104. package/dist/components/ListSearch.cjs.js +1 -1
  105. package/dist/components/ListSearch.es.js +1 -1
  106. package/dist/components/LogsDataList.cjs.js +2 -4
  107. package/dist/components/LogsDataList.cjs.js.map +1 -1
  108. package/dist/components/LogsDataList.es.js +2 -4
  109. package/dist/components/LogsDataList.es.js.map +1 -1
  110. package/dist/components/MainSidebar.cjs.js +1 -1
  111. package/dist/components/MainSidebar.es.js +1 -1
  112. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  113. package/dist/components/MarkdownRenderer.es.js +1 -1
  114. package/dist/components/Notice.cjs.js +1 -1
  115. package/dist/components/Notice.es.js +1 -1
  116. package/dist/components/PageHeader.cjs.js +1 -1
  117. package/dist/components/PageHeader.es.js +1 -1
  118. package/dist/components/PrevNextNav.cjs.js +2 -2
  119. package/dist/components/PrevNextNav.es.js +2 -2
  120. package/dist/components/PropertyFilter.cjs.js +3 -3
  121. package/dist/components/PropertyFilter.es.js +4 -4
  122. package/dist/components/RadioGroup.cjs.js +4 -4
  123. package/dist/components/RadioGroup.cjs.js.map +1 -1
  124. package/dist/components/RadioGroup.es.js +3 -3
  125. package/dist/components/RadioGroup.es.js.map +1 -1
  126. package/dist/components/RuleBuilder.cjs.js +3 -3
  127. package/dist/components/RuleBuilder.es.js +3 -3
  128. package/dist/components/Select.cjs.js +1 -1
  129. package/dist/components/Select.es.js +1 -1
  130. package/dist/components/SessionExpired.cjs.js +1 -1
  131. package/dist/components/SessionExpired.es.js +1 -1
  132. package/dist/components/SideDialog.cjs.js +4 -4
  133. package/dist/components/SideDialog.es.js +4 -4
  134. package/dist/components/Slider.cjs.js +1 -1
  135. package/dist/components/Slider.es.js +1 -1
  136. package/dist/components/Switch.cjs.js +1 -1
  137. package/dist/components/Switch.es.js +1 -1
  138. package/dist/components/Table.cjs.js +4 -3
  139. package/dist/components/Table.cjs.js.map +1 -1
  140. package/dist/components/Table.es.js +3 -2
  141. package/dist/components/Table.es.js.map +1 -1
  142. package/dist/components/Tabs.cjs.js +3 -3
  143. package/dist/components/Tabs.es.js +3 -3
  144. package/dist/components/Textarea.cjs.js +1 -1
  145. package/dist/components/Textarea.es.js +1 -1
  146. package/dist/components/ThreadList.cjs.js +1 -1
  147. package/dist/components/ThreadList.es.js +1 -1
  148. package/dist/components/Truncate.cjs.js +1 -1
  149. package/dist/components/Truncate.es.js +1 -1
  150. package/dist/components/Workflow.cjs.js +6 -6
  151. package/dist/components/Workflow.es.js +6 -6
  152. package/dist/components/ai/ask-user.cjs.js +1 -1
  153. package/dist/components/ai/ask-user.es.js +1 -1
  154. package/dist/components/ai/plan.cjs.js +2 -2
  155. package/dist/components/ai/plan.es.js +2 -2
  156. package/dist/components/ai/tool-call.cjs.js +16 -6
  157. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  158. package/dist/components/ai/tool-call.es.js +17 -7
  159. package/dist/components/ai/tool-call.es.js.map +1 -1
  160. package/dist/{copy-button-BW1CfolI.js → copy-button-ChUCFd-x.js} +2 -2
  161. package/dist/{copy-button-BW1CfolI.js.map → copy-button-ChUCFd-x.js.map} +1 -1
  162. package/dist/{copy-button-CC4JTC90.cjs → copy-button-zLZfswrj.cjs} +2 -2
  163. package/dist/{copy-button-CC4JTC90.cjs.map → copy-button-zLZfswrj.cjs.map} +1 -1
  164. package/dist/{data-code-section-BWaPQ6JT.cjs → data-code-section-BLvh46xK.cjs} +6 -6
  165. package/dist/{data-code-section-BWaPQ6JT.cjs.map → data-code-section-BLvh46xK.cjs.map} +1 -1
  166. package/dist/{data-code-section-EmqjYVh1.js → data-code-section-DSelBhmP.js} +6 -6
  167. package/dist/{data-code-section-EmqjYVh1.js.map → data-code-section-DSelBhmP.js.map} +1 -1
  168. package/dist/{data-list-BSezaRoI.cjs → data-list-4_cVlINT.cjs} +3 -3
  169. package/dist/{data-list-BSezaRoI.cjs.map → data-list-4_cVlINT.cjs.map} +1 -1
  170. package/dist/{data-list-DJ7DgVuH.js → data-list-Bm70XKg_.js} +3 -3
  171. package/dist/{data-list-DJ7DgVuH.js.map → data-list-Bm70XKg_.js.map} +1 -1
  172. package/dist/{data-list-skeleton-BiletsX0.cjs → data-list-skeleton-B7flrjdA.cjs} +2 -2
  173. package/dist/{data-list-skeleton-BiletsX0.cjs.map → data-list-skeleton-B7flrjdA.cjs.map} +1 -1
  174. package/dist/{data-list-skeleton-QvifQhmC.js → data-list-skeleton-BJVs8rDE.js} +2 -2
  175. package/dist/{data-list-skeleton-QvifQhmC.js.map → data-list-skeleton-BJVs8rDE.js.map} +1 -1
  176. package/dist/{data-list-top-0BrqoQba.js → data-list-top-BeUxfGy2.js} +2 -2
  177. package/dist/{data-list-top-0BrqoQba.js.map → data-list-top-BeUxfGy2.js.map} +1 -1
  178. package/dist/{data-list-top-D8r8M8JA.cjs → data-list-top-D9zFnKEi.cjs} +2 -2
  179. package/dist/{data-list-top-D8r8M8JA.cjs.map → data-list-top-D9zFnKEi.cjs.map} +1 -1
  180. package/dist/{data-panel-C3FczohB.js → data-panel-5iuux0r_.js} +4 -4
  181. package/dist/{data-panel-C3FczohB.js.map → data-panel-5iuux0r_.js.map} +1 -1
  182. package/dist/{data-panel-KjzePv5_.cjs → data-panel-tSErqolu.cjs} +4 -4
  183. package/dist/{data-panel-KjzePv5_.cjs.map → data-panel-tSErqolu.cjs.map} +1 -1
  184. package/dist/{date-time-range-picker-DU4ynAjj.cjs → date-time-range-picker-C0J7p78l.cjs} +4 -4
  185. package/dist/{date-time-range-picker-DU4ynAjj.cjs.map → date-time-range-picker-C0J7p78l.cjs.map} +1 -1
  186. package/dist/{date-time-range-picker-CMzJwQ_s.js → date-time-range-picker-CcoU5-2_.js} +4 -4
  187. package/dist/{date-time-range-picker-CMzJwQ_s.js.map → date-time-range-picker-CcoU5-2_.js.map} +1 -1
  188. package/dist/{dialog-CUeeMxRo.cjs → dialog-B1DwyLJJ.cjs} +10 -26
  189. package/dist/dialog-B1DwyLJJ.cjs.map +1 -0
  190. package/dist/{dialog-KvPRmHPW.js → dialog-Dfrt_JCJ.js} +10 -26
  191. package/dist/dialog-Dfrt_JCJ.js.map +1 -0
  192. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  193. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  194. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  195. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  196. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  197. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  198. package/dist/domains/chat/context/chat-context.cjs.js.map +1 -1
  199. package/dist/domains/chat/context/chat-context.es.js.map +1 -1
  200. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  201. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  202. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.cjs.js +9 -1
  203. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.cjs.js.map +1 -1
  204. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.es.js +9 -1
  205. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.es.js.map +1 -1
  206. package/dist/domains/chat/messages/renderers/message-text.cjs.js +12 -4
  207. package/dist/domains/chat/messages/renderers/message-text.cjs.js.map +1 -1
  208. package/dist/domains/chat/messages/renderers/message-text.es.js +12 -4
  209. package/dist/domains/chat/messages/renderers/message-text.es.js.map +1 -1
  210. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  211. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  212. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +1 -1
  213. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  214. package/dist/domains/chat/messages/renderers/tool-part.es.js +1 -1
  215. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  216. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  217. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  218. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  219. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  220. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  221. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  222. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  223. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  224. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  225. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  226. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  227. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  228. package/dist/domains/logs/components/log-details-view.cjs.js +3 -3
  229. package/dist/domains/logs/components/log-details-view.es.js +3 -3
  230. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  231. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  232. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  233. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  234. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  235. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  236. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  237. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  238. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  239. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  240. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  241. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  242. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  243. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  244. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  245. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  246. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  247. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  248. package/dist/domains/metrics/components/latency-card-view.cjs.js +3 -3
  249. package/dist/domains/metrics/components/latency-card-view.es.js +3 -3
  250. package/dist/domains/metrics/components/memory-card-view.cjs.js +4 -4
  251. package/dist/domains/metrics/components/memory-card-view.es.js +4 -4
  252. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  253. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  254. package/dist/domains/metrics/components/scores-card-view.cjs.js +4 -4
  255. package/dist/domains/metrics/components/scores-card-view.es.js +4 -4
  256. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +3 -3
  257. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +3 -3
  258. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +3 -3
  259. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +3 -3
  260. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +3 -3
  261. package/dist/domains/metrics/components/traces-volume-card-view.es.js +3 -3
  262. package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -6
  263. package/dist/domains/traces/components/span-data-panel-view.es.js +6 -6
  264. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +4 -4
  265. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +4 -4
  266. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js +2 -2
  267. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js +2 -2
  268. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  269. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  270. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +9 -9
  271. package/dist/domains/traces/components/trace-data-panel-view.es.js +9 -9
  272. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  273. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  274. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  275. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  276. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  277. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  278. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  279. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  280. package/dist/domains/traces/components/traces-toolbar.cjs.js +1 -1
  281. package/dist/domains/traces/components/traces-toolbar.es.js +1 -1
  282. package/dist/{drawer-BXOkhFYI.cjs → drawer-Bq7j_MiM.cjs} +2 -2
  283. package/dist/{drawer-BXOkhFYI.cjs.map → drawer-Bq7j_MiM.cjs.map} +1 -1
  284. package/dist/{drawer-DUhKiF6i.js → drawer-D1m2faHU.js} +2 -2
  285. package/dist/{drawer-DUhKiF6i.js.map → drawer-D1m2faHU.js.map} +1 -1
  286. package/dist/{dropdown-menu-Bj9vR0Md.cjs → dropdown-menu-Bfh5ROWe.cjs} +6 -5
  287. package/dist/dropdown-menu-Bfh5ROWe.cjs.map +1 -0
  288. package/dist/{dropdown-menu-GAD50kMK.js → dropdown-menu-C853KwJJ.js} +5 -4
  289. package/dist/dropdown-menu-C853KwJJ.js.map +1 -0
  290. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  291. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  292. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  293. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  294. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  295. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  296. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -7
  297. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  298. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +6 -7
  299. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  300. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  301. package/dist/ee/signals/examples-pager.es.js +1 -1
  302. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  303. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  304. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  305. package/dist/ee/signals/sankey-signals.es.js +1 -1
  306. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +4 -4
  307. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +4 -4
  308. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  309. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  310. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  311. package/dist/ee/signals/signals-error-state.es.js +1 -1
  312. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  313. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  314. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  315. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  316. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  317. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  318. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  319. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  320. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  321. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  322. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  323. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  324. package/dist/hooks/use-local-storage-state.cjs.js +35 -0
  325. package/dist/hooks/use-local-storage-state.cjs.js.map +1 -0
  326. package/dist/hooks/use-local-storage-state.d.ts +2 -0
  327. package/dist/hooks/use-local-storage-state.es.js +31 -0
  328. package/dist/hooks/use-local-storage-state.es.js.map +1 -0
  329. package/dist/{input-BXl_-87K.cjs → input-D3SUXvgI.cjs} +9 -10
  330. package/dist/input-D3SUXvgI.cjs.map +1 -0
  331. package/dist/{input-KNga7Y7g.js → input-DinpgQXj.js} +8 -9
  332. package/dist/input-DinpgQXj.js.map +1 -0
  333. package/dist/{input-group-BW3PBfmX.cjs → input-group-CBuqhxnJ.cjs} +30 -11
  334. package/dist/input-group-CBuqhxnJ.cjs.map +1 -0
  335. package/dist/{input-group-CC3FsOEL.js → input-group-Dv1YsFDZ.js} +30 -11
  336. package/dist/input-group-Dv1YsFDZ.js.map +1 -0
  337. package/dist/layout/tabbed-container.cjs.js +6 -6
  338. package/dist/layout/tabbed-container.es.js +6 -6
  339. package/dist/{list-search-D_Q34jSU.cjs → list-search-BwcO9d9M.cjs} +2 -2
  340. package/dist/{list-search-D_Q34jSU.cjs.map → list-search-BwcO9d9M.cjs.map} +1 -1
  341. package/dist/{list-search-C9wdyGVJ.js → list-search-C8FBcDpo.js} +2 -2
  342. package/dist/{list-search-C9wdyGVJ.js.map → list-search-C8FBcDpo.js.map} +1 -1
  343. package/dist/{logs-data-list-CBCCnmWl.cjs → logs-data-list-B0hzHq0b.cjs} +2 -2
  344. package/dist/{logs-data-list-CBCCnmWl.cjs.map → logs-data-list-B0hzHq0b.cjs.map} +1 -1
  345. package/dist/{logs-data-list-BEC39Y_v.js → logs-data-list-CWu83qI7.js} +2 -2
  346. package/dist/{logs-data-list-BEC39Y_v.js.map → logs-data-list-CWu83qI7.js.map} +1 -1
  347. package/dist/{markdown-renderer-Wmdi_oR8.js → markdown-renderer-Dp1fJwUB.js} +175 -8
  348. package/dist/markdown-renderer-Dp1fJwUB.js.map +1 -0
  349. package/dist/{markdown-renderer-Ds3PaLdR.cjs → markdown-renderer-hBiN_N_-.cjs} +174 -7
  350. package/dist/markdown-renderer-hBiN_N_-.cjs.map +1 -0
  351. package/dist/new/layout/app-shell.cjs.js +53 -0
  352. package/dist/new/layout/app-shell.cjs.js.map +1 -0
  353. package/dist/new/layout/app-shell.d.ts +2 -0
  354. package/dist/new/layout/app-shell.es.js +49 -0
  355. package/dist/new/layout/app-shell.es.js.map +1 -0
  356. package/dist/new/layout/page-header.cjs.js +1 -1
  357. package/dist/new/layout/page-header.es.js +1 -1
  358. package/dist/{page-header-ComQfwIQ.js → page-header-CGRV1f_f.js} +11 -7
  359. package/dist/page-header-CGRV1f_f.js.map +1 -0
  360. package/dist/{page-header-hRxyKAlN.cjs → page-header-CTdBcOWK.cjs} +11 -7
  361. package/dist/page-header-CTdBcOWK.cjs.map +1 -0
  362. package/dist/primitives/control-size.cjs.js +1 -1
  363. package/dist/primitives/control-size.cjs.js.map +1 -1
  364. package/dist/primitives/control-size.es.js +1 -1
  365. package/dist/primitives/control-size.es.js.map +1 -1
  366. package/dist/primitives/form-element.cjs.js +8 -21
  367. package/dist/primitives/form-element.cjs.js.map +1 -1
  368. package/dist/primitives/form-element.es.js +8 -20
  369. package/dist/primitives/form-element.es.js.map +1 -1
  370. package/dist/primitives/menu-item.cjs.js +7 -10
  371. package/dist/primitives/menu-item.cjs.js.map +1 -1
  372. package/dist/primitives/menu-item.es.js +7 -10
  373. package/dist/primitives/menu-item.es.js.map +1 -1
  374. package/dist/primitives/trigger-button.cjs.js +1 -1
  375. package/dist/primitives/trigger-button.es.js +1 -1
  376. package/dist/{property-filter-applied-CTcWC5Hv.js → property-filter-applied-CF-InSu-.js} +5 -5
  377. package/dist/{property-filter-applied-CTcWC5Hv.js.map → property-filter-applied-CF-InSu-.js.map} +1 -1
  378. package/dist/{property-filter-applied-DCffRXYU.cjs → property-filter-applied-D35zWa7S.cjs} +5 -5
  379. package/dist/{property-filter-applied-DCffRXYU.cjs.map → property-filter-applied-D35zWa7S.cjs.map} +1 -1
  380. package/dist/resize/panel-drawer.cjs.js +1 -1
  381. package/dist/resize/panel-drawer.es.js +1 -1
  382. package/dist/{search-field-block-BH_zDJIt.js → search-field-block-DhgD7NhZ.js} +3 -3
  383. package/dist/{search-field-block-BH_zDJIt.js.map → search-field-block-DhgD7NhZ.js.map} +1 -1
  384. package/dist/{search-field-block-WP6PODTo.cjs → search-field-block-DnJYUEGi.cjs} +3 -3
  385. package/dist/{search-field-block-WP6PODTo.cjs.map → search-field-block-DnJYUEGi.cjs.map} +1 -1
  386. package/dist/{select-VqANzntV.js → select-3GcRJGtd.js} +5 -3
  387. package/dist/select-3GcRJGtd.js.map +1 -0
  388. package/dist/{select-Dhox-EJ2.cjs → select-4dVGVp0V.cjs} +6 -4
  389. package/dist/select-4dVGVp0V.cjs.map +1 -0
  390. package/dist/{select-field-block-C3OTHj2n.js → select-field-block-BEyjBDiB.js} +2 -2
  391. package/dist/{select-field-block-C3OTHj2n.js.map → select-field-block-BEyjBDiB.js.map} +1 -1
  392. package/dist/{select-field-block-DBv-cFoz.cjs → select-field-block-By8NfJoe.cjs} +2 -2
  393. package/dist/{select-field-block-DBv-cFoz.cjs.map → select-field-block-By8NfJoe.cjs.map} +1 -1
  394. package/dist/{slider-Cx_ZwlQU.js → slider-AfRJ3a4W.js} +2 -7
  395. package/dist/slider-AfRJ3a4W.js.map +1 -0
  396. package/dist/{slider-DyNnS3a7.cjs → slider-BXYQmaQy.cjs} +3 -8
  397. package/dist/slider-BXYQmaQy.cjs.map +1 -0
  398. package/dist/src/domains/chat/context/chat-context.d.ts +2 -0
  399. package/dist/src/domains/chat/messages/renderers/message-text.d.ts +2 -1
  400. package/dist/src/domains/chat/stories/messages.stories.d.ts +1 -1
  401. package/dist/src/ds/components/Button/Button.d.ts +1 -1
  402. package/dist/src/ds/components/Checkbox/checkbox.d.ts +10 -1
  403. package/dist/src/ds/components/Combobox/combobox.d.ts +3 -2
  404. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +9 -1
  405. package/dist/src/ds/components/DropdownMenu/dropdown-menu.stories.d.ts +1 -0
  406. package/dist/src/ds/components/MarkdownRenderer/markdown-renderer.d.ts +3 -1
  407. package/dist/src/ds/components/MarkdownRenderer/markdown-table.d.ts +3 -0
  408. package/dist/src/ds/components/MarkdownRenderer/table-csv.d.ts +2 -0
  409. package/dist/src/ds/components/MarkdownRenderer/table-markdown.d.ts +5 -0
  410. package/dist/src/ds/components/Select/select.d.ts +24 -2
  411. package/dist/src/ds/components/Slider/slider.d.ts +1 -1
  412. package/dist/src/ds/components/Table/Table.d.ts +1 -1
  413. package/dist/src/ds/components/ai/tool-call/tool-call-group.d.ts +2 -0
  414. package/dist/src/ds/new/layout/app-shell/app-shell.d.ts +13 -0
  415. package/dist/src/ds/new/layout/app-shell/app-shell.stories.d.ts +22 -0
  416. package/dist/src/ds/new/layout/app-shell/index.d.ts +1 -0
  417. package/dist/src/ds/primitives/form-element.d.ts +5 -6
  418. package/dist/src/ds/primitives/menu-item.d.ts +1 -0
  419. package/dist/src/hooks/use-local-storage-state.d.ts +10 -0
  420. package/dist/style.css +144 -35
  421. package/dist/{switch-CRgSw0D1.js → switch-A-j7GDcX.js} +3 -4
  422. package/dist/switch-A-j7GDcX.js.map +1 -0
  423. package/dist/{switch-CsnP5CNn.cjs → switch-BROLIeGF.cjs} +3 -4
  424. package/dist/switch-BROLIeGF.cjs.map +1 -0
  425. package/dist/{tabs-content-Bf28p8Au.cjs → tabs-content-CV7YrtD1.cjs} +4 -4
  426. package/dist/tabs-content-CV7YrtD1.cjs.map +1 -0
  427. package/dist/{tabs-content-vrO_NM42.js → tabs-content-CW6RtAEV.js} +3 -3
  428. package/dist/tabs-content-CW6RtAEV.js.map +1 -0
  429. package/dist/{tabs-root-B4G-ywup.js → tabs-root-BAy8m6GO.js} +2 -2
  430. package/dist/{tabs-root-B4G-ywup.js.map → tabs-root-BAy8m6GO.js.map} +1 -1
  431. package/dist/{tabs-root-BAJYWOrk.cjs → tabs-root-Dw7gHsnZ.cjs} +2 -2
  432. package/dist/{tabs-root-BAJYWOrk.cjs.map → tabs-root-Dw7gHsnZ.cjs.map} +1 -1
  433. package/dist/{tabs-tab-Br-jck-B.cjs → tabs-tab-CP-kzlvB.cjs} +5 -6
  434. package/dist/tabs-tab-CP-kzlvB.cjs.map +1 -0
  435. package/dist/{tabs-tab-CvlCl9kD.js → tabs-tab-K5mQhs7r.js} +6 -7
  436. package/dist/tabs-tab-K5mQhs7r.js.map +1 -0
  437. package/dist/{text-field-block-BVhQGWYw.js → text-field-block-CUN9gL4j.js} +2 -2
  438. package/dist/{text-field-block-BVhQGWYw.js.map → text-field-block-CUN9gL4j.js.map} +1 -1
  439. package/dist/{text-field-block-DBEXulUE.cjs → text-field-block-WuwrSNEX.cjs} +2 -2
  440. package/dist/{text-field-block-DBEXulUE.cjs.map → text-field-block-WuwrSNEX.cjs.map} +1 -1
  441. package/dist/{textarea-BcaFNmji.js → textarea-BCVPeJzr.js} +7 -3
  442. package/dist/textarea-BCVPeJzr.js.map +1 -0
  443. package/dist/{textarea-C_saJE6T.cjs → textarea-D9XsLoN5.cjs} +8 -4
  444. package/dist/textarea-D9XsLoN5.cjs.map +1 -0
  445. package/dist/{time-picker-CMUki2R2.cjs → time-picker-BKpmCbXS.cjs} +2 -2
  446. package/dist/{time-picker-CMUki2R2.cjs.map → time-picker-BKpmCbXS.cjs.map} +1 -1
  447. package/dist/{time-picker-CfdcBPyS.js → time-picker-SgrQvt0V.js} +2 -2
  448. package/dist/{time-picker-CfdcBPyS.js.map → time-picker-SgrQvt0V.js.map} +1 -1
  449. package/dist/{tool-call-DfLe6Hu5.js → tool-call-BlKbOYRH.js} +2 -2
  450. package/dist/{tool-call-DfLe6Hu5.js.map → tool-call-BlKbOYRH.js.map} +1 -1
  451. package/dist/{tool-call-Pi3V0LP3.cjs → tool-call-DVh_yWov.cjs} +2 -2
  452. package/dist/{tool-call-Pi3V0LP3.cjs.map → tool-call-DVh_yWov.cjs.map} +1 -1
  453. package/dist/{traces-data-list-BPrExzSX.cjs → traces-data-list-0WfYCKdc.cjs} +3 -3
  454. package/dist/{traces-data-list-BPrExzSX.cjs.map → traces-data-list-0WfYCKdc.cjs.map} +1 -1
  455. package/dist/{traces-data-list-CfW_M5yW.js → traces-data-list-BOiAOwYM.js} +3 -3
  456. package/dist/{traces-data-list-CfW_M5yW.js.map → traces-data-list-BOiAOwYM.js.map} +1 -1
  457. package/package.json +18 -8
  458. package/theme.css +12 -0
  459. package/dist/Button-BsHGVRjh.cjs.map +0 -1
  460. package/dist/Button-DsTY88Xz.js.map +0 -1
  461. package/dist/buttons-group-B5TBWfs6.js.map +0 -1
  462. package/dist/buttons-group-PqYxKznc.cjs.map +0 -1
  463. package/dist/checkbox-BNOCksit.cjs.map +0 -1
  464. package/dist/checkbox-pvYvwDUy.js.map +0 -1
  465. package/dist/combobox-8GoJaMs1.js.map +0 -1
  466. package/dist/combobox-Cg-7UwwL.cjs.map +0 -1
  467. package/dist/command-C6cIgH_n.cjs.map +0 -1
  468. package/dist/command-OXbUDxUu.js.map +0 -1
  469. package/dist/dialog-CUeeMxRo.cjs.map +0 -1
  470. package/dist/dialog-KvPRmHPW.js.map +0 -1
  471. package/dist/dropdown-menu-Bj9vR0Md.cjs.map +0 -1
  472. package/dist/dropdown-menu-GAD50kMK.js.map +0 -1
  473. package/dist/focus.css +0 -176
  474. package/dist/input-BXl_-87K.cjs.map +0 -1
  475. package/dist/input-KNga7Y7g.js.map +0 -1
  476. package/dist/input-group-BW3PBfmX.cjs.map +0 -1
  477. package/dist/input-group-CC3FsOEL.js.map +0 -1
  478. package/dist/markdown-renderer-Ds3PaLdR.cjs.map +0 -1
  479. package/dist/markdown-renderer-Wmdi_oR8.js.map +0 -1
  480. package/dist/page-header-ComQfwIQ.js.map +0 -1
  481. package/dist/page-header-hRxyKAlN.cjs.map +0 -1
  482. package/dist/select-Dhox-EJ2.cjs.map +0 -1
  483. package/dist/select-VqANzntV.js.map +0 -1
  484. package/dist/slider-Cx_ZwlQU.js.map +0 -1
  485. package/dist/slider-DyNnS3a7.cjs.map +0 -1
  486. package/dist/switch-CRgSw0D1.js.map +0 -1
  487. package/dist/switch-CsnP5CNn.cjs.map +0 -1
  488. package/dist/tabs-content-Bf28p8Au.cjs.map +0 -1
  489. package/dist/tabs-content-vrO_NM42.js.map +0 -1
  490. package/dist/tabs-tab-Br-jck-B.cjs.map +0 -1
  491. package/dist/tabs-tab-CvlCl9kD.js.map +0 -1
  492. package/dist/textarea-BcaFNmji.js.map +0 -1
  493. package/dist/textarea-C_saJE6T.cjs.map +0 -1
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const dialog = require('@base-ui/react/dialog');
5
5
  const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
- const Button = require('./Button-BsHGVRjh.cjs');
7
+ const Button = require('./Button-BJOVwaxp.cjs');
8
8
  const scrollArea = require('./scroll-area-DK4w_mMg.cjs');
9
9
  const dialog$1 = require('./dialog-75R05iBY.cjs');
10
10
  const utils_cn = require('./cn-DnbTIGXa.cjs');
@@ -106,31 +106,21 @@ const DialogContent = React__namespace.forwardRef(
106
106
  initialFocus: initialFocus ?? (intent === "destructive" ? closeRef : true),
107
107
  "aria-busy": pending || void 0,
108
108
  className: utils_cn.cn(
109
- "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden",
109
+ "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border2 bg-surface2 shadow-dialog outline-hidden",
110
110
  "data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none",
111
111
  className
112
112
  ),
113
113
  ...props,
114
114
  children: [
115
115
  children,
116
- /* @__PURE__ */ jsxRuntime.jsx(
116
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2.5 right-3", children: /* @__PURE__ */ jsxRuntime.jsx(
117
117
  dialog.Dialog.Close,
118
118
  {
119
119
  ref: closeRef,
120
120
  disabled: pending,
121
- render: /* @__PURE__ */ jsxRuntime.jsx(
122
- Button.Button,
123
- {
124
- variant: "ghost",
125
- size: "icon-sm",
126
- className: "absolute top-3 right-3",
127
- "aria-label": "Close dialog",
128
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {})
129
- }
130
- ),
131
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {})
121
+ render: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "ghost", size: "icon-sm", "aria-label": "Close dialog", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}) })
132
122
  }
133
- )
123
+ ) })
134
124
  ]
135
125
  }
136
126
  )
@@ -204,16 +194,13 @@ const DialogBody = React__namespace.forwardRef(
204
194
  "div",
205
195
  {
206
196
  ref,
207
- className: utils_cn.cn(
208
- "flex flex-col gap-3 px-4 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4",
209
- className
210
- ),
197
+ className: utils_cn.cn("flex flex-col gap-3 px-4 py-2 text-ui-md [overflow-wrap:anywhere] text-neutral4", className),
211
198
  ...props,
212
199
  children
213
200
  }
214
201
  ) });
215
202
  }
216
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("max-h-[50vh] overflow-y-auto px-3 py-3", className), ...props, children });
203
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("max-h-[50vh] overflow-y-auto p-3", className), ...props, children });
217
204
  }
218
205
  );
219
206
  DialogBody.displayName = "DialogBody";
@@ -225,7 +212,7 @@ const DialogTitle = React__namespace.forwardRef(({ className, ...props }, ref) =
225
212
  ref,
226
213
  className: utils_cn.cn(
227
214
  "text-header-xs font-medium",
228
- variant === "new" && "pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6",
215
+ variant === "new" && "pr-8 [overflow-wrap:anywhere] text-neutral6",
229
216
  className
230
217
  ),
231
218
  ...props
@@ -240,10 +227,7 @@ const DialogDescription = React__namespace.forwardRef(
240
227
  dialog.Dialog.Description,
241
228
  {
242
229
  ref,
243
- className: utils_cn.cn(
244
- variant === "new" ? "text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only",
245
- className
246
- ),
230
+ className: utils_cn.cn(variant === "new" ? "text-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only", className),
247
231
  ...props
248
232
  }
249
233
  );
@@ -289,4 +273,4 @@ exports.DialogTrigger = DialogTrigger;
289
273
  exports.dialogActionLayoutClasses = dialogActionLayoutClasses;
290
274
  exports.dialogActionSizeClasses = dialogActionSizeClasses;
291
275
  exports.useDialogContext = useDialogContext;
292
- //# sourceMappingURL=dialog-CUeeMxRo.cjs.map
276
+ //# sourceMappingURL=dialog-B1DwyLJJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-B1DwyLJJ.cjs","sources":["../src/ds/components/Dialog/dialog-context.ts","../src/ds/components/Dialog/dialog.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type DialogVariant = 'default' | 'new';\nexport type DialogIntent = 'default' | 'destructive';\n\nexport type DialogContextValue = {\n variant: DialogVariant;\n intent: DialogIntent;\n pending: boolean;\n};\n\nexport const DialogContext = createContext<DialogContextValue>({\n variant: 'default',\n intent: 'default',\n pending: false,\n});\n\nexport function useDialogContext() {\n return useContext(DialogContext);\n}\n\nexport const dialogActionSizeClasses = {\n xs: 'min-h-form-xs leading-ui-xs',\n sm: 'min-h-form-sm leading-ui-sm',\n md: 'min-h-form-md leading-ui-md',\n lg: 'min-h-form-lg leading-ui-md',\n} as const;\n\nexport const dialogActionLayoutClasses = 'h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full';\n","import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { DialogAction } from './dialog-action';\nimport { DialogContext, dialogActionLayoutClasses, dialogActionSizeClasses, useDialogContext } from './dialog-context';\nimport type { DialogIntent, DialogVariant } from './dialog-context';\nimport { Button } from '@/ds/components/Button';\nimport type { TextButtonSize } from '@/ds/components/Button';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { asChildRenderProps } from '@/lib/as-child';\nimport { cn } from '@/lib/utils';\n\nimport './dialog.css';\n\nexport type DialogProps = DialogPrimitive.Root.Props & {\n variant?: DialogVariant;\n intent?: DialogIntent;\n pending?: boolean;\n};\n\nfunction Dialog({ variant = 'default', intent = 'default', pending = false, onOpenChange, ...props }: DialogProps) {\n const isNew = variant === 'new';\n return (\n <DialogContext.Provider value={{ variant, intent, pending }}>\n <DialogPrimitive.Root\n {...props}\n disablePointerDismissal={props.disablePointerDismissal ?? (isNew && intent === 'destructive')}\n onOpenChange={(open, details) => {\n if (!open && pending) {\n details.cancel();\n return;\n }\n onOpenChange?.(open, details);\n }}\n />\n </DialogContext.Provider>\n );\n}\n\ntype DialogTriggerProps = DialogPrimitive.Trigger.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Trigger ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n );\n },\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\ntype DialogCloseProps = DialogPrimitive.Close.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogClose = React.forwardRef<HTMLButtonElement, DialogCloseProps>(({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Close ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Close>\n );\n});\nDialogClose.displayName = 'DialogClose';\n\ntype DialogOverlayProps = Omit<DialogPrimitive.Backdrop.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogOverlay = React.forwardRef<HTMLDivElement, DialogOverlayProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n variant === 'new'\n ? 'transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none'\n : 'dialog-overlay-anim',\n 'fixed inset-0 z-50 bg-overlay backdrop-blur-xs',\n className,\n )}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = 'DialogOverlay';\n\ntype DialogContentProps = Omit<DialogPrimitive.Popup.Props, 'className'> & {\n className?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {\n const { variant, intent, pending } = useDialogContext();\n const closeRef = React.useRef<HTMLButtonElement>(null);\n if (variant === 'new') {\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n data-variant=\"new\"\n data-intent={intent}\n role={intent === 'destructive' ? 'alertdialog' : 'dialog'}\n initialFocus={initialFocus ?? (intent === 'destructive' ? closeRef : true)}\n aria-busy={pending || undefined}\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border2 bg-surface2 shadow-dialog outline-hidden',\n 'data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <div className=\"absolute top-2.5 right-3\">\n <DialogPrimitive.Close\n ref={closeRef}\n disabled={pending}\n render={\n <Button variant=\"ghost\" size=\"icon-sm\" aria-label=\"Close dialog\">\n <X />\n </Button>\n }\n />\n </div>\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n initialFocus={initialFocus}\n className={cn(\n 'dialog-content-anim',\n 'fixed top-[50%] left-[50%] z-50 grid translate-[-50%]',\n 'w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md',\n 'focus-visible:outline-hidden',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n render={\n <Button variant=\"ghost\" size=\"sm\" className=\"absolute top-3 right-3\" aria-label=\"Close\">\n <X />\n </Button>\n }\n />\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex min-w-0 shrink-0 flex-col gap-2 px-4 pt-3 pb-2'\n : 'flex flex-col gap-0.5 px-3 py-2.5 text-left',\n className,\n )}\n {...props}\n />\n );\n};\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex shrink-0 flex-wrap justify-end gap-2 px-4 pt-2 pb-3'\n : 'flex flex-col-reverse gap-1.5 px-3 py-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n};\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { variant } = useDialogContext();\n if (variant === 'new') {\n return (\n <ScrollArea className=\"flex min-h-0 min-w-0 shrink flex-col\" viewPortClassName=\"h-auto min-h-0\" mask>\n <div\n ref={ref}\n className={cn('flex flex-col gap-3 px-4 py-2 text-ui-md [overflow-wrap:anywhere] text-neutral4', className)}\n {...props}\n >\n {children}\n </div>\n </ScrollArea>\n );\n }\n return (\n <div ref={ref} className={cn('max-h-[50vh] overflow-y-auto p-3', className)} {...props}>\n {children}\n </div>\n );\n },\n);\nDialogBody.displayName = 'DialogBody';\n\ntype DialogTitleProps = Omit<DialogPrimitive.Title.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, DialogTitleProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n 'text-header-xs font-medium',\n variant === 'new' && 'pr-8 [overflow-wrap:anywhere] text-neutral6',\n className,\n )}\n {...props}\n />\n );\n});\nDialogTitle.displayName = 'DialogTitle';\n\ntype DialogDescriptionProps = Omit<DialogPrimitive.Description.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n ({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(variant === 'new' ? 'text-ui-md [overflow-wrap:anywhere] text-neutral4' : 'sr-only', className)}\n {...props}\n />\n );\n },\n);\nDialogDescription.displayName = 'DialogDescription';\n\ntype DialogCancelProps = DialogPrimitive.Close.Props & { size?: TextButtonSize };\n\nconst DialogCancel = React.forwardRef<HTMLButtonElement, DialogCancelProps>(\n ({ disabled, size = 'md', ...props }, ref) => {\n const { pending } = useDialogContext();\n return (\n <DialogPrimitive.Close\n ref={ref}\n render={\n <Button\n size={size}\n variant=\"ghost\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses[size])}\n children={props.children}\n />\n }\n {...props}\n disabled={disabled || pending}\n />\n );\n },\n);\nDialogCancel.displayName = 'DialogCancel';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogBody,\n DialogTitle,\n DialogDescription,\n DialogCancel,\n DialogAction,\n};\n"],"names":["createContext","useContext","jsx","DialogPrimitive","React","asChildRenderProps","cn","jsxs","Button","X","ScrollArea"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
3
3
  import { X } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { createContext, useContext } from 'react';
6
- import { B as Button } from './Button-DsTY88Xz.js';
6
+ import { B as Button } from './Button-BVGwYwHT.js';
7
7
  import { S as ScrollArea } from './scroll-area-B0L1nYJS.js';
8
8
  import { a as asChildRenderProps } from './dialog-BpW3qHc1.js';
9
9
  import { c as cn } from './cn-ByEbywDh.js';
@@ -86,31 +86,21 @@ const DialogContent = React.forwardRef(
86
86
  initialFocus: initialFocus ?? (intent === "destructive" ? closeRef : true),
87
87
  "aria-busy": pending || void 0,
88
88
  className: cn(
89
- "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden",
89
+ "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border2 bg-surface2 shadow-dialog outline-hidden",
90
90
  "data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none",
91
91
  className
92
92
  ),
93
93
  ...props,
94
94
  children: [
95
95
  children,
96
- /* @__PURE__ */ jsx(
96
+ /* @__PURE__ */ jsx("div", { className: "absolute top-2.5 right-3", children: /* @__PURE__ */ jsx(
97
97
  Dialog$1.Close,
98
98
  {
99
99
  ref: closeRef,
100
100
  disabled: pending,
101
- render: /* @__PURE__ */ jsx(
102
- Button,
103
- {
104
- variant: "ghost",
105
- size: "icon-sm",
106
- className: "absolute top-3 right-3",
107
- "aria-label": "Close dialog",
108
- children: /* @__PURE__ */ jsx(X, {})
109
- }
110
- ),
111
- children: /* @__PURE__ */ jsx(X, {})
101
+ render: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon-sm", "aria-label": "Close dialog", children: /* @__PURE__ */ jsx(X, {}) })
112
102
  }
113
- )
103
+ ) })
114
104
  ]
115
105
  }
116
106
  )
@@ -184,16 +174,13 @@ const DialogBody = React.forwardRef(
184
174
  "div",
185
175
  {
186
176
  ref,
187
- className: cn(
188
- "flex flex-col gap-3 px-4 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4",
189
- className
190
- ),
177
+ className: cn("flex flex-col gap-3 px-4 py-2 text-ui-md [overflow-wrap:anywhere] text-neutral4", className),
191
178
  ...props,
192
179
  children
193
180
  }
194
181
  ) });
195
182
  }
196
- return /* @__PURE__ */ jsx("div", { ref, className: cn("max-h-[50vh] overflow-y-auto px-3 py-3", className), ...props, children });
183
+ return /* @__PURE__ */ jsx("div", { ref, className: cn("max-h-[50vh] overflow-y-auto p-3", className), ...props, children });
197
184
  }
198
185
  );
199
186
  DialogBody.displayName = "DialogBody";
@@ -205,7 +192,7 @@ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => {
205
192
  ref,
206
193
  className: cn(
207
194
  "text-header-xs font-medium",
208
- variant === "new" && "pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6",
195
+ variant === "new" && "pr-8 [overflow-wrap:anywhere] text-neutral6",
209
196
  className
210
197
  ),
211
198
  ...props
@@ -220,10 +207,7 @@ const DialogDescription = React.forwardRef(
220
207
  Dialog$1.Description,
221
208
  {
222
209
  ref,
223
- className: cn(
224
- variant === "new" ? "text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only",
225
- className
226
- ),
210
+ className: cn(variant === "new" ? "text-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only", className),
227
211
  ...props
228
212
  }
229
213
  );
@@ -255,4 +239,4 @@ const DialogCancel = React.forwardRef(
255
239
  DialogCancel.displayName = "DialogCancel";
256
240
 
257
241
  export { Dialog as D, DialogContent as a, DialogHeader as b, DialogTitle as c, DialogDescription as d, DialogBody as e, DialogFooter as f, dialogActionSizeClasses as g, dialogActionLayoutClasses as h, DialogCancel as i, DialogClose as j, DialogOverlay as k, DialogPortal as l, DialogTrigger as m, useDialogContext as u };
258
- //# sourceMappingURL=dialog-KvPRmHPW.js.map
242
+ //# sourceMappingURL=dialog-Dfrt_JCJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-Dfrt_JCJ.js","sources":["../src/ds/components/Dialog/dialog-context.ts","../src/ds/components/Dialog/dialog.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type DialogVariant = 'default' | 'new';\nexport type DialogIntent = 'default' | 'destructive';\n\nexport type DialogContextValue = {\n variant: DialogVariant;\n intent: DialogIntent;\n pending: boolean;\n};\n\nexport const DialogContext = createContext<DialogContextValue>({\n variant: 'default',\n intent: 'default',\n pending: false,\n});\n\nexport function useDialogContext() {\n return useContext(DialogContext);\n}\n\nexport const dialogActionSizeClasses = {\n xs: 'min-h-form-xs leading-ui-xs',\n sm: 'min-h-form-sm leading-ui-sm',\n md: 'min-h-form-md leading-ui-md',\n lg: 'min-h-form-lg leading-ui-md',\n} as const;\n\nexport const dialogActionLayoutClasses = 'h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full';\n","import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { DialogAction } from './dialog-action';\nimport { DialogContext, dialogActionLayoutClasses, dialogActionSizeClasses, useDialogContext } from './dialog-context';\nimport type { DialogIntent, DialogVariant } from './dialog-context';\nimport { Button } from '@/ds/components/Button';\nimport type { TextButtonSize } from '@/ds/components/Button';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { asChildRenderProps } from '@/lib/as-child';\nimport { cn } from '@/lib/utils';\n\nimport './dialog.css';\n\nexport type DialogProps = DialogPrimitive.Root.Props & {\n variant?: DialogVariant;\n intent?: DialogIntent;\n pending?: boolean;\n};\n\nfunction Dialog({ variant = 'default', intent = 'default', pending = false, onOpenChange, ...props }: DialogProps) {\n const isNew = variant === 'new';\n return (\n <DialogContext.Provider value={{ variant, intent, pending }}>\n <DialogPrimitive.Root\n {...props}\n disablePointerDismissal={props.disablePointerDismissal ?? (isNew && intent === 'destructive')}\n onOpenChange={(open, details) => {\n if (!open && pending) {\n details.cancel();\n return;\n }\n onOpenChange?.(open, details);\n }}\n />\n </DialogContext.Provider>\n );\n}\n\ntype DialogTriggerProps = DialogPrimitive.Trigger.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Trigger ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n );\n },\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\ntype DialogCloseProps = DialogPrimitive.Close.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogClose = React.forwardRef<HTMLButtonElement, DialogCloseProps>(({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Close ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Close>\n );\n});\nDialogClose.displayName = 'DialogClose';\n\ntype DialogOverlayProps = Omit<DialogPrimitive.Backdrop.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogOverlay = React.forwardRef<HTMLDivElement, DialogOverlayProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n variant === 'new'\n ? 'transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none'\n : 'dialog-overlay-anim',\n 'fixed inset-0 z-50 bg-overlay backdrop-blur-xs',\n className,\n )}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = 'DialogOverlay';\n\ntype DialogContentProps = Omit<DialogPrimitive.Popup.Props, 'className'> & {\n className?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {\n const { variant, intent, pending } = useDialogContext();\n const closeRef = React.useRef<HTMLButtonElement>(null);\n if (variant === 'new') {\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n data-variant=\"new\"\n data-intent={intent}\n role={intent === 'destructive' ? 'alertdialog' : 'dialog'}\n initialFocus={initialFocus ?? (intent === 'destructive' ? closeRef : true)}\n aria-busy={pending || undefined}\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border2 bg-surface2 shadow-dialog outline-hidden',\n 'data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <div className=\"absolute top-2.5 right-3\">\n <DialogPrimitive.Close\n ref={closeRef}\n disabled={pending}\n render={\n <Button variant=\"ghost\" size=\"icon-sm\" aria-label=\"Close dialog\">\n <X />\n </Button>\n }\n />\n </div>\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n initialFocus={initialFocus}\n className={cn(\n 'dialog-content-anim',\n 'fixed top-[50%] left-[50%] z-50 grid translate-[-50%]',\n 'w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md',\n 'focus-visible:outline-hidden',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n render={\n <Button variant=\"ghost\" size=\"sm\" className=\"absolute top-3 right-3\" aria-label=\"Close\">\n <X />\n </Button>\n }\n />\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex min-w-0 shrink-0 flex-col gap-2 px-4 pt-3 pb-2'\n : 'flex flex-col gap-0.5 px-3 py-2.5 text-left',\n className,\n )}\n {...props}\n />\n );\n};\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex shrink-0 flex-wrap justify-end gap-2 px-4 pt-2 pb-3'\n : 'flex flex-col-reverse gap-1.5 px-3 py-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n};\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { variant } = useDialogContext();\n if (variant === 'new') {\n return (\n <ScrollArea className=\"flex min-h-0 min-w-0 shrink flex-col\" viewPortClassName=\"h-auto min-h-0\" mask>\n <div\n ref={ref}\n className={cn('flex flex-col gap-3 px-4 py-2 text-ui-md [overflow-wrap:anywhere] text-neutral4', className)}\n {...props}\n >\n {children}\n </div>\n </ScrollArea>\n );\n }\n return (\n <div ref={ref} className={cn('max-h-[50vh] overflow-y-auto p-3', className)} {...props}>\n {children}\n </div>\n );\n },\n);\nDialogBody.displayName = 'DialogBody';\n\ntype DialogTitleProps = Omit<DialogPrimitive.Title.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, DialogTitleProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n 'text-header-xs font-medium',\n variant === 'new' && 'pr-8 [overflow-wrap:anywhere] text-neutral6',\n className,\n )}\n {...props}\n />\n );\n});\nDialogTitle.displayName = 'DialogTitle';\n\ntype DialogDescriptionProps = Omit<DialogPrimitive.Description.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n ({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(variant === 'new' ? 'text-ui-md [overflow-wrap:anywhere] text-neutral4' : 'sr-only', className)}\n {...props}\n />\n );\n },\n);\nDialogDescription.displayName = 'DialogDescription';\n\ntype DialogCancelProps = DialogPrimitive.Close.Props & { size?: TextButtonSize };\n\nconst DialogCancel = React.forwardRef<HTMLButtonElement, DialogCancelProps>(\n ({ disabled, size = 'md', ...props }, ref) => {\n const { pending } = useDialogContext();\n return (\n <DialogPrimitive.Close\n ref={ref}\n render={\n <Button\n size={size}\n variant=\"ghost\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses[size])}\n children={props.children}\n />\n }\n {...props}\n disabled={disabled || pending}\n />\n );\n },\n);\nDialogCancel.displayName = 'DialogCancel';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogBody,\n DialogTitle,\n DialogDescription,\n DialogCancel,\n DialogAction,\n};\n"],"names":["DialogPrimitive"],"mappings":";;;;;;;;;;AAWO,MAAM,gBAAgB,aAAA,CAAkC;AAAA,EAC7D,OAAA,EAAS,SAAA;AAAA,EACT,MAAA,EAAQ,SAAA;AAAA,EACR,OAAA,EAAS;AACX,CAAC,CAAA;AAEM,SAAS,gBAAA,GAAmB;AACjC,EAAA,OAAO,WAAW,aAAa,CAAA;AACjC;AAEO,MAAM,uBAAA,GAA0B;AAAA,EACrC,EAAA,EAAI,6BAAA;AAAA,EACJ,EAAA,EAAI,6BAAA;AAAA,EACJ,EAAA,EAAI,6BAAA;AAAA,EACJ,EAAA,EAAI;AACN;AAEO,MAAM,yBAAA,GAA4B;;ACPzC,SAAS,MAAA,CAAO,EAAE,OAAA,GAAU,SAAA,EAAW,MAAA,GAAS,SAAA,EAAW,OAAA,GAAU,KAAA,EAAO,YAAA,EAAc,GAAG,KAAA,EAAM,EAAgB;AACjH,EAAA,MAAM,QAAQ,OAAA,KAAY,KAAA;AAC1B,EAAA,uBACE,GAAA,CAAC,cAAc,QAAA,EAAd,EAAuB,OAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,OAAA,EAAQ,EACxD,QAAA,kBAAA,GAAA;AAAA,IAACA,QAAA,CAAgB,IAAA;AAAA,IAAhB;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,uBAAA,EAAyB,KAAA,CAAM,uBAAA,KAA4B,KAAA,IAAS,MAAA,KAAW,aAAA,CAAA;AAAA,MAC/E,YAAA,EAAc,CAAC,IAAA,EAAM,OAAA,KAAY;AAC/B,QAAA,IAAI,CAAC,QAAQ,OAAA,EAAS;AACpB,UAAA,OAAA,CAAQ,MAAA,EAAO;AACf,UAAA;AAAA,QACF;AACA,QAAA,YAAA,GAAe,MAAM,OAAO,CAAA;AAAA,MAC9B;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAOA,MAAM,gBAAgB,KAAA,CAAM,UAAA;AAAA,EAC1B,CAAC,EAAE,OAAA,EAAS,UAAU,GAAG,KAAA,IAAS,GAAA,KAAQ;AACxC,IAAA,uBACE,GAAA,CAACA,QAAA,CAAgB,OAAA,EAAhB,EAAwB,KAAW,GAAG,kBAAA,CAAmB,OAAA,EAAS,QAAQ,CAAA,EAAI,GAAG,KAAA,EAC/E,QAAA,EAAA,OAAA,GAAU,SAAY,QAAA,EACzB,CAAA;AAAA,EAEJ;AACF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,MAAM,eAAeA,QAAA,CAAgB;AAOrC,MAAM,WAAA,GAAc,KAAA,CAAM,UAAA,CAAgD,CAAC,EAAE,SAAS,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAClH,EAAA,uBACE,GAAA,CAACA,QAAA,CAAgB,KAAA,EAAhB,EAAsB,KAAW,GAAG,kBAAA,CAAmB,OAAA,EAAS,QAAQ,CAAA,EAAI,GAAG,KAAA,EAC7E,QAAA,EAAA,OAAA,GAAU,SAAY,QAAA,EACzB,CAAA;AAEJ,CAAC;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;AAM1B,MAAM,aAAA,GAAgB,MAAM,UAAA,CAA+C,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3G,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA,CAAgB,QAAA;AAAA,IAAhB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,OAAA,KAAY,QACR,yIAAA,GACA,qBAAA;AAAA,QACJ,gDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAQ5B,MAAM,gBAAgB,KAAA,CAAM,UAAA;AAAA,EAC1B,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,WAAA,GAAc,IAAA,EAAM,gBAAA,EAAkB,YAAA,EAAc,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9F,IAAA,MAAM,EAAE,OAAA,EAAS,MAAA,EAAQ,OAAA,KAAY,gBAAA,EAAiB;AACtD,IAAA,MAAM,QAAA,GAAW,KAAA,CAAM,MAAA,CAA0B,IAAI,CAAA;AACrD,IAAA,IAAI,YAAY,KAAA,EAAO;AACrB,MAAA,4BACG,YAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,WAAA,oBAAe,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,gBAAA,EAAkB,CAAA;AAAA,wBAC5D,IAAA;AAAA,UAACA,QAAA,CAAgB,KAAA;AAAA,UAAhB;AAAA,YACC,GAAA;AAAA,YACA,WAAA,EAAU,gBAAA;AAAA,YACV,cAAA,EAAa,KAAA;AAAA,YACb,aAAA,EAAa,MAAA;AAAA,YACb,IAAA,EAAM,MAAA,KAAW,aAAA,GAAgB,aAAA,GAAgB,QAAA;AAAA,YACjD,YAAA,EAAc,YAAA,KAAiB,MAAA,KAAW,aAAA,GAAgB,QAAA,GAAW,IAAA,CAAA;AAAA,YACrE,aAAW,OAAA,IAAW,MAAA;AAAA,YACtB,SAAA,EAAW,EAAA;AAAA,cACT,gOAAA;AAAA,cACA,iNAAA;AAAA,cACA;AAAA,aACF;AAAA,YACC,GAAG,KAAA;AAAA,YAEH,QAAA,EAAA;AAAA,cAAA,QAAA;AAAA,8BACD,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0BAAA,EACb,QAAA,kBAAA,GAAA;AAAA,gBAACA,QAAA,CAAgB,KAAA;AAAA,gBAAhB;AAAA,kBACC,GAAA,EAAK,QAAA;AAAA,kBACL,QAAA,EAAU,OAAA;AAAA,kBACV,MAAA,kBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,SAAA,EAAU,YAAA,EAAW,cAAA,EAChD,QAAA,kBAAA,GAAA,CAAC,CAAA,EAAA,EAAE,CAAA,EACL;AAAA;AAAA,eAEJ,EACF;AAAA;AAAA;AAAA;AACF,OAAA,EACF,CAAA;AAAA,IAEJ;AACA,IAAA,4BACG,YAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,WAAA,oBAAe,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,gBAAA,EAAkB,CAAA;AAAA,sBAC5D,IAAA;AAAA,QAACA,QAAA,CAAgB,KAAA;AAAA,QAAhB;AAAA,UACC,GAAA;AAAA,UACA,WAAA,EAAU,gBAAA;AAAA,UACV,YAAA;AAAA,UACA,SAAA,EAAW,EAAA;AAAA,YACT,qBAAA;AAAA,YACA,uDAAA;AAAA,YACA,4CAAA;AAAA,YACA,mFAAA;AAAA,YACA,8BAAA;AAAA,YACA;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH,QAAA,EAAA;AAAA,YAAA,QAAA;AAAA,4BACD,GAAA;AAAA,cAACA,QAAA,CAAgB,KAAA;AAAA,cAAhB;AAAA,gBACC,MAAA,kBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,wBAAA,EAAyB,YAAA,EAAW,OAAA,EAC9E,QAAA,kBAAA,GAAA,CAAC,KAAE,CAAA,EACL;AAAA;AAAA;AAEJ;AAAA;AAAA;AACF,KAAA,EACF,CAAA;AAAA,EAEJ;AACF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,MAAM,eAAe,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,KAA4C;AACtF,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,OAAA,KAAY,QACR,qDAAA,GACA,6CAAA;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,MAAM,eAAe,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,KAA4C;AACtF,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,OAAA,KAAY,QACR,0DAAA,GACA,oEAAA;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,MAAM,aAAa,KAAA,CAAM,UAAA;AAAA,EACvB,CAAC,EAAE,SAAA,EAAW,UAAU,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC1C,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,IAAA,IAAI,YAAY,KAAA,EAAO;AACrB,MAAA,2BACG,UAAA,EAAA,EAAW,SAAA,EAAU,wCAAuC,iBAAA,EAAkB,gBAAA,EAAiB,MAAI,IAAA,EAClG,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAA,EAAW,EAAA,CAAG,iFAAA,EAAmF,SAAS,CAAA;AAAA,UACzG,GAAG,KAAA;AAAA,UAEH;AAAA;AAAA,OACH,EACF,CAAA;AAAA,IAEJ;AACA,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAW,EAAA,CAAG,oCAAoC,SAAS,CAAA,EAAI,GAAG,KAAA,EAC9E,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AACA,UAAA,CAAW,WAAA,GAAc,YAAA;AAMzB,MAAM,WAAA,GAAc,MAAM,UAAA,CAAiD,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3G,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,EAAA,uBACE,GAAA;AAAA,IAACA,QAAA,CAAgB,KAAA;AAAA,IAAhB;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,4BAAA;AAAA,QACA,YAAY,KAAA,IAAS,6CAAA;AAAA,QACrB;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AACD,WAAA,CAAY,WAAA,GAAc,aAAA;AAM1B,MAAM,oBAAoB,KAAA,CAAM,UAAA;AAAA,EAC9B,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,KAAQ;AAChC,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,IAAA,uBACE,GAAA;AAAA,MAACA,QAAA,CAAgB,WAAA;AAAA,MAAhB;AAAA,QACC,GAAA;AAAA,QACA,WAAW,EAAA,CAAG,OAAA,KAAY,KAAA,GAAQ,mDAAA,GAAsD,WAAW,SAAS,CAAA;AAAA,QAC3G,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AAIhC,MAAM,eAAe,KAAA,CAAM,UAAA;AAAA,EACzB,CAAC,EAAE,QAAA,EAAU,IAAA,GAAO,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC5C,IAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,gBAAA,EAAiB;AACrC,IAAA,uBACE,GAAA;AAAA,MAACA,QAAA,CAAgB,KAAA;AAAA,MAAhB;AAAA,QACC,GAAA;AAAA,QACA,MAAA,kBACE,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,OAAA,EAAQ,OAAA;AAAA,YACR,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,uBAAA,CAAwB,IAAI,CAAC,CAAA;AAAA,YACtE,UAAU,KAAA,CAAM;AAAA;AAAA,SAClB;AAAA,QAED,GAAG,KAAA;AAAA,QACJ,UAAU,QAAA,IAAY;AAAA;AAAA,KACxB;AAAA,EAEJ;AACF;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;;;;"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const Button = require('../../../Button-BsHGVRjh.cjs');
9
- const dialog = require('../../../dialog-CUeeMxRo.cjs');
8
+ const Button = require('../../../Button-BJOVwaxp.cjs');
9
+ const dialog = require('../../../dialog-B1DwyLJJ.cjs');
10
10
 
11
11
  const ctaClassName = "h-full w-full flex items-center justify-center";
12
12
  const PdfEntry = ({ data, url }) => {
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { FileText, FileVideo, FileAudio, File } from 'lucide-react';
3
3
  import { useState } from 'react';
4
- import { B as Button } from '../../../Button-DsTY88Xz.js';
5
- import { D as Dialog, a as DialogContent, b as DialogHeader, c as DialogTitle, d as DialogDescription, e as DialogBody } from '../../../dialog-KvPRmHPW.js';
4
+ import { B as Button } from '../../../Button-BVGwYwHT.js';
5
+ import { D as Dialog, a as DialogContent, b as DialogHeader, c as DialogTitle, d as DialogDescription, e as DialogBody } from '../../../dialog-Dfrt_JCJ.js';
6
6
 
7
7
  const ctaClassName = "h-full w-full flex items-center justify-center";
8
8
  const PdfEntry = ({ data, url }) => {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const toolCall = require('../../../tool-call-Pi3V0LP3.cjs');
8
+ const toolCall = require('../../../tool-call-DVh_yWov.cjs');
9
9
  const domains_chat_context_chatContext = require('../context/chat-context.cjs.js');
10
10
  const utils_cn = require('../../../cn-DnbTIGXa.cjs');
11
11
 
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { X } from 'lucide-react';
3
3
  import { useState, useEffect } from 'react';
4
- import { T as ToolCall, a as ToolCallTrigger, b as ToolCallTrailing, c as ToolCallContent, d as ToolCallHeader, e as ToolCallIcon, f as ToolCallLabel, g as ToolCallDetail, h as ToolCallSpacer, i as ToolCallDisclosure } from '../../../tool-call-DfLe6Hu5.js';
4
+ import { T as ToolCall, a as ToolCallTrigger, b as ToolCallTrailing, c as ToolCallContent, d as ToolCallHeader, e as ToolCallIcon, f as ToolCallLabel, g as ToolCallDetail, h as ToolCallSpacer, i as ToolCallDisclosure } from '../../../tool-call-BlKbOYRH.js';
5
5
  import { useChatRunning } from '../context/chat-context.es.js';
6
6
  import { c as cn } from '../../../cn-ByEbywDh.js';
7
7
 
@@ -5,9 +5,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const Button = require('../../../Button-BsHGVRjh.cjs');
9
- const codeEditor = require('../../../code-editor-BeosH5J-.cjs');
10
- const dialog = require('../../../dialog-CUeeMxRo.cjs');
8
+ const Button = require('../../../Button-BJOVwaxp.cjs');
9
+ const codeEditor = require('../../../code-editor-CopnXVKT.cjs');
10
+ const dialog = require('../../../dialog-B1DwyLJJ.cjs');
11
11
  const Txt = require('../../../Txt-i-sXSs2m.cjs');
12
12
 
13
13
  const NetworkChoiceMetadata = ({ selectionReason, open, onOpenChange, input }) => {
@@ -1,9 +1,9 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Share2 } from 'lucide-react';
3
3
  import { useState } from 'react';
4
- import { B as Button } from '../../../Button-DsTY88Xz.js';
5
- import { C as CodeEditor } from '../../../code-editor-DPYAjQUV.js';
6
- import { D as Dialog, a as DialogContent, b as DialogHeader, c as DialogTitle, d as DialogDescription, e as DialogBody } from '../../../dialog-KvPRmHPW.js';
4
+ import { B as Button } from '../../../Button-BVGwYwHT.js';
5
+ import { C as CodeEditor } from '../../../code-editor-D7BftGSx.js';
6
+ import { D as Dialog, a as DialogContent, b as DialogHeader, c as DialogTitle, d as DialogDescription, e as DialogBody } from '../../../dialog-Dfrt_JCJ.js';
7
7
  import { T as Txt } from '../../../Txt-CfPhlZOu.js';
8
8
 
9
9
  const NetworkChoiceMetadata = ({ selectionReason, open, onOpenChange, input }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.cjs.js","sources":["../../../../src/domains/chat/context/chat-context.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\nimport type { CoreUserMessage } from '@mastra/core/llm';\nimport type { TaskItem } from '@mastra/core/signals';\nimport { createContext, useContext } from 'react';\n\n/**\n * Plain-prop chat context for the main agent chat, replacing the assistant-ui\n * `useExternalStoreRuntime` runtime and the `ToolCallProvider`.\n *\n * The context is split into focused slices so that high-churn message updates\n * don't force the composer / running consumers to re-render and vice versa.\n */\n\nexport interface ChatSendArgs {\n /** Plain user text. */\n message: string;\n /** Attachments already converted to core user messages (images / files). */\n attachments?: CoreUserMessage[];\n}\n\nexport interface MessagesContextValue {\n /** Live `useChat` messages merged with persisted-surviving stream errors. */\n messages: MastraDBMessage[];\n}\n\nexport interface RunningContextValue {\n /** True while streaming OR awaiting a tool approval. Gates composer send/cancel state. */\n isRunning: boolean;\n /** Cancels the in-flight run (abort + OM reset + cancelRun). */\n cancelRun: () => void | Promise<void>;\n /** Whether the composer may send a new message mid-stream (thread signals). */\n canSendWhileStreaming: boolean;\n}\n\nexport interface SendContextValue {\n send: (args: ChatSendArgs) => void;\n}\n\nexport interface TasksContextValue {\n tasks: TaskItem[];\n}\n\nexport interface AgentContextValue {\n agentId: string;\n agentVersionId?: string;\n requestContext?: Record<string, unknown>;\n}\n\n// NOTE: Tool/network approvals are NOT exposed here. They live in a separate\n// slice (`./tool-call-context`) for the same churn reasons, and the badge\n// approval buttons read it via `useToolCall()`.\n\nexport const ChatMessagesContext = createContext<MessagesContextValue>({ messages: [] });\nexport const ChatRunningContext = createContext<RunningContextValue>({\n isRunning: false,\n cancelRun: () => {},\n canSendWhileStreaming: false,\n});\nexport const ChatSendContext = createContext<SendContextValue>({ send: () => {} });\nexport const ChatTasksContext = createContext<TasksContextValue>({ tasks: [] });\nexport const ChatAgentContext = createContext<AgentContextValue | undefined>(undefined);\n\nexport const useChatMessages = (): MastraDBMessage[] => useContext(ChatMessagesContext).messages;\nexport const useChatRunning = (): RunningContextValue => useContext(ChatRunningContext);\nexport const useChatSend = (): SendContextValue['send'] => useContext(ChatSendContext).send;\nexport const useChatTasks = (): TaskItem[] => useContext(ChatTasksContext).tasks;\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAoDO,MAAM,sBAAsBA,mBAAA,CAAoC,EAAE,QAAA,EAAU,IAAI;AAChF,MAAM,qBAAqBA,mBAAA,CAAmC;AAAA,EACnE,SAAA,EAAW,KAAA;AAAA,EACX,WAAW,MAAM;AAAA,EAAC,CAAA;AAAA,EAClB,qBAAA,EAAuB;AACzB,CAAC;AACM,MAAM,eAAA,GAAkBA,mBAAA,CAAgC,EAAE,IAAA,EAAM,MAAM;AAAC,CAAA,EAAG;AAC1E,MAAM,mBAAmBA,mBAAA,CAAiC,EAAE,KAAA,EAAO,IAAI;AACvE,MAAM,gBAAA,GAAmBA,oBAA6C,MAAS;AAE/E,MAAM,eAAA,GAAkB,MAAyBC,gBAAA,CAAW,mBAAmB,CAAA,CAAE;AACjF,MAAM,cAAA,GAAiB,MAA2BA,gBAAA,CAAW,kBAAkB;AAC/E,MAAM,WAAA,GAAc,MAAgCA,gBAAA,CAAW,eAAe,CAAA,CAAE;AAChF,MAAM,YAAA,GAAe,MAAkBA,gBAAA,CAAW,gBAAgB,CAAA,CAAE;;;;;;;;;;;;"}
1
+ {"version":3,"file":"chat-context.cjs.js","sources":["../../../../src/domains/chat/context/chat-context.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\nimport type { CoreUserMessage } from '@mastra/core/llm';\nimport type { TaskItem } from '@mastra/core/signals';\nimport { createContext, useContext } from 'react';\n\n/**\n * Plain-prop chat context for the main agent chat, replacing the assistant-ui\n * `useExternalStoreRuntime` runtime and the `ToolCallProvider`.\n *\n * The context is split into focused slices so that high-churn message updates\n * don't force the composer / running consumers to re-render and vice versa.\n */\n\nexport interface ChatSendArgs {\n /** Plain user text. */\n message: string;\n /** Attachments already converted to core user messages (images / files). */\n attachments?: CoreUserMessage[];\n}\n\nexport interface MessagesContextValue {\n /** Live `useChat` messages merged with persisted-surviving stream errors. */\n messages: MastraDBMessage[];\n}\n\nexport interface RunningContextValue {\n /** True while streaming OR awaiting a tool approval. Gates composer send/cancel state. */\n isRunning: boolean;\n /** Matches the runId on streamed message metadata; absent before execution starts. */\n activeRunId?: string;\n /** Cancels the in-flight run (abort + OM reset + cancelRun). */\n cancelRun: () => void | Promise<void>;\n /** Whether the composer may send a new message mid-stream (thread signals). */\n canSendWhileStreaming: boolean;\n}\n\nexport interface SendContextValue {\n send: (args: ChatSendArgs) => void;\n}\n\nexport interface TasksContextValue {\n tasks: TaskItem[];\n}\n\nexport interface AgentContextValue {\n agentId: string;\n agentVersionId?: string;\n requestContext?: Record<string, unknown>;\n}\n\n// NOTE: Tool/network approvals are NOT exposed here. They live in a separate\n// slice (`./tool-call-context`) for the same churn reasons, and the badge\n// approval buttons read it via `useToolCall()`.\n\nexport const ChatMessagesContext = createContext<MessagesContextValue>({ messages: [] });\nexport const ChatRunningContext = createContext<RunningContextValue>({\n isRunning: false,\n cancelRun: () => {},\n canSendWhileStreaming: false,\n});\nexport const ChatSendContext = createContext<SendContextValue>({ send: () => {} });\nexport const ChatTasksContext = createContext<TasksContextValue>({ tasks: [] });\nexport const ChatAgentContext = createContext<AgentContextValue | undefined>(undefined);\n\nexport const useChatMessages = (): MastraDBMessage[] => useContext(ChatMessagesContext).messages;\nexport const useChatRunning = (): RunningContextValue => useContext(ChatRunningContext);\nexport const useChatSend = (): SendContextValue['send'] => useContext(ChatSendContext).send;\nexport const useChatTasks = (): TaskItem[] => useContext(ChatTasksContext).tasks;\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAsDO,MAAM,sBAAsBA,mBAAA,CAAoC,EAAE,QAAA,EAAU,IAAI;AAChF,MAAM,qBAAqBA,mBAAA,CAAmC;AAAA,EACnE,SAAA,EAAW,KAAA;AAAA,EACX,WAAW,MAAM;AAAA,EAAC,CAAA;AAAA,EAClB,qBAAA,EAAuB;AACzB,CAAC;AACM,MAAM,eAAA,GAAkBA,mBAAA,CAAgC,EAAE,IAAA,EAAM,MAAM;AAAC,CAAA,EAAG;AAC1E,MAAM,mBAAmBA,mBAAA,CAAiC,EAAE,KAAA,EAAO,IAAI;AACvE,MAAM,gBAAA,GAAmBA,oBAA6C,MAAS;AAE/E,MAAM,eAAA,GAAkB,MAAyBC,gBAAA,CAAW,mBAAmB,CAAA,CAAE;AACjF,MAAM,cAAA,GAAiB,MAA2BA,gBAAA,CAAW,kBAAkB;AAC/E,MAAM,WAAA,GAAc,MAAgCA,gBAAA,CAAW,eAAe,CAAA,CAAE;AAChF,MAAM,YAAA,GAAe,MAAkBA,gBAAA,CAAW,gBAAgB,CAAA,CAAE;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.es.js","sources":["../../../../src/domains/chat/context/chat-context.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\nimport type { CoreUserMessage } from '@mastra/core/llm';\nimport type { TaskItem } from '@mastra/core/signals';\nimport { createContext, useContext } from 'react';\n\n/**\n * Plain-prop chat context for the main agent chat, replacing the assistant-ui\n * `useExternalStoreRuntime` runtime and the `ToolCallProvider`.\n *\n * The context is split into focused slices so that high-churn message updates\n * don't force the composer / running consumers to re-render and vice versa.\n */\n\nexport interface ChatSendArgs {\n /** Plain user text. */\n message: string;\n /** Attachments already converted to core user messages (images / files). */\n attachments?: CoreUserMessage[];\n}\n\nexport interface MessagesContextValue {\n /** Live `useChat` messages merged with persisted-surviving stream errors. */\n messages: MastraDBMessage[];\n}\n\nexport interface RunningContextValue {\n /** True while streaming OR awaiting a tool approval. Gates composer send/cancel state. */\n isRunning: boolean;\n /** Cancels the in-flight run (abort + OM reset + cancelRun). */\n cancelRun: () => void | Promise<void>;\n /** Whether the composer may send a new message mid-stream (thread signals). */\n canSendWhileStreaming: boolean;\n}\n\nexport interface SendContextValue {\n send: (args: ChatSendArgs) => void;\n}\n\nexport interface TasksContextValue {\n tasks: TaskItem[];\n}\n\nexport interface AgentContextValue {\n agentId: string;\n agentVersionId?: string;\n requestContext?: Record<string, unknown>;\n}\n\n// NOTE: Tool/network approvals are NOT exposed here. They live in a separate\n// slice (`./tool-call-context`) for the same churn reasons, and the badge\n// approval buttons read it via `useToolCall()`.\n\nexport const ChatMessagesContext = createContext<MessagesContextValue>({ messages: [] });\nexport const ChatRunningContext = createContext<RunningContextValue>({\n isRunning: false,\n cancelRun: () => {},\n canSendWhileStreaming: false,\n});\nexport const ChatSendContext = createContext<SendContextValue>({ send: () => {} });\nexport const ChatTasksContext = createContext<TasksContextValue>({ tasks: [] });\nexport const ChatAgentContext = createContext<AgentContextValue | undefined>(undefined);\n\nexport const useChatMessages = (): MastraDBMessage[] => useContext(ChatMessagesContext).messages;\nexport const useChatRunning = (): RunningContextValue => useContext(ChatRunningContext);\nexport const useChatSend = (): SendContextValue['send'] => useContext(ChatSendContext).send;\nexport const useChatTasks = (): TaskItem[] => useContext(ChatTasksContext).tasks;\n"],"names":[],"mappings":";;AAoDO,MAAM,sBAAsB,aAAA,CAAoC,EAAE,QAAA,EAAU,IAAI;AAChF,MAAM,qBAAqB,aAAA,CAAmC;AAAA,EACnE,SAAA,EAAW,KAAA;AAAA,EACX,WAAW,MAAM;AAAA,EAAC,CAAA;AAAA,EAClB,qBAAA,EAAuB;AACzB,CAAC;AACM,MAAM,eAAA,GAAkB,aAAA,CAAgC,EAAE,IAAA,EAAM,MAAM;AAAC,CAAA,EAAG;AAC1E,MAAM,mBAAmB,aAAA,CAAiC,EAAE,KAAA,EAAO,IAAI;AACvE,MAAM,gBAAA,GAAmB,cAA6C,MAAS;AAE/E,MAAM,eAAA,GAAkB,MAAyB,UAAA,CAAW,mBAAmB,CAAA,CAAE;AACjF,MAAM,cAAA,GAAiB,MAA2B,UAAA,CAAW,kBAAkB;AAC/E,MAAM,WAAA,GAAc,MAAgC,UAAA,CAAW,eAAe,CAAA,CAAE;AAChF,MAAM,YAAA,GAAe,MAAkB,UAAA,CAAW,gBAAgB,CAAA,CAAE;;;;"}
1
+ {"version":3,"file":"chat-context.es.js","sources":["../../../../src/domains/chat/context/chat-context.ts"],"sourcesContent":["import type { MastraDBMessage } from '@mastra/core/agent/message-list';\nimport type { CoreUserMessage } from '@mastra/core/llm';\nimport type { TaskItem } from '@mastra/core/signals';\nimport { createContext, useContext } from 'react';\n\n/**\n * Plain-prop chat context for the main agent chat, replacing the assistant-ui\n * `useExternalStoreRuntime` runtime and the `ToolCallProvider`.\n *\n * The context is split into focused slices so that high-churn message updates\n * don't force the composer / running consumers to re-render and vice versa.\n */\n\nexport interface ChatSendArgs {\n /** Plain user text. */\n message: string;\n /** Attachments already converted to core user messages (images / files). */\n attachments?: CoreUserMessage[];\n}\n\nexport interface MessagesContextValue {\n /** Live `useChat` messages merged with persisted-surviving stream errors. */\n messages: MastraDBMessage[];\n}\n\nexport interface RunningContextValue {\n /** True while streaming OR awaiting a tool approval. Gates composer send/cancel state. */\n isRunning: boolean;\n /** Matches the runId on streamed message metadata; absent before execution starts. */\n activeRunId?: string;\n /** Cancels the in-flight run (abort + OM reset + cancelRun). */\n cancelRun: () => void | Promise<void>;\n /** Whether the composer may send a new message mid-stream (thread signals). */\n canSendWhileStreaming: boolean;\n}\n\nexport interface SendContextValue {\n send: (args: ChatSendArgs) => void;\n}\n\nexport interface TasksContextValue {\n tasks: TaskItem[];\n}\n\nexport interface AgentContextValue {\n agentId: string;\n agentVersionId?: string;\n requestContext?: Record<string, unknown>;\n}\n\n// NOTE: Tool/network approvals are NOT exposed here. They live in a separate\n// slice (`./tool-call-context`) for the same churn reasons, and the badge\n// approval buttons read it via `useToolCall()`.\n\nexport const ChatMessagesContext = createContext<MessagesContextValue>({ messages: [] });\nexport const ChatRunningContext = createContext<RunningContextValue>({\n isRunning: false,\n cancelRun: () => {},\n canSendWhileStreaming: false,\n});\nexport const ChatSendContext = createContext<SendContextValue>({ send: () => {} });\nexport const ChatTasksContext = createContext<TasksContextValue>({ tasks: [] });\nexport const ChatAgentContext = createContext<AgentContextValue | undefined>(undefined);\n\nexport const useChatMessages = (): MastraDBMessage[] => useContext(ChatMessagesContext).messages;\nexport const useChatRunning = (): RunningContextValue => useContext(ChatRunningContext);\nexport const useChatSend = (): SendContextValue['send'] => useContext(ChatSendContext).send;\nexport const useChatTasks = (): TaskItem[] => useContext(ChatTasksContext).tasks;\n"],"names":[],"mappings":";;AAsDO,MAAM,sBAAsB,aAAA,CAAoC,EAAE,QAAA,EAAU,IAAI;AAChF,MAAM,qBAAqB,aAAA,CAAmC;AAAA,EACnE,SAAA,EAAW,KAAA;AAAA,EACX,WAAW,MAAM;AAAA,EAAC,CAAA;AAAA,EAClB,qBAAA,EAAuB;AACzB,CAAC;AACM,MAAM,eAAA,GAAkB,aAAA,CAAgC,EAAE,IAAA,EAAM,MAAM;AAAC,CAAA,EAAG;AAC1E,MAAM,mBAAmB,aAAA,CAAiC,EAAE,KAAA,EAAO,IAAI;AACvE,MAAM,gBAAA,GAAmB,cAA6C,MAAS;AAE/E,MAAM,eAAA,GAAkB,MAAyB,UAAA,CAAW,mBAAmB,CAAA,CAAE;AACjF,MAAM,cAAA,GAAiB,MAA2B,UAAA,CAAW,kBAAkB;AAC/E,MAAM,WAAA,GAAc,MAAgC,UAAA,CAAW,eAAe,CAAA,CAAE;AAChF,MAAM,YAAA,GAAe,MAAkB,UAAA,CAAW,gBAAgB,CAAA,CAAE;;;;"}
@@ -7,7 +7,7 @@ const lucideReact = require('lucide-react');
7
7
  const domains_chat_messages_notificationSignalNoticeVariant = require('./notification-signal-notice-variant.cjs.js');
8
8
  const domains_chat_messages_signalData = require('./signal-data.cjs.js');
9
9
  const Badge = require('../../../Badge-B-LKnrNk.cjs');
10
- const Notice = require('../../../Notice-BUSAcuH-.cjs');
10
+ const Notice = require('../../../Notice-D0Mvqvr0.cjs');
11
11
 
12
12
  const getNotificationTitle = (signal) => {
13
13
  const notification = domains_chat_messages_signalData.getNotificationMetadata(signal);
@@ -3,7 +3,7 @@ import { Bell } from 'lucide-react';
3
3
  import { getNotificationNoticeVariant } from './notification-signal-notice-variant.es.js';
4
4
  import { getNotificationMetadata, formatSignalValue, signalContentsToText } from './signal-data.es.js';
5
5
  import { B as Badge } from '../../../Badge-BqVBVHGc.js';
6
- import { N as Notice } from '../../../Notice-B5khVt-8.js';
6
+ import { N as Notice } from '../../../Notice-CMZ86f1g.js';
7
7
 
8
8
  const getNotificationTitle = (signal) => {
9
9
  const notification = getNotificationMetadata(signal);
@@ -5,7 +5,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_chat_messages_renderers_messageText = require('./message-text.cjs.js');
7
7
 
8
- const AssistantTextPartRenderer = ({ part, metadata, revealing }) => /* @__PURE__ */ jsxRuntime.jsx(domains_chat_messages_renderers_messageText.MessageText, { text: part.text ?? "", metadata, streaming: part.state === "streaming" || revealing });
8
+ const AssistantTextPartRenderer = ({ part, metadata, revealing }) => /* @__PURE__ */ jsxRuntime.jsx(
9
+ domains_chat_messages_renderers_messageText.MessageText,
10
+ {
11
+ text: part.text ?? "",
12
+ metadata,
13
+ streaming: part.state === "streaming" || revealing,
14
+ tableActions: true
15
+ }
16
+ );
9
17
 
10
18
  exports.AssistantTextPartRenderer = AssistantTextPartRenderer;
11
19
  //# sourceMappingURL=assistant-text-part-renderer.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-text-part-renderer.cjs.js","sources":["../../../../../src/domains/chat/messages/renderers/assistant-text-part-renderer.tsx"],"sourcesContent":["import type { TextPart } from '@mastra/react';\n\nimport type { MessageMetadata } from '../message-metadata';\nimport { MessageText } from './message-text';\n\nexport interface AssistantTextPartRendererProps {\n part: TextPart;\n metadata?: MessageMetadata;\n /** The message's reveal has not caught up, so this part is still filling in. */\n revealing?: boolean;\n}\n\n/**\n * Renders an assistant `MessageFactory` `Text` slot through `MessageText`, which\n * applies markdown plus the legacy error/completion-check handling.\n */\nexport const AssistantTextPartRenderer = ({ part, metadata, revealing }: AssistantTextPartRendererProps) => (\n <MessageText text={part.text ?? ''} metadata={metadata} streaming={part.state === 'streaming' || revealing} />\n);\n"],"names":["jsx","MessageText"],"mappings":";;;;;;;AAgBO,MAAM,4BAA4B,CAAC,EAAE,MAAM,QAAA,EAAU,SAAA,uBAC1DA,cAAA,CAACC,uDAAA,EAAA,EAAY,IAAA,EAAM,IAAA,CAAK,QAAQ,EAAA,EAAI,QAAA,EAAoB,WAAW,IAAA,CAAK,KAAA,KAAU,eAAe,SAAA,EAAW;;;;"}
1
+ {"version":3,"file":"assistant-text-part-renderer.cjs.js","sources":["../../../../../src/domains/chat/messages/renderers/assistant-text-part-renderer.tsx"],"sourcesContent":["import type { TextPart } from '@mastra/react';\n\nimport type { MessageMetadata } from '../message-metadata';\nimport { MessageText } from './message-text';\n\nexport interface AssistantTextPartRendererProps {\n part: TextPart;\n metadata?: MessageMetadata;\n /** The message's reveal has not caught up, so this part is still filling in. */\n revealing?: boolean;\n}\n\n/**\n * Renders an assistant `MessageFactory` `Text` slot through `MessageText`, which\n * applies markdown plus the legacy error/completion-check handling.\n */\nexport const AssistantTextPartRenderer = ({ part, metadata, revealing }: AssistantTextPartRendererProps) => (\n <MessageText\n text={part.text ?? ''}\n metadata={metadata}\n streaming={part.state === 'streaming' || revealing}\n tableActions\n />\n);\n"],"names":["jsx","MessageText"],"mappings":";;;;;;;AAgBO,MAAM,4BAA4B,CAAC,EAAE,IAAA,EAAM,QAAA,EAAU,WAAU,qBACpEA,cAAA;AAAA,EAACC,uDAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,IACnB,QAAA;AAAA,IACA,SAAA,EAAW,IAAA,CAAK,KAAA,KAAU,WAAA,IAAe,SAAA;AAAA,IACzC,YAAA,EAAY;AAAA;AACd;;;;"}
@@ -1,7 +1,15 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { MessageText } from './message-text.es.js';
3
3
 
4
- const AssistantTextPartRenderer = ({ part, metadata, revealing }) => /* @__PURE__ */ jsx(MessageText, { text: part.text ?? "", metadata, streaming: part.state === "streaming" || revealing });
4
+ const AssistantTextPartRenderer = ({ part, metadata, revealing }) => /* @__PURE__ */ jsx(
5
+ MessageText,
6
+ {
7
+ text: part.text ?? "",
8
+ metadata,
9
+ streaming: part.state === "streaming" || revealing,
10
+ tableActions: true
11
+ }
12
+ );
5
13
 
6
14
  export { AssistantTextPartRenderer };
7
15
  //# sourceMappingURL=assistant-text-part-renderer.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-text-part-renderer.es.js","sources":["../../../../../src/domains/chat/messages/renderers/assistant-text-part-renderer.tsx"],"sourcesContent":["import type { TextPart } from '@mastra/react';\n\nimport type { MessageMetadata } from '../message-metadata';\nimport { MessageText } from './message-text';\n\nexport interface AssistantTextPartRendererProps {\n part: TextPart;\n metadata?: MessageMetadata;\n /** The message's reveal has not caught up, so this part is still filling in. */\n revealing?: boolean;\n}\n\n/**\n * Renders an assistant `MessageFactory` `Text` slot through `MessageText`, which\n * applies markdown plus the legacy error/completion-check handling.\n */\nexport const AssistantTextPartRenderer = ({ part, metadata, revealing }: AssistantTextPartRendererProps) => (\n <MessageText text={part.text ?? ''} metadata={metadata} streaming={part.state === 'streaming' || revealing} />\n);\n"],"names":[],"mappings":";;;AAgBO,MAAM,4BAA4B,CAAC,EAAE,MAAM,QAAA,EAAU,SAAA,uBAC1D,GAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAM,IAAA,CAAK,QAAQ,EAAA,EAAI,QAAA,EAAoB,WAAW,IAAA,CAAK,KAAA,KAAU,eAAe,SAAA,EAAW;;;;"}
1
+ {"version":3,"file":"assistant-text-part-renderer.es.js","sources":["../../../../../src/domains/chat/messages/renderers/assistant-text-part-renderer.tsx"],"sourcesContent":["import type { TextPart } from '@mastra/react';\n\nimport type { MessageMetadata } from '../message-metadata';\nimport { MessageText } from './message-text';\n\nexport interface AssistantTextPartRendererProps {\n part: TextPart;\n metadata?: MessageMetadata;\n /** The message's reveal has not caught up, so this part is still filling in. */\n revealing?: boolean;\n}\n\n/**\n * Renders an assistant `MessageFactory` `Text` slot through `MessageText`, which\n * applies markdown plus the legacy error/completion-check handling.\n */\nexport const AssistantTextPartRenderer = ({ part, metadata, revealing }: AssistantTextPartRendererProps) => (\n <MessageText\n text={part.text ?? ''}\n metadata={metadata}\n streaming={part.state === 'streaming' || revealing}\n tableActions\n />\n);\n"],"names":[],"mappings":";;;AAgBO,MAAM,4BAA4B,CAAC,EAAE,IAAA,EAAM,QAAA,EAAU,WAAU,qBACpE,GAAA;AAAA,EAAC,WAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,IACnB,QAAA;AAAA,IACA,SAAA,EAAW,IAAA,CAAK,KAAA,KAAU,WAAA,IAAe,SAAA;AAAA,IACzC,YAAA,EAAY;AAAA;AACd;;;;"}
@@ -8,12 +8,12 @@ const React = require('react');
8
8
  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-B-LKnrNk.cjs');
11
- const markdownRenderer = require('../../../../markdown-renderer-Ds3PaLdR.cjs');
12
- const Notice = require('../../../../Notice-BUSAcuH-.cjs');
11
+ const markdownRenderer = require('../../../../markdown-renderer-hBiN_N_-.cjs');
12
+ const Notice = require('../../../../Notice-D0Mvqvr0.cjs');
13
13
  const icons_Icon = require('../../../../icons/Icon.cjs.js');
14
14
  const utils_cn = require('../../../../cn-DnbTIGXa.cjs');
15
15
 
16
- const MessageText = ({ text, metadata, externalLinkTarget, streaming }) => {
16
+ const MessageText = ({ text, metadata, externalLinkTarget, streaming, tableActions }) => {
17
17
  const [collapsedCompletionCheck, setCollapsedCompletionCheck] = React.useState(false);
18
18
  switch (domains_chat_messages_renderers_messageTextKind.messageTextKind(text, metadata)) {
19
19
  case "tripwire":
@@ -34,7 +34,15 @@ const MessageText = ({ text, metadata, externalLinkTarget, streaming }) => {
34
34
  !collapsedCompletionCheck && /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice, { variant: "info", title: metadata?.completionResult?.passed ? "Complete" : "Not Complete", children: /* @__PURE__ */ jsxRuntime.jsx(markdownRenderer.MarkdownRenderer, { externalLinkTarget, children: text }) })
35
35
  ] });
36
36
  default:
37
- return /* @__PURE__ */ jsxRuntime.jsx(markdownRenderer.MarkdownRenderer, { externalLinkTarget, streaming: Boolean(streaming), children: text });
37
+ return /* @__PURE__ */ jsxRuntime.jsx(
38
+ markdownRenderer.MarkdownRenderer,
39
+ {
40
+ externalLinkTarget,
41
+ streaming: Boolean(streaming),
42
+ tableActions,
43
+ children: text
44
+ }
45
+ );
38
46
  }
39
47
  };
40
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"message-text.cjs.js","sources":["../../../../../src/domains/chat/messages/renderers/message-text.tsx"],"sourcesContent":["import { CheckCircleIcon, ChevronUpIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MessageMetadata } from '../message-metadata';\nimport { TripwireNotice } from '../tripwire-notice';\nimport { errorMessage, messageTextKind } from './message-text-kind';\nimport { Badge } from '@/ds/components/Badge';\nimport { MarkdownRenderer, type MarkdownExternalLinkTarget } from '@/ds/components/MarkdownRenderer';\nimport { Notice } from '@/ds/components/Notice';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\nexport interface MessageTextProps {\n text: string;\n metadata: MessageMetadata | undefined;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n streaming?: boolean;\n}\n\n/**\n * Part-level text renderer. Markdown for normal text, plus the legacy\n * error/completion handling previously in `ErrorAwareText` (which read part\n * metadata).\n */\nexport const MessageText = ({ text, metadata, externalLinkTarget, streaming }: MessageTextProps) => {\n const [collapsedCompletionCheck, setCollapsedCompletionCheck] = useState(false);\n\n switch (messageTextKind(text, metadata)) {\n case 'tripwire':\n return <TripwireNotice reason={text} tripwire={metadata?.tripwire} />;\n\n case 'warning':\n return (\n <Notice variant=\"warning\" title=\"Warning\">\n <Notice.Message>{text}</Notice.Message>\n </Notice>\n );\n\n case 'error':\n return (\n <Notice variant=\"destructive\" title=\"Error\">\n <Notice.Message>{errorMessage(text)}</Notice.Message>\n </Notice>\n );\n\n case 'completion':\n return (\n <div className=\"mb-2 space-y-2\">\n <button onClick={() => setCollapsedCompletionCheck(s => !s)} className=\"flex items-center gap-2\">\n <Icon>\n <ChevronUpIcon className={cn('transition-all', collapsedCompletionCheck ? 'rotate-90' : 'rotate-180')} />\n </Icon>\n <Badge variant=\"blue\" icon={<CheckCircleIcon />}>\n {collapsedCompletionCheck ? 'Show' : 'Hide'} completion check\n </Badge>\n </button>\n {!collapsedCompletionCheck && (\n <Notice variant=\"info\" title={metadata?.completionResult?.passed ? 'Complete' : 'Not Complete'}>\n <MarkdownRenderer externalLinkTarget={externalLinkTarget}>{text}</MarkdownRenderer>\n </Notice>\n )}\n </div>\n );\n\n default:\n return (\n <MarkdownRenderer externalLinkTarget={externalLinkTarget} streaming={Boolean(streaming)}>\n {text}\n </MarkdownRenderer>\n );\n }\n};\n"],"names":["useState","messageTextKind","TripwireNotice","jsx","Notice","errorMessage","jsxs","Icon","ChevronUpIcon","cn","Badge","CheckCircleIcon","MarkdownRenderer"],"mappings":";;;;;;;;;;;;;;;AAuBO,MAAM,cAAc,CAAC,EAAE,MAAM,QAAA,EAAU,kBAAA,EAAoB,WAAU,KAAwB;AAClG,EAAA,MAAM,CAAC,wBAAA,EAA0B,2BAA2B,CAAA,GAAIA,eAAS,KAAK,CAAA;AAE9E,EAAA,QAAQC,+DAAA,CAAgB,IAAA,EAAM,QAAQ,CAAA;AAAG,IACvC,KAAK,UAAA;AACH,MAAA,sCAAQC,mDAAA,EAAA,EAAe,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,QAAA,EAAU,CAAA;AAAA,IAErE,KAAK,SAAA;AACH,MAAA,uBACEC,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,KAAA,EAAM,SAAA,EAC9B,QAAA,kBAAAD,cAAA,CAACC,aAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,IAAA,EAAK,CAAA,EACxB,CAAA;AAAA,IAGJ,KAAK,OAAA;AACH,MAAA,uBACED,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,aAAA,EAAc,KAAA,EAAM,OAAA,EAClC,QAAA,kBAAAD,cAAA,CAACC,aAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAAC,4DAAA,CAAa,IAAI,GAAE,CAAA,EACtC,CAAA;AAAA,IAGJ,KAAK,YAAA;AACH,MAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,QAAA,EAAA,EAAO,SAAS,MAAM,2BAAA,CAA4B,OAAK,CAAC,CAAC,CAAA,EAAG,SAAA,EAAU,yBAAA,EACrE,QAAA,EAAA;AAAA,0BAAAH,cAAA,CAACI,eAAA,EAAA,EACC,QAAA,kBAAAJ,cAAA,CAACK,yBAAA,EAAA,EAAc,SAAA,EAAWC,WAAA,CAAG,kBAAkB,wBAAA,GAA2B,WAAA,GAAc,YAAY,CAAA,EAAG,CAAA,EACzG,CAAA;AAAA,0CACCC,WAAA,EAAA,EAAM,OAAA,EAAQ,QAAO,IAAA,kBAAMP,cAAA,CAACQ,+BAAgB,CAAA,EAC1C,QAAA,EAAA;AAAA,YAAA,wBAAA,GAA2B,MAAA,GAAS,MAAA;AAAA,YAAO;AAAA,WAAA,EAC9C;AAAA,SAAA,EACF,CAAA;AAAA,QACC,CAAC,wBAAA,oBACAR,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,QAAO,KAAA,EAAO,QAAA,EAAU,gBAAA,EAAkB,MAAA,GAAS,aAAa,cAAA,EAC9E,QAAA,kBAAAD,cAAA,CAACS,iCAAA,EAAA,EAAiB,kBAAA,EAAyC,gBAAK,CAAA,EAClE;AAAA,OAAA,EAEJ,CAAA;AAAA,IAGJ;AACE,MAAA,sCACGA,iCAAA,EAAA,EAAiB,kBAAA,EAAwC,WAAW,OAAA,CAAQ,SAAS,GACnF,QAAA,EAAA,IAAA,EACH,CAAA;AAAA;AAGR;;;;"}
1
+ {"version":3,"file":"message-text.cjs.js","sources":["../../../../../src/domains/chat/messages/renderers/message-text.tsx"],"sourcesContent":["import { CheckCircleIcon, ChevronUpIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MessageMetadata } from '../message-metadata';\nimport { TripwireNotice } from '../tripwire-notice';\nimport { errorMessage, messageTextKind } from './message-text-kind';\nimport { Badge } from '@/ds/components/Badge';\nimport { MarkdownRenderer, type MarkdownExternalLinkTarget } from '@/ds/components/MarkdownRenderer';\nimport { Notice } from '@/ds/components/Notice';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\nexport interface MessageTextProps {\n text: string;\n metadata: MessageMetadata | undefined;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n streaming?: boolean;\n tableActions?: boolean;\n}\n\n/**\n * Part-level text renderer. Markdown for normal text, plus the legacy\n * error/completion handling previously in `ErrorAwareText` (which read part\n * metadata).\n */\nexport const MessageText = ({ text, metadata, externalLinkTarget, streaming, tableActions }: MessageTextProps) => {\n const [collapsedCompletionCheck, setCollapsedCompletionCheck] = useState(false);\n\n switch (messageTextKind(text, metadata)) {\n case 'tripwire':\n return <TripwireNotice reason={text} tripwire={metadata?.tripwire} />;\n\n case 'warning':\n return (\n <Notice variant=\"warning\" title=\"Warning\">\n <Notice.Message>{text}</Notice.Message>\n </Notice>\n );\n\n case 'error':\n return (\n <Notice variant=\"destructive\" title=\"Error\">\n <Notice.Message>{errorMessage(text)}</Notice.Message>\n </Notice>\n );\n\n case 'completion':\n return (\n <div className=\"mb-2 space-y-2\">\n <button onClick={() => setCollapsedCompletionCheck(s => !s)} className=\"flex items-center gap-2\">\n <Icon>\n <ChevronUpIcon className={cn('transition-all', collapsedCompletionCheck ? 'rotate-90' : 'rotate-180')} />\n </Icon>\n <Badge variant=\"blue\" icon={<CheckCircleIcon />}>\n {collapsedCompletionCheck ? 'Show' : 'Hide'} completion check\n </Badge>\n </button>\n {!collapsedCompletionCheck && (\n <Notice variant=\"info\" title={metadata?.completionResult?.passed ? 'Complete' : 'Not Complete'}>\n <MarkdownRenderer externalLinkTarget={externalLinkTarget}>{text}</MarkdownRenderer>\n </Notice>\n )}\n </div>\n );\n\n default:\n return (\n <MarkdownRenderer\n externalLinkTarget={externalLinkTarget}\n streaming={Boolean(streaming)}\n tableActions={tableActions}\n >\n {text}\n </MarkdownRenderer>\n );\n }\n};\n"],"names":["useState","messageTextKind","TripwireNotice","jsx","Notice","errorMessage","jsxs","Icon","ChevronUpIcon","cn","Badge","CheckCircleIcon","MarkdownRenderer"],"mappings":";;;;;;;;;;;;;;;AAwBO,MAAM,WAAA,GAAc,CAAC,EAAE,IAAA,EAAM,UAAU,kBAAA,EAAoB,SAAA,EAAW,cAAa,KAAwB;AAChH,EAAA,MAAM,CAAC,wBAAA,EAA0B,2BAA2B,CAAA,GAAIA,eAAS,KAAK,CAAA;AAE9E,EAAA,QAAQC,+DAAA,CAAgB,IAAA,EAAM,QAAQ,CAAA;AAAG,IACvC,KAAK,UAAA;AACH,MAAA,sCAAQC,mDAAA,EAAA,EAAe,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,QAAA,EAAU,CAAA;AAAA,IAErE,KAAK,SAAA;AACH,MAAA,uBACEC,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,KAAA,EAAM,SAAA,EAC9B,QAAA,kBAAAD,cAAA,CAACC,aAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,IAAA,EAAK,CAAA,EACxB,CAAA;AAAA,IAGJ,KAAK,OAAA;AACH,MAAA,uBACED,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,aAAA,EAAc,KAAA,EAAM,OAAA,EAClC,QAAA,kBAAAD,cAAA,CAACC,aAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAAC,4DAAA,CAAa,IAAI,GAAE,CAAA,EACtC,CAAA;AAAA,IAGJ,KAAK,YAAA;AACH,MAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,QAAA,EAAA,EAAO,SAAS,MAAM,2BAAA,CAA4B,OAAK,CAAC,CAAC,CAAA,EAAG,SAAA,EAAU,yBAAA,EACrE,QAAA,EAAA;AAAA,0BAAAH,cAAA,CAACI,eAAA,EAAA,EACC,QAAA,kBAAAJ,cAAA,CAACK,yBAAA,EAAA,EAAc,SAAA,EAAWC,WAAA,CAAG,kBAAkB,wBAAA,GAA2B,WAAA,GAAc,YAAY,CAAA,EAAG,CAAA,EACzG,CAAA;AAAA,0CACCC,WAAA,EAAA,EAAM,OAAA,EAAQ,QAAO,IAAA,kBAAMP,cAAA,CAACQ,+BAAgB,CAAA,EAC1C,QAAA,EAAA;AAAA,YAAA,wBAAA,GAA2B,MAAA,GAAS,MAAA;AAAA,YAAO;AAAA,WAAA,EAC9C;AAAA,SAAA,EACF,CAAA;AAAA,QACC,CAAC,wBAAA,oBACAR,cAAA,CAACC,aAAA,EAAA,EAAO,OAAA,EAAQ,QAAO,KAAA,EAAO,QAAA,EAAU,gBAAA,EAAkB,MAAA,GAAS,aAAa,cAAA,EAC9E,QAAA,kBAAAD,cAAA,CAACS,iCAAA,EAAA,EAAiB,kBAAA,EAAyC,gBAAK,CAAA,EAClE;AAAA,OAAA,EAEJ,CAAA;AAAA,IAGJ;AACE,MAAA,uBACET,cAAA;AAAA,QAACS,iCAAA;AAAA,QAAA;AAAA,UACC,kBAAA;AAAA,UACA,SAAA,EAAW,QAAQ,SAAS,CAAA;AAAA,UAC5B,YAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA;AAGR;;;;"}
@@ -4,12 +4,12 @@ import { useState } from 'react';
4
4
  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-BqVBVHGc.js';
7
- import { M as MarkdownRenderer } from '../../../../markdown-renderer-Wmdi_oR8.js';
8
- import { N as Notice } from '../../../../Notice-B5khVt-8.js';
7
+ import { M as MarkdownRenderer } from '../../../../markdown-renderer-Dp1fJwUB.js';
8
+ import { N as Notice } from '../../../../Notice-CMZ86f1g.js';
9
9
  import { Icon } from '../../../../icons/Icon.es.js';
10
10
  import { c as cn } from '../../../../cn-ByEbywDh.js';
11
11
 
12
- const MessageText = ({ text, metadata, externalLinkTarget, streaming }) => {
12
+ const MessageText = ({ text, metadata, externalLinkTarget, streaming, tableActions }) => {
13
13
  const [collapsedCompletionCheck, setCollapsedCompletionCheck] = useState(false);
14
14
  switch (messageTextKind(text, metadata)) {
15
15
  case "tripwire":
@@ -30,7 +30,15 @@ const MessageText = ({ text, metadata, externalLinkTarget, streaming }) => {
30
30
  !collapsedCompletionCheck && /* @__PURE__ */ jsx(Notice, { variant: "info", title: metadata?.completionResult?.passed ? "Complete" : "Not Complete", children: /* @__PURE__ */ jsx(MarkdownRenderer, { externalLinkTarget, children: text }) })
31
31
  ] });
32
32
  default:
33
- return /* @__PURE__ */ jsx(MarkdownRenderer, { externalLinkTarget, streaming: Boolean(streaming), children: text });
33
+ return /* @__PURE__ */ jsx(
34
+ MarkdownRenderer,
35
+ {
36
+ externalLinkTarget,
37
+ streaming: Boolean(streaming),
38
+ tableActions,
39
+ children: text
40
+ }
41
+ );
34
42
  }
35
43
  };
36
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"message-text.es.js","sources":["../../../../../src/domains/chat/messages/renderers/message-text.tsx"],"sourcesContent":["import { CheckCircleIcon, ChevronUpIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MessageMetadata } from '../message-metadata';\nimport { TripwireNotice } from '../tripwire-notice';\nimport { errorMessage, messageTextKind } from './message-text-kind';\nimport { Badge } from '@/ds/components/Badge';\nimport { MarkdownRenderer, type MarkdownExternalLinkTarget } from '@/ds/components/MarkdownRenderer';\nimport { Notice } from '@/ds/components/Notice';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\nexport interface MessageTextProps {\n text: string;\n metadata: MessageMetadata | undefined;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n streaming?: boolean;\n}\n\n/**\n * Part-level text renderer. Markdown for normal text, plus the legacy\n * error/completion handling previously in `ErrorAwareText` (which read part\n * metadata).\n */\nexport const MessageText = ({ text, metadata, externalLinkTarget, streaming }: MessageTextProps) => {\n const [collapsedCompletionCheck, setCollapsedCompletionCheck] = useState(false);\n\n switch (messageTextKind(text, metadata)) {\n case 'tripwire':\n return <TripwireNotice reason={text} tripwire={metadata?.tripwire} />;\n\n case 'warning':\n return (\n <Notice variant=\"warning\" title=\"Warning\">\n <Notice.Message>{text}</Notice.Message>\n </Notice>\n );\n\n case 'error':\n return (\n <Notice variant=\"destructive\" title=\"Error\">\n <Notice.Message>{errorMessage(text)}</Notice.Message>\n </Notice>\n );\n\n case 'completion':\n return (\n <div className=\"mb-2 space-y-2\">\n <button onClick={() => setCollapsedCompletionCheck(s => !s)} className=\"flex items-center gap-2\">\n <Icon>\n <ChevronUpIcon className={cn('transition-all', collapsedCompletionCheck ? 'rotate-90' : 'rotate-180')} />\n </Icon>\n <Badge variant=\"blue\" icon={<CheckCircleIcon />}>\n {collapsedCompletionCheck ? 'Show' : 'Hide'} completion check\n </Badge>\n </button>\n {!collapsedCompletionCheck && (\n <Notice variant=\"info\" title={metadata?.completionResult?.passed ? 'Complete' : 'Not Complete'}>\n <MarkdownRenderer externalLinkTarget={externalLinkTarget}>{text}</MarkdownRenderer>\n </Notice>\n )}\n </div>\n );\n\n default:\n return (\n <MarkdownRenderer externalLinkTarget={externalLinkTarget} streaming={Boolean(streaming)}>\n {text}\n </MarkdownRenderer>\n );\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAuBO,MAAM,cAAc,CAAC,EAAE,MAAM,QAAA,EAAU,kBAAA,EAAoB,WAAU,KAAwB;AAClG,EAAA,MAAM,CAAC,wBAAA,EAA0B,2BAA2B,CAAA,GAAI,SAAS,KAAK,CAAA;AAE9E,EAAA,QAAQ,eAAA,CAAgB,IAAA,EAAM,QAAQ,CAAA;AAAG,IACvC,KAAK,UAAA;AACH,MAAA,2BAAQ,cAAA,EAAA,EAAe,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,QAAA,EAAU,CAAA;AAAA,IAErE,KAAK,SAAA;AACH,MAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,KAAA,EAAM,SAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,IAAA,EAAK,CAAA,EACxB,CAAA;AAAA,IAGJ,KAAK,OAAA;AACH,MAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,aAAA,EAAc,KAAA,EAAM,OAAA,EAClC,QAAA,kBAAA,GAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,YAAA,CAAa,IAAI,GAAE,CAAA,EACtC,CAAA;AAAA,IAGJ,KAAK,YAAA;AACH,MAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAA,EAAA,EAAO,SAAS,MAAM,2BAAA,CAA4B,OAAK,CAAC,CAAC,CAAA,EAAG,SAAA,EAAU,yBAAA,EACrE,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,EAAA,CAAG,kBAAkB,wBAAA,GAA2B,WAAA,GAAc,YAAY,CAAA,EAAG,CAAA,EACzG,CAAA;AAAA,+BACC,KAAA,EAAA,EAAM,OAAA,EAAQ,QAAO,IAAA,kBAAM,GAAA,CAAC,mBAAgB,CAAA,EAC1C,QAAA,EAAA;AAAA,YAAA,wBAAA,GAA2B,MAAA,GAAS,MAAA;AAAA,YAAO;AAAA,WAAA,EAC9C;AAAA,SAAA,EACF,CAAA;AAAA,QACC,CAAC,wBAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,QAAO,KAAA,EAAO,QAAA,EAAU,gBAAA,EAAkB,MAAA,GAAS,aAAa,cAAA,EAC9E,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,kBAAA,EAAyC,gBAAK,CAAA,EAClE;AAAA,OAAA,EAEJ,CAAA;AAAA,IAGJ;AACE,MAAA,2BACG,gBAAA,EAAA,EAAiB,kBAAA,EAAwC,WAAW,OAAA,CAAQ,SAAS,GACnF,QAAA,EAAA,IAAA,EACH,CAAA;AAAA;AAGR;;;;"}
1
+ {"version":3,"file":"message-text.es.js","sources":["../../../../../src/domains/chat/messages/renderers/message-text.tsx"],"sourcesContent":["import { CheckCircleIcon, ChevronUpIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MessageMetadata } from '../message-metadata';\nimport { TripwireNotice } from '../tripwire-notice';\nimport { errorMessage, messageTextKind } from './message-text-kind';\nimport { Badge } from '@/ds/components/Badge';\nimport { MarkdownRenderer, type MarkdownExternalLinkTarget } from '@/ds/components/MarkdownRenderer';\nimport { Notice } from '@/ds/components/Notice';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\n\nexport interface MessageTextProps {\n text: string;\n metadata: MessageMetadata | undefined;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n streaming?: boolean;\n tableActions?: boolean;\n}\n\n/**\n * Part-level text renderer. Markdown for normal text, plus the legacy\n * error/completion handling previously in `ErrorAwareText` (which read part\n * metadata).\n */\nexport const MessageText = ({ text, metadata, externalLinkTarget, streaming, tableActions }: MessageTextProps) => {\n const [collapsedCompletionCheck, setCollapsedCompletionCheck] = useState(false);\n\n switch (messageTextKind(text, metadata)) {\n case 'tripwire':\n return <TripwireNotice reason={text} tripwire={metadata?.tripwire} />;\n\n case 'warning':\n return (\n <Notice variant=\"warning\" title=\"Warning\">\n <Notice.Message>{text}</Notice.Message>\n </Notice>\n );\n\n case 'error':\n return (\n <Notice variant=\"destructive\" title=\"Error\">\n <Notice.Message>{errorMessage(text)}</Notice.Message>\n </Notice>\n );\n\n case 'completion':\n return (\n <div className=\"mb-2 space-y-2\">\n <button onClick={() => setCollapsedCompletionCheck(s => !s)} className=\"flex items-center gap-2\">\n <Icon>\n <ChevronUpIcon className={cn('transition-all', collapsedCompletionCheck ? 'rotate-90' : 'rotate-180')} />\n </Icon>\n <Badge variant=\"blue\" icon={<CheckCircleIcon />}>\n {collapsedCompletionCheck ? 'Show' : 'Hide'} completion check\n </Badge>\n </button>\n {!collapsedCompletionCheck && (\n <Notice variant=\"info\" title={metadata?.completionResult?.passed ? 'Complete' : 'Not Complete'}>\n <MarkdownRenderer externalLinkTarget={externalLinkTarget}>{text}</MarkdownRenderer>\n </Notice>\n )}\n </div>\n );\n\n default:\n return (\n <MarkdownRenderer\n externalLinkTarget={externalLinkTarget}\n streaming={Boolean(streaming)}\n tableActions={tableActions}\n >\n {text}\n </MarkdownRenderer>\n );\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,WAAA,GAAc,CAAC,EAAE,IAAA,EAAM,UAAU,kBAAA,EAAoB,SAAA,EAAW,cAAa,KAAwB;AAChH,EAAA,MAAM,CAAC,wBAAA,EAA0B,2BAA2B,CAAA,GAAI,SAAS,KAAK,CAAA;AAE9E,EAAA,QAAQ,eAAA,CAAgB,IAAA,EAAM,QAAQ,CAAA;AAAG,IACvC,KAAK,UAAA;AACH,MAAA,2BAAQ,cAAA,EAAA,EAAe,MAAA,EAAQ,IAAA,EAAM,QAAA,EAAU,UAAU,QAAA,EAAU,CAAA;AAAA,IAErE,KAAK,SAAA;AACH,MAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,KAAA,EAAM,SAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,IAAA,EAAK,CAAA,EACxB,CAAA;AAAA,IAGJ,KAAK,OAAA;AACH,MAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,aAAA,EAAc,KAAA,EAAM,OAAA,EAClC,QAAA,kBAAA,GAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,YAAA,CAAa,IAAI,GAAE,CAAA,EACtC,CAAA;AAAA,IAGJ,KAAK,YAAA;AACH,MAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAA,EAAA,EAAO,SAAS,MAAM,2BAAA,CAA4B,OAAK,CAAC,CAAC,CAAA,EAAG,SAAA,EAAU,yBAAA,EACrE,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAW,EAAA,CAAG,kBAAkB,wBAAA,GAA2B,WAAA,GAAc,YAAY,CAAA,EAAG,CAAA,EACzG,CAAA;AAAA,+BACC,KAAA,EAAA,EAAM,OAAA,EAAQ,QAAO,IAAA,kBAAM,GAAA,CAAC,mBAAgB,CAAA,EAC1C,QAAA,EAAA;AAAA,YAAA,wBAAA,GAA2B,MAAA,GAAS,MAAA;AAAA,YAAO;AAAA,WAAA,EAC9C;AAAA,SAAA,EACF,CAAA;AAAA,QACC,CAAC,wBAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,QAAO,KAAA,EAAO,QAAA,EAAU,gBAAA,EAAkB,MAAA,GAAS,aAAa,cAAA,EAC9E,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,kBAAA,EAAyC,gBAAK,CAAA,EAClE;AAAA,OAAA,EAEJ,CAAA;AAAA,IAGJ;AACE,MAAA,uBACE,GAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,kBAAA;AAAA,UACA,SAAA,EAAW,QAAQ,SAAS,CAAA;AAAA,UAC5B,YAAA;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA;AAGR;;;;"}
@@ -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_tripwireNotice = require('../tripwire-notice.cjs.js');
7
- const Notice = require('../../../../Notice-BUSAcuH-.cjs');
7
+ const Notice = require('../../../../Notice-D0Mvqvr0.cjs');
8
8
 
9
9
  const ErrorStatusRenderer = ({ text }) => /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice, { variant: "destructive", title: "Error", children: /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice.Message, { children: text }) });
10
10
  const WarningStatusRenderer = ({ text }) => /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice, { variant: "warning", title: "Warning", children: /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice.Message, { children: text }) });