@mastra/playground-ui 48.0.0-alpha.8 → 48.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 (616) hide show
  1. package/CHANGELOG.md +338 -0
  2. package/dist/{Button-Bm94fEF2.cjs → Button-B4Ixj2aW.cjs} +4 -3
  3. package/dist/Button-B4Ixj2aW.cjs.map +1 -0
  4. package/dist/{Button-Bx2lFdqb.js → Button-C-9Pzy-Z.js} +4 -3
  5. package/dist/Button-C-9Pzy-Z.js.map +1 -0
  6. package/dist/{Notice-B9cdEg8R.cjs → Notice-DSfh1Ap5.cjs} +2 -2
  7. package/dist/{Notice-B9cdEg8R.cjs.map → Notice-DSfh1Ap5.cjs.map} +1 -1
  8. package/dist/{Notice-DIK9IZsq.js → Notice-DWHQgxkA.js} +2 -2
  9. package/dist/{Notice-DIK9IZsq.js.map → Notice-DWHQgxkA.js.map} +1 -1
  10. package/dist/{SessionExpired-C5ADs4NL.cjs → SessionExpired-CL4bppLl.cjs} +2 -2
  11. package/dist/{SessionExpired-C5ADs4NL.cjs.map → SessionExpired-CL4bppLl.cjs.map} +1 -1
  12. package/dist/{SessionExpired-CHF__hq9.js → SessionExpired-qvMB5AP_.js} +2 -2
  13. package/dist/{SessionExpired-CHF__hq9.js.map → SessionExpired-qvMB5AP_.js.map} +1 -1
  14. package/dist/Shimmer.css +37 -0
  15. package/dist/{combobox-sa_Pxyl4.js → combobox-CH9vBToX.js} +2 -2
  16. package/dist/{combobox-sa_Pxyl4.js.map → combobox-CH9vBToX.js.map} +1 -1
  17. package/dist/{combobox-DXwbHjvQ.cjs → combobox-Z3NehlIY.cjs} +2 -2
  18. package/dist/{combobox-DXwbHjvQ.cjs.map → combobox-Z3NehlIY.cjs.map} +1 -1
  19. package/dist/{command-Duq1xsiS.js → command-BZ7S7MR-.js} +2 -2
  20. package/dist/{command-Duq1xsiS.js.map → command-BZ7S7MR-.js.map} +1 -1
  21. package/dist/{command-qsEykgml.cjs → command-DJwcGKv_.cjs} +2 -2
  22. package/dist/{command-qsEykgml.cjs.map → command-DJwcGKv_.cjs.map} +1 -1
  23. package/dist/components/AlertDialog.cjs.js +1 -1
  24. package/dist/components/AlertDialog.es.js +1 -1
  25. package/dist/components/Button.cjs.js +1 -1
  26. package/dist/components/Button.es.js +1 -1
  27. package/dist/components/ChatShell.cjs.js +10 -6
  28. package/dist/components/ChatShell.cjs.js.map +1 -1
  29. package/dist/components/ChatShell.es.js +10 -6
  30. package/dist/components/ChatShell.es.js.map +1 -1
  31. package/dist/components/ClampedText.cjs.js +1 -1
  32. package/dist/components/ClampedText.es.js +1 -1
  33. package/dist/components/CodeBlock.cjs.js +6 -5
  34. package/dist/components/CodeBlock.cjs.js.map +1 -1
  35. package/dist/components/CodeBlock.es.js +4 -3
  36. package/dist/components/CodeBlock.es.js.map +1 -1
  37. package/dist/components/CodeEditor.cjs.js +1 -1
  38. package/dist/components/CodeEditor.es.js +1 -1
  39. package/dist/components/Columns.cjs.js +1 -1
  40. package/dist/components/Columns.es.js +1 -1
  41. package/dist/components/Combobox.cjs.js +1 -1
  42. package/dist/components/Combobox.es.js +1 -1
  43. package/dist/components/Command.cjs.js +1 -1
  44. package/dist/components/Command.es.js +1 -1
  45. package/dist/components/CommandPalette.cjs.js +1 -1
  46. package/dist/components/CommandPalette.es.js +1 -1
  47. package/dist/components/CopyButton.cjs.js +1 -1
  48. package/dist/components/CopyButton.es.js +1 -1
  49. package/dist/components/DataCodeSection.cjs.js +1 -1
  50. package/dist/components/DataCodeSection.es.js +1 -1
  51. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  52. package/dist/components/DataDetailsPanel.es.js +2 -2
  53. package/dist/components/DataFilter.cjs.js +2 -2
  54. package/dist/components/DataFilter.es.js +2 -2
  55. package/dist/components/DataList.cjs.js +2 -2
  56. package/dist/components/DataList.es.js +2 -2
  57. package/dist/components/DataPanel.cjs.js +1 -1
  58. package/dist/components/DataPanel.es.js +1 -1
  59. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  60. package/dist/components/DateRangeTimeline.es.js +1 -1
  61. package/dist/components/DateTimePicker.cjs.js +2 -2
  62. package/dist/components/DateTimePicker.es.js +2 -2
  63. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  64. package/dist/components/DateTimeRangePicker.es.js +1 -1
  65. package/dist/components/Dialog.cjs.js +1 -1
  66. package/dist/components/Dialog.es.js +1 -1
  67. package/dist/components/Drawer.cjs.js +1 -1
  68. package/dist/components/Drawer.es.js +1 -1
  69. package/dist/components/DropdownMenu.cjs.js +1 -1
  70. package/dist/components/DropdownMenu.es.js +1 -1
  71. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  72. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  73. package/dist/components/ErrorBoundary.cjs.js +1 -1
  74. package/dist/components/ErrorBoundary.es.js +1 -1
  75. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  76. package/dist/components/FormFieldBlocks.es.js +2 -2
  77. package/dist/components/HoverCard.cjs.js +1 -1
  78. package/dist/components/HoverCard.es.js +1 -1
  79. package/dist/components/InputGroup.cjs.js +1 -1
  80. package/dist/components/InputGroup.es.js +1 -1
  81. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  82. package/dist/components/JSONSchemaForm.es.js +2 -2
  83. package/dist/components/KeyValueList.cjs.js +1 -1
  84. package/dist/components/KeyValueList.es.js +1 -1
  85. package/dist/components/ListSearch.cjs.js +1 -1
  86. package/dist/components/ListSearch.es.js +1 -1
  87. package/dist/components/MainSidebar.cjs.js +73 -50
  88. package/dist/components/MainSidebar.cjs.js.map +1 -1
  89. package/dist/components/MainSidebar.es.js +73 -50
  90. package/dist/components/MainSidebar.es.js.map +1 -1
  91. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  92. package/dist/components/MarkdownRenderer.es.js +1 -1
  93. package/dist/components/MessageScroller.cjs.js +1 -1
  94. package/dist/components/MessageScroller.es.js +1 -1
  95. package/dist/components/Notice.cjs.js +1 -1
  96. package/dist/components/Notice.es.js +1 -1
  97. package/dist/components/PrevNextNav.cjs.js +1 -1
  98. package/dist/components/PrevNextNav.es.js +1 -1
  99. package/dist/components/PropertyFilter.cjs.js +3 -3
  100. package/dist/components/PropertyFilter.es.js +4 -4
  101. package/dist/components/RuleBuilder.cjs.js +2 -2
  102. package/dist/components/RuleBuilder.es.js +2 -2
  103. package/dist/components/SankeyChart.cjs.js +10 -709
  104. package/dist/components/SankeyChart.cjs.js.map +1 -1
  105. package/dist/components/SankeyChart.es.js +2 -706
  106. package/dist/components/SankeyChart.es.js.map +1 -1
  107. package/dist/components/Select.cjs.js +1 -1
  108. package/dist/components/Select.es.js +1 -1
  109. package/dist/components/SessionExpired.cjs.js +1 -1
  110. package/dist/components/SessionExpired.es.js +1 -1
  111. package/dist/components/Shimmer.cjs.js +2 -15
  112. package/dist/components/Shimmer.cjs.js.map +1 -1
  113. package/dist/components/Shimmer.es.js +2 -15
  114. package/dist/components/Shimmer.es.js.map +1 -1
  115. package/dist/components/SideDialog.cjs.js +3 -3
  116. package/dist/components/SideDialog.es.js +3 -3
  117. package/dist/components/Tabs.cjs.js +4 -3
  118. package/dist/components/Tabs.cjs.js.map +1 -1
  119. package/dist/components/Tabs.es.js +2 -1
  120. package/dist/components/Tabs.es.js.map +1 -1
  121. package/dist/components/ThreadList.cjs.js +1 -1
  122. package/dist/components/ThreadList.es.js +1 -1
  123. package/dist/components/ThreadRail.cjs.js +6 -5
  124. package/dist/components/ThreadRail.cjs.js.map +1 -1
  125. package/dist/components/ThreadRail.es.js +6 -6
  126. package/dist/components/ThreadRail.es.js.map +1 -1
  127. package/dist/components/Truncate.cjs.js +1 -1
  128. package/dist/components/Truncate.es.js +1 -1
  129. package/dist/components/ai/ask-user.cjs.js +1 -1
  130. package/dist/components/ai/ask-user.es.js +1 -1
  131. package/dist/components/ai/plan.cjs.js +2 -2
  132. package/dist/components/ai/plan.es.js +2 -2
  133. package/dist/{copy-button-H2iaKMng.js → copy-button-B1GWIQ-x.js} +2 -2
  134. package/dist/{copy-button-H2iaKMng.js.map → copy-button-B1GWIQ-x.js.map} +1 -1
  135. package/dist/{copy-button-BKFcsNE1.cjs → copy-button-DwZ3c7D4.cjs} +2 -2
  136. package/dist/{copy-button-BKFcsNE1.cjs.map → copy-button-DwZ3c7D4.cjs.map} +1 -1
  137. package/dist/{data-code-section-D2zjah_b.cjs → data-code-section-BjmFgJpC.cjs} +5 -5
  138. package/dist/{data-code-section-D2zjah_b.cjs.map → data-code-section-BjmFgJpC.cjs.map} +1 -1
  139. package/dist/{data-code-section-MHMkC6q9.js → data-code-section-PJM5l3aS.js} +5 -5
  140. package/dist/{data-code-section-MHMkC6q9.js.map → data-code-section-PJM5l3aS.js.map} +1 -1
  141. package/dist/{data-list-CnQRIUyN.js → data-list-CnQWE0QP.js} +2 -2
  142. package/dist/{data-list-CnQRIUyN.js.map → data-list-CnQWE0QP.js.map} +1 -1
  143. package/dist/{data-list-Cb-piK4z.cjs → data-list-Cnnnx_vD.cjs} +2 -2
  144. package/dist/{data-list-Cb-piK4z.cjs.map → data-list-Cnnnx_vD.cjs.map} +1 -1
  145. package/dist/{data-panel-BEvHk4wg.js → data-panel-BQqPr6ew.js} +3 -3
  146. package/dist/{data-panel-BEvHk4wg.js.map → data-panel-BQqPr6ew.js.map} +1 -1
  147. package/dist/{data-panel-BumsjXVz.cjs → data-panel-C85h9XvH.cjs} +3 -3
  148. package/dist/{data-panel-BumsjXVz.cjs.map → data-panel-C85h9XvH.cjs.map} +1 -1
  149. package/dist/{date-time-range-picker-yJBIm34J.js → date-time-range-picker-BQpZVrH7.js} +4 -4
  150. package/dist/{date-time-range-picker-yJBIm34J.js.map → date-time-range-picker-BQpZVrH7.js.map} +1 -1
  151. package/dist/{date-time-range-picker-ue0m5G27.cjs → date-time-range-picker-sT6pHDmU.cjs} +4 -4
  152. package/dist/{date-time-range-picker-ue0m5G27.cjs.map → date-time-range-picker-sT6pHDmU.cjs.map} +1 -1
  153. package/dist/{dialog-ClItuCFY.cjs → dialog-5ZYCeKf-.cjs} +2 -2
  154. package/dist/{dialog-ClItuCFY.cjs.map → dialog-5ZYCeKf-.cjs.map} +1 -1
  155. package/dist/{dialog-bnt6epW2.js → dialog-DDXW5M21.js} +2 -2
  156. package/dist/{dialog-bnt6epW2.js.map → dialog-DDXW5M21.js.map} +1 -1
  157. package/dist/domains/logs/components/log-details-view.cjs.js +2 -2
  158. package/dist/domains/logs/components/log-details-view.es.js +2 -2
  159. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  160. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  161. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  162. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  163. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  164. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  165. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  166. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  167. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  168. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  169. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  170. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  171. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  172. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  173. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -3
  174. package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
  175. package/dist/domains/metrics/components/latency-card-view.es.js +2 -1
  176. package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
  177. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -4
  178. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  179. package/dist/domains/metrics/components/memory-card-view.es.js +3 -2
  180. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  181. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  182. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  183. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -4
  184. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  185. package/dist/domains/metrics/components/scores-card-view.es.js +3 -2
  186. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  187. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -3
  188. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
  189. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +2 -1
  190. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
  191. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -3
  192. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  193. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +2 -1
  194. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  195. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -3
  196. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
  197. package/dist/domains/metrics/components/traces-volume-card-view.es.js +2 -1
  198. package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
  199. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  200. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  201. package/dist/domains/traces/components/shared.cjs.js +8 -0
  202. package/dist/domains/traces/components/shared.cjs.js.map +1 -1
  203. package/dist/domains/traces/components/shared.es.js +8 -0
  204. package/dist/domains/traces/components/shared.es.js.map +1 -1
  205. package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -5
  206. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  207. package/dist/domains/traces/components/span-data-panel-view.es.js +4 -3
  208. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  209. package/dist/domains/traces/components/timeline-name-col.cjs.js +6 -2
  210. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  211. package/dist/domains/traces/components/timeline-name-col.es.js +6 -2
  212. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  213. package/dist/domains/traces/components/timeline-timing-col.cjs.js +1 -1
  214. package/dist/domains/traces/components/timeline-timing-col.es.js +1 -1
  215. package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -3
  216. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -3
  217. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -10
  218. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  219. package/dist/domains/traces/components/trace-data-panel-view.es.js +5 -11
  220. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  221. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  222. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  223. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  224. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  225. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  226. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  227. package/dist/domains/traces/components/traces-toolbar.cjs.js +1 -1
  228. package/dist/domains/traces/components/traces-toolbar.es.js +1 -1
  229. package/dist/domains/traces/hooks/use-entity-names.cjs.js +12 -4
  230. package/dist/domains/traces/hooks/use-entity-names.cjs.js.map +1 -1
  231. package/dist/domains/traces/hooks/use-entity-names.es.js +12 -4
  232. package/dist/domains/traces/hooks/use-entity-names.es.js.map +1 -1
  233. package/dist/{drawer-DZ9amYo_.js → drawer-C8jNXutE.js} +2 -2
  234. package/dist/{drawer-DZ9amYo_.js.map → drawer-C8jNXutE.js.map} +1 -1
  235. package/dist/{drawer-CdsTitFp.cjs → drawer-CNnvBMfD.cjs} +2 -2
  236. package/dist/{drawer-CdsTitFp.cjs.map → drawer-CNnvBMfD.cjs.map} +1 -1
  237. package/dist/{dropdown-menu-ppWztidX.cjs → dropdown-menu-BZGlERgf.cjs} +4 -3
  238. package/dist/dropdown-menu-BZGlERgf.cjs.map +1 -0
  239. package/dist/{dropdown-menu-DEFygDZI.js → dropdown-menu-DCMh8P4w.js} +4 -3
  240. package/dist/dropdown-menu-DCMh8P4w.js.map +1 -0
  241. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  242. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  243. package/dist/ee/signals/entity-learning-api.cjs.js +113 -0
  244. package/dist/ee/signals/entity-learning-api.cjs.js.map +1 -0
  245. package/dist/ee/signals/entity-learning-api.d.ts +2 -0
  246. package/dist/ee/signals/entity-learning-api.es.js +99 -0
  247. package/dist/ee/signals/entity-learning-api.es.js.map +1 -0
  248. package/dist/ee/signals/examples-pager.cjs.js +49 -0
  249. package/dist/ee/signals/examples-pager.cjs.js.map +1 -0
  250. package/dist/ee/signals/examples-pager.d.ts +2 -0
  251. package/dist/ee/signals/examples-pager.es.js +44 -0
  252. package/dist/ee/signals/examples-pager.es.js.map +1 -0
  253. package/dist/ee/signals/flow-card.cjs.js +105 -0
  254. package/dist/ee/signals/flow-card.cjs.js.map +1 -0
  255. package/dist/ee/signals/flow-card.d.ts +2 -0
  256. package/dist/ee/signals/flow-card.es.js +101 -0
  257. package/dist/ee/signals/flow-card.es.js.map +1 -0
  258. package/dist/ee/signals/hooks/theme-query-guards.cjs.js +20 -0
  259. package/dist/ee/signals/hooks/theme-query-guards.cjs.js.map +1 -0
  260. package/dist/ee/signals/hooks/theme-query-guards.d.ts +2 -0
  261. package/dist/ee/signals/hooks/theme-query-guards.es.js +14 -0
  262. package/dist/ee/signals/hooks/theme-query-guards.es.js.map +1 -0
  263. package/dist/ee/signals/hooks/use-entity-learning-progress.cjs.js +19 -0
  264. package/dist/ee/signals/hooks/use-entity-learning-progress.cjs.js.map +1 -0
  265. package/dist/ee/signals/hooks/use-entity-learning-progress.d.ts +2 -0
  266. package/dist/ee/signals/hooks/use-entity-learning-progress.es.js +15 -0
  267. package/dist/ee/signals/hooks/use-entity-learning-progress.es.js.map +1 -0
  268. package/dist/ee/signals/hooks/use-noise-examples.cjs.js +32 -0
  269. package/dist/ee/signals/hooks/use-noise-examples.cjs.js.map +1 -0
  270. package/dist/ee/signals/hooks/use-noise-examples.d.ts +2 -0
  271. package/dist/ee/signals/hooks/use-noise-examples.es.js +28 -0
  272. package/dist/ee/signals/hooks/use-noise-examples.es.js.map +1 -0
  273. package/dist/ee/signals/hooks/use-noise.cjs.js +22 -0
  274. package/dist/ee/signals/hooks/use-noise.cjs.js.map +1 -0
  275. package/dist/ee/signals/hooks/use-noise.d.ts +2 -0
  276. package/dist/ee/signals/hooks/use-noise.es.js +18 -0
  277. package/dist/ee/signals/hooks/use-noise.es.js.map +1 -0
  278. package/dist/ee/signals/hooks/use-snapshot-playback.cjs.js +22 -0
  279. package/dist/ee/signals/hooks/use-snapshot-playback.cjs.js.map +1 -0
  280. package/dist/ee/signals/hooks/use-snapshot-playback.d.ts +2 -0
  281. package/dist/ee/signals/hooks/use-snapshot-playback.es.js +18 -0
  282. package/dist/ee/signals/hooks/use-snapshot-playback.es.js.map +1 -0
  283. package/dist/ee/signals/hooks/use-theme-detail.cjs.js +27 -0
  284. package/dist/ee/signals/hooks/use-theme-detail.cjs.js.map +1 -0
  285. package/dist/ee/signals/hooks/use-theme-detail.d.ts +2 -0
  286. package/dist/ee/signals/hooks/use-theme-detail.es.js +23 -0
  287. package/dist/ee/signals/hooks/use-theme-detail.es.js.map +1 -0
  288. package/dist/ee/signals/hooks/use-theme-entities.cjs.js +18 -0
  289. package/dist/ee/signals/hooks/use-theme-entities.cjs.js.map +1 -0
  290. package/dist/ee/signals/hooks/use-theme-entities.d.ts +2 -0
  291. package/dist/ee/signals/hooks/use-theme-entities.es.js +14 -0
  292. package/dist/ee/signals/hooks/use-theme-entities.es.js.map +1 -0
  293. package/dist/ee/signals/hooks/use-theme-examples.cjs.js +40 -0
  294. package/dist/ee/signals/hooks/use-theme-examples.cjs.js.map +1 -0
  295. package/dist/ee/signals/hooks/use-theme-examples.d.ts +2 -0
  296. package/dist/ee/signals/hooks/use-theme-examples.es.js +36 -0
  297. package/dist/ee/signals/hooks/use-theme-examples.es.js.map +1 -0
  298. package/dist/ee/signals/hooks/use-theme-flow.cjs.js +23 -0
  299. package/dist/ee/signals/hooks/use-theme-flow.cjs.js.map +1 -0
  300. package/dist/ee/signals/hooks/use-theme-flow.d.ts +2 -0
  301. package/dist/ee/signals/hooks/use-theme-flow.es.js +19 -0
  302. package/dist/ee/signals/hooks/use-theme-flow.es.js.map +1 -0
  303. package/dist/ee/signals/hooks/use-theme-flows.cjs.js +22 -0
  304. package/dist/ee/signals/hooks/use-theme-flows.cjs.js.map +1 -0
  305. package/dist/ee/signals/hooks/use-theme-flows.d.ts +2 -0
  306. package/dist/ee/signals/hooks/use-theme-flows.es.js +18 -0
  307. package/dist/ee/signals/hooks/use-theme-flows.es.js.map +1 -0
  308. package/dist/ee/signals/hooks/use-theme-history.cjs.js +20 -0
  309. package/dist/ee/signals/hooks/use-theme-history.cjs.js.map +1 -0
  310. package/dist/ee/signals/hooks/use-theme-history.d.ts +2 -0
  311. package/dist/ee/signals/hooks/use-theme-history.es.js +16 -0
  312. package/dist/ee/signals/hooks/use-theme-history.es.js.map +1 -0
  313. package/dist/ee/signals/hooks/use-theme-paths.cjs.js +21 -0
  314. package/dist/ee/signals/hooks/use-theme-paths.cjs.js.map +1 -0
  315. package/dist/ee/signals/hooks/use-theme-paths.d.ts +2 -0
  316. package/dist/ee/signals/hooks/use-theme-paths.es.js +17 -0
  317. package/dist/ee/signals/hooks/use-theme-paths.es.js.map +1 -0
  318. package/dist/ee/signals/hooks/use-theme-snapshots.cjs.js +22 -0
  319. package/dist/ee/signals/hooks/use-theme-snapshots.cjs.js.map +1 -0
  320. package/dist/ee/signals/hooks/use-theme-snapshots.d.ts +2 -0
  321. package/dist/ee/signals/hooks/use-theme-snapshots.es.js +18 -0
  322. package/dist/ee/signals/hooks/use-theme-snapshots.es.js.map +1 -0
  323. package/dist/ee/signals/hooks/use-trace-insight.cjs.js +21 -0
  324. package/dist/ee/signals/hooks/use-trace-insight.cjs.js.map +1 -0
  325. package/dist/ee/signals/hooks/use-trace-insight.d.ts +2 -0
  326. package/dist/ee/signals/hooks/use-trace-insight.es.js +17 -0
  327. package/dist/ee/signals/hooks/use-trace-insight.es.js.map +1 -0
  328. package/dist/ee/signals/hooks.cjs.js +30 -0
  329. package/dist/ee/signals/hooks.cjs.js.map +1 -0
  330. package/dist/ee/signals/hooks.d.ts +2 -0
  331. package/dist/ee/signals/hooks.es.js +12 -0
  332. package/dist/ee/signals/hooks.es.js.map +1 -0
  333. package/dist/ee/signals/lifeline-point.cjs.js +73 -0
  334. package/dist/ee/signals/lifeline-point.cjs.js.map +1 -0
  335. package/dist/ee/signals/lifeline-point.d.ts +2 -0
  336. package/dist/ee/signals/lifeline-point.es.js +69 -0
  337. package/dist/ee/signals/lifeline-point.es.js.map +1 -0
  338. package/dist/ee/signals/lifeline-row.cjs.js +118 -0
  339. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -0
  340. package/dist/ee/signals/lifeline-row.d.ts +2 -0
  341. package/dist/ee/signals/lifeline-row.es.js +114 -0
  342. package/dist/ee/signals/lifeline-row.es.js.map +1 -0
  343. package/dist/ee/signals/noise-detail-panel.cjs.js +96 -0
  344. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -0
  345. package/dist/ee/signals/noise-detail-panel.d.ts +2 -0
  346. package/dist/ee/signals/noise-detail-panel.es.js +92 -0
  347. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -0
  348. package/dist/ee/signals/sankey-signals-data.cjs.js +138 -0
  349. package/dist/ee/signals/sankey-signals-data.cjs.js.map +1 -0
  350. package/dist/ee/signals/sankey-signals-data.d.ts +2 -0
  351. package/dist/ee/signals/sankey-signals-data.es.js +127 -0
  352. package/dist/ee/signals/sankey-signals-data.es.js.map +1 -0
  353. package/dist/ee/signals/sankey-signals.cjs.js +367 -0
  354. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -0
  355. package/dist/ee/signals/sankey-signals.d.ts +2 -0
  356. package/dist/ee/signals/sankey-signals.es.js +363 -0
  357. package/dist/ee/signals/sankey-signals.es.js.map +1 -0
  358. package/dist/ee/signals/signal-delta-column.cjs.js +90 -0
  359. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -0
  360. package/dist/ee/signals/signal-delta-column.d.ts +2 -0
  361. package/dist/ee/signals/signal-delta-column.es.js +86 -0
  362. package/dist/ee/signals/signal-delta-column.es.js.map +1 -0
  363. package/dist/ee/signals/signal-formatting.cjs.js +83 -0
  364. package/dist/ee/signals/signal-formatting.cjs.js.map +1 -0
  365. package/dist/ee/signals/signal-formatting.d.ts +2 -0
  366. package/dist/ee/signals/signal-formatting.es.js +70 -0
  367. package/dist/ee/signals/signal-formatting.es.js.map +1 -0
  368. package/dist/ee/signals/signal-lifelines.cjs.js +69 -0
  369. package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -0
  370. package/dist/ee/signals/signal-lifelines.d.ts +2 -0
  371. package/dist/ee/signals/signal-lifelines.es.js +65 -0
  372. package/dist/ee/signals/signal-lifelines.es.js.map +1 -0
  373. package/dist/ee/signals/signals-error-state.cjs.js +28 -0
  374. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -0
  375. package/dist/ee/signals/signals-error-state.d.ts +2 -0
  376. package/dist/ee/signals/signals-error-state.es.js +24 -0
  377. package/dist/ee/signals/signals-error-state.es.js.map +1 -0
  378. package/dist/ee/signals/signals-loading-skeleton.cjs.js +57 -0
  379. package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -0
  380. package/dist/ee/signals/signals-loading-skeleton.d.ts +2 -0
  381. package/dist/ee/signals/signals-loading-skeleton.es.js +52 -0
  382. package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -0
  383. package/dist/ee/signals/snapshot-timeline-data.cjs.js +40 -0
  384. package/dist/ee/signals/snapshot-timeline-data.cjs.js.map +1 -0
  385. package/dist/ee/signals/snapshot-timeline-data.d.ts +2 -0
  386. package/dist/ee/signals/snapshot-timeline-data.es.js +34 -0
  387. package/dist/ee/signals/snapshot-timeline-data.es.js.map +1 -0
  388. package/dist/ee/signals/snapshot-timeline.cjs.js +109 -0
  389. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -0
  390. package/dist/ee/signals/snapshot-timeline.d.ts +2 -0
  391. package/dist/ee/signals/snapshot-timeline.es.js +104 -0
  392. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -0
  393. package/dist/ee/signals/sortable-signal-headers.cjs.js +145 -0
  394. package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -0
  395. package/dist/ee/signals/sortable-signal-headers.d.ts +2 -0
  396. package/dist/ee/signals/sortable-signal-headers.es.js +141 -0
  397. package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -0
  398. package/dist/ee/signals/theme-compare-data.cjs.js +46 -0
  399. package/dist/ee/signals/theme-compare-data.cjs.js.map +1 -0
  400. package/dist/ee/signals/theme-compare-data.d.ts +2 -0
  401. package/dist/ee/signals/theme-compare-data.es.js +41 -0
  402. package/dist/ee/signals/theme-compare-data.es.js.map +1 -0
  403. package/dist/ee/signals/theme-compare-sparkline.cjs.js +67 -0
  404. package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -0
  405. package/dist/ee/signals/theme-compare-sparkline.d.ts +2 -0
  406. package/dist/ee/signals/theme-compare-sparkline.es.js +63 -0
  407. package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -0
  408. package/dist/ee/signals/theme-compare.cjs.js +103 -0
  409. package/dist/ee/signals/theme-compare.cjs.js.map +1 -0
  410. package/dist/ee/signals/theme-compare.d.ts +2 -0
  411. package/dist/ee/signals/theme-compare.es.js +99 -0
  412. package/dist/ee/signals/theme-compare.es.js.map +1 -0
  413. package/dist/ee/signals/theme-detail-panel.cjs.js +171 -0
  414. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -0
  415. package/dist/ee/signals/theme-detail-panel.d.ts +2 -0
  416. package/dist/ee/signals/theme-detail-panel.es.js +167 -0
  417. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -0
  418. package/dist/ee/signals/theme-drilldown-data.cjs.js +115 -0
  419. package/dist/ee/signals/theme-drilldown-data.cjs.js.map +1 -0
  420. package/dist/ee/signals/theme-drilldown-data.d.ts +2 -0
  421. package/dist/ee/signals/theme-drilldown-data.es.js +109 -0
  422. package/dist/ee/signals/theme-drilldown-data.es.js.map +1 -0
  423. package/dist/ee/signals/theme-filter-banner.cjs.js +64 -0
  424. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -0
  425. package/dist/ee/signals/theme-filter-banner.d.ts +2 -0
  426. package/dist/ee/signals/theme-filter-banner.es.js +60 -0
  427. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -0
  428. package/dist/ee/signals/theme-lifelines-data.cjs.js +62 -0
  429. package/dist/ee/signals/theme-lifelines-data.cjs.js.map +1 -0
  430. package/dist/ee/signals/theme-lifelines-data.d.ts +2 -0
  431. package/dist/ee/signals/theme-lifelines-data.es.js +56 -0
  432. package/dist/ee/signals/theme-lifelines-data.es.js.map +1 -0
  433. package/dist/ee/signals/theme-lifelines.cjs.js +75 -0
  434. package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -0
  435. package/dist/ee/signals/theme-lifelines.d.ts +2 -0
  436. package/dist/ee/signals/theme-lifelines.es.js +71 -0
  437. package/dist/ee/signals/theme-lifelines.es.js.map +1 -0
  438. package/dist/ee/signals/theme-trend-chart.cjs.js +83 -0
  439. package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -0
  440. package/dist/ee/signals/theme-trend-chart.d.ts +2 -0
  441. package/dist/ee/signals/theme-trend-chart.es.js +79 -0
  442. package/dist/ee/signals/theme-trend-chart.es.js.map +1 -0
  443. package/dist/ee/signals/theme-trend.cjs.js +27 -0
  444. package/dist/ee/signals/theme-trend.cjs.js.map +1 -0
  445. package/dist/ee/signals/theme-trend.d.ts +2 -0
  446. package/dist/ee/signals/theme-trend.es.js +22 -0
  447. package/dist/ee/signals/theme-trend.es.js.map +1 -0
  448. package/dist/ee/signals/trace-insight-view.cjs.js +89 -0
  449. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -0
  450. package/dist/ee/signals/trace-insight-view.d.ts +2 -0
  451. package/dist/ee/signals/trace-insight-view.es.js +85 -0
  452. package/dist/ee/signals/trace-insight-view.es.js.map +1 -0
  453. package/dist/ee/signals/trace-intelligence-context.cjs.js +24 -0
  454. package/dist/ee/signals/trace-intelligence-context.cjs.js.map +1 -0
  455. package/dist/ee/signals/trace-intelligence-context.d.ts +2 -0
  456. package/dist/ee/signals/trace-intelligence-context.es.js +19 -0
  457. package/dist/ee/signals/trace-intelligence-context.es.js.map +1 -0
  458. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +45 -0
  459. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -0
  460. package/dist/ee/signals/trace-intelligence-explainer.d.ts +2 -0
  461. package/dist/ee/signals/trace-intelligence-explainer.es.js +41 -0
  462. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -0
  463. package/dist/ee/signals/trace-intelligence-provider.cjs.js +19 -0
  464. package/dist/ee/signals/trace-intelligence-provider.cjs.js.map +1 -0
  465. package/dist/ee/signals/trace-intelligence-provider.d.ts +2 -0
  466. package/dist/ee/signals/trace-intelligence-provider.es.js +15 -0
  467. package/dist/ee/signals/trace-intelligence-provider.es.js.map +1 -0
  468. package/dist/ee/signals/types.cjs.js +3 -0
  469. package/dist/ee/signals/types.cjs.js.map +1 -0
  470. package/dist/ee/signals/types.d.ts +2 -0
  471. package/dist/ee/signals/types.es.js +2 -0
  472. package/dist/ee/signals/types.es.js.map +1 -0
  473. package/dist/ee/signals/use-trace-intelligence.cjs.js +13 -0
  474. package/dist/ee/signals/use-trace-intelligence.cjs.js.map +1 -0
  475. package/dist/ee/signals/use-trace-intelligence.d.ts +2 -0
  476. package/dist/ee/signals/use-trace-intelligence.es.js +9 -0
  477. package/dist/ee/signals/use-trace-intelligence.es.js.map +1 -0
  478. package/dist/ee/signals/view-mode-tab.cjs.js +18 -0
  479. package/dist/ee/signals/view-mode-tab.cjs.js.map +1 -0
  480. package/dist/ee/signals/view-mode-tab.d.ts +2 -0
  481. package/dist/ee/signals/view-mode-tab.es.js +14 -0
  482. package/dist/ee/signals/view-mode-tab.es.js.map +1 -0
  483. package/dist/ee/signals.cjs.js +38 -0
  484. package/dist/ee/signals.cjs.js.map +1 -1
  485. package/dist/ee/signals.es.js +18 -0
  486. package/dist/ee/signals.es.js.map +1 -1
  487. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  488. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  489. package/dist/{hover-card-crVofiZO.js → hover-card-Bs845QbV.js} +2 -2
  490. package/dist/{hover-card-crVofiZO.js.map → hover-card-Bs845QbV.js.map} +1 -1
  491. package/dist/{hover-card-Bx258om1.cjs → hover-card-Cd9QK50X.cjs} +2 -2
  492. package/dist/{hover-card-Bx258om1.cjs.map → hover-card-Cd9QK50X.cjs.map} +1 -1
  493. package/dist/{input-group-CH72YUVL.cjs → input-group-BTaw3Ycd.cjs} +2 -2
  494. package/dist/{input-group-CH72YUVL.cjs.map → input-group-BTaw3Ycd.cjs.map} +1 -1
  495. package/dist/{input-group-Dzs-ai0n.js → input-group-CWT_IwX0.js} +2 -2
  496. package/dist/{input-group-Dzs-ai0n.js.map → input-group-CWT_IwX0.js.map} +1 -1
  497. package/dist/{markdown-renderer-Bi2fWeoF.js → markdown-renderer-DszxuuNM.js} +36 -18
  498. package/dist/markdown-renderer-DszxuuNM.js.map +1 -0
  499. package/dist/{markdown-renderer-DwfNrhEH.cjs → markdown-renderer-g8xNLOc0.cjs} +36 -18
  500. package/dist/markdown-renderer-g8xNLOc0.cjs.map +1 -0
  501. package/dist/{message-scroller-BmzjZZNs.cjs → message-scroller-BssU0EKT.cjs} +89 -16
  502. package/dist/message-scroller-BssU0EKT.cjs.map +1 -0
  503. package/dist/{message-scroller-D5O7sUS5.js → message-scroller-DlVS0FW7.js} +89 -16
  504. package/dist/message-scroller-DlVS0FW7.js.map +1 -0
  505. package/dist/{property-filter-applied-DI4w1ACS.js → property-filter-applied-C2teL4uw.js} +3 -3
  506. package/dist/{property-filter-applied-DI4w1ACS.js.map → property-filter-applied-C2teL4uw.js.map} +1 -1
  507. package/dist/{property-filter-applied-BhxbHAN8.cjs → property-filter-applied-ChK5XtsC.cjs} +3 -3
  508. package/dist/{property-filter-applied-BhxbHAN8.cjs.map → property-filter-applied-ChK5XtsC.cjs.map} +1 -1
  509. package/dist/resize/panel-drawer.cjs.js +1 -1
  510. package/dist/resize/panel-drawer.es.js +1 -1
  511. package/dist/sankey-chart-Bp-DrL1q.cjs +925 -0
  512. package/dist/sankey-chart-Bp-DrL1q.cjs.map +1 -0
  513. package/dist/sankey-chart-zhW_F0Rm.js +915 -0
  514. package/dist/sankey-chart-zhW_F0Rm.js.map +1 -0
  515. package/dist/{search-field-block-DCnFZzRK.js → search-field-block-D0PBxCxK.js} +2 -2
  516. package/dist/{search-field-block-DCnFZzRK.js.map → search-field-block-D0PBxCxK.js.map} +1 -1
  517. package/dist/{search-field-block-D6TdrHZX.cjs → search-field-block-D4vuLoZI.cjs} +2 -2
  518. package/dist/{search-field-block-D6TdrHZX.cjs.map → search-field-block-D4vuLoZI.cjs.map} +1 -1
  519. package/dist/{select-Beo8qQ0e.js → select-B_E0ADD5.js} +2 -2
  520. package/dist/{select-Beo8qQ0e.js.map → select-B_E0ADD5.js.map} +1 -1
  521. package/dist/{select-B6ce20XX.cjs → select-OAXqZLkC.cjs} +2 -2
  522. package/dist/{select-B6ce20XX.cjs.map → select-OAXqZLkC.cjs.map} +1 -1
  523. package/dist/{select-field-block-svlHplxW.cjs → select-field-block-BN9oU5B5.cjs} +2 -2
  524. package/dist/{select-field-block-svlHplxW.cjs.map → select-field-block-BN9oU5B5.cjs.map} +1 -1
  525. package/dist/{select-field-block-DXw3tD0y.js → select-field-block-D1Na8gZW.js} +2 -2
  526. package/dist/{select-field-block-DXw3tD0y.js.map → select-field-block-D1Na8gZW.js.map} +1 -1
  527. package/dist/src/domains/traces/hooks/use-entity-names.d.ts +2 -1
  528. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +9 -6
  529. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +13 -2
  530. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +2 -2
  531. package/dist/src/ds/components/MarkdownRenderer/markdown-renderer.d.ts +3 -1
  532. package/dist/src/ds/components/SankeyChart/sankey-chart.d.ts +7 -2
  533. package/dist/src/ds/components/SankeyChart/sankey-portal-tooltip.d.ts +8 -0
  534. package/dist/src/ds/components/SankeyChart/use-sankey-geometry-transition.d.ts +11 -0
  535. package/dist/src/ds/components/SankeyChart/use-sankey-hover-tooltip.d.ts +15 -0
  536. package/dist/src/ds/components/ThreadRail/thread-rail-turns.d.ts +2 -0
  537. package/dist/src/ee/signals/entity-learning-api.d.ts +13 -0
  538. package/dist/src/ee/signals/examples-pager.d.ts +7 -0
  539. package/dist/src/ee/signals/flow-card.d.ts +14 -0
  540. package/dist/src/ee/signals/hooks/index.d.ts +11 -0
  541. package/dist/src/ee/signals/hooks/theme-query-guards.d.ts +3 -0
  542. package/dist/src/ee/signals/hooks/use-entity-learning-progress.d.ts +1 -0
  543. package/dist/src/ee/signals/hooks/use-noise-examples.d.ts +2 -0
  544. package/dist/src/ee/signals/hooks/use-noise.d.ts +2 -0
  545. package/dist/src/ee/signals/hooks/use-snapshot-playback.d.ts +9 -0
  546. package/dist/src/ee/signals/hooks/use-theme-detail.d.ts +2 -0
  547. package/dist/src/ee/signals/hooks/use-theme-entities.d.ts +1 -0
  548. package/dist/src/ee/signals/hooks/use-theme-examples.d.ts +2 -0
  549. package/dist/src/ee/signals/hooks/use-theme-flow.d.ts +2 -0
  550. package/dist/src/ee/signals/hooks/use-theme-flows.d.ts +2 -0
  551. package/dist/src/ee/signals/hooks/use-theme-history.d.ts +2 -0
  552. package/dist/src/ee/signals/hooks/use-theme-paths.d.ts +2 -0
  553. package/dist/src/ee/signals/hooks/use-theme-snapshots.d.ts +2 -0
  554. package/dist/src/ee/signals/hooks/use-trace-insight.d.ts +1 -0
  555. package/dist/src/ee/signals/index.d.ts +9 -0
  556. package/dist/src/ee/signals/lifeline-point.d.ts +8 -0
  557. package/dist/src/ee/signals/lifeline-row.d.ts +11 -0
  558. package/dist/src/ee/signals/noise-detail-panel.d.ts +10 -0
  559. package/dist/src/ee/signals/sankey-signals-data.d.ts +41 -0
  560. package/dist/src/ee/signals/sankey-signals.d.ts +12 -0
  561. package/dist/src/ee/signals/signal-delta-column.d.ts +12 -0
  562. package/dist/src/ee/signals/signal-formatting.d.ts +15 -0
  563. package/dist/src/ee/signals/signal-lifelines.d.ts +9 -0
  564. package/dist/src/ee/signals/signals-error-state.d.ts +5 -0
  565. package/dist/src/ee/signals/signals-loading-skeleton.d.ts +2 -0
  566. package/dist/src/ee/signals/snapshot-timeline-data.d.ts +12 -0
  567. package/dist/src/ee/signals/snapshot-timeline.d.ts +25 -0
  568. package/dist/src/ee/signals/sortable-signal-headers.d.ts +6 -0
  569. package/dist/src/ee/signals/theme-compare-data.d.ts +24 -0
  570. package/dist/src/ee/signals/theme-compare-sparkline.d.ts +5 -0
  571. package/dist/src/ee/signals/theme-compare.d.ts +17 -0
  572. package/dist/src/ee/signals/theme-detail-panel.d.ts +11 -0
  573. package/dist/src/ee/signals/theme-drilldown-data.d.ts +10 -0
  574. package/dist/src/ee/signals/theme-filter-banner.d.ts +8 -0
  575. package/dist/src/ee/signals/theme-lifelines-data.d.ts +35 -0
  576. package/dist/src/ee/signals/theme-lifelines.d.ts +17 -0
  577. package/dist/src/ee/signals/theme-trend-chart.d.ts +6 -0
  578. package/dist/src/ee/signals/theme-trend.d.ts +17 -0
  579. package/dist/src/ee/signals/trace-insight-view.d.ts +6 -0
  580. package/dist/src/ee/signals/trace-intelligence-context.d.ts +10 -0
  581. package/dist/src/ee/signals/trace-intelligence-explainer.d.ts +2 -0
  582. package/dist/src/ee/signals/trace-intelligence-provider.d.ts +11 -0
  583. package/dist/src/ee/signals/types.d.ts +1 -0
  584. package/dist/src/ee/signals/use-trace-intelligence.d.ts +1 -0
  585. package/dist/src/ee/signals/view-mode-tab.d.ts +6 -0
  586. package/dist/src/test/msw-server.d.ts +1 -0
  587. package/dist/src/test/vitest-setup.d.ts +1 -0
  588. package/dist/style.css +306 -18
  589. package/dist/tabs-root-BBPou4QC.js +69 -0
  590. package/dist/tabs-root-BBPou4QC.js.map +1 -0
  591. package/dist/tabs-root-VtBc6K2q.cjs +72 -0
  592. package/dist/tabs-root-VtBc6K2q.cjs.map +1 -0
  593. package/dist/{tabs-tab-BkUCE-4E.cjs → tabs-tab-Cq4YR31P.cjs} +2 -67
  594. package/dist/tabs-tab-Cq4YR31P.cjs.map +1 -0
  595. package/dist/{tabs-tab-DDGltcUc.js → tabs-tab-D5JTAehi.js} +6 -69
  596. package/dist/tabs-tab-D5JTAehi.js.map +1 -0
  597. package/dist/{time-picker-mLzcoQMO.js → time-picker-CkqREdQB.js} +2 -2
  598. package/dist/{time-picker-mLzcoQMO.js.map → time-picker-CkqREdQB.js.map} +1 -1
  599. package/dist/{time-picker-BOQtPoyD.cjs → time-picker-Dy2oyq8P.cjs} +2 -2
  600. package/dist/{time-picker-BOQtPoyD.cjs.map → time-picker-Dy2oyq8P.cjs.map} +1 -1
  601. package/dist/{traces-data-list-DtuaCDES.js → traces-data-list-B3wMvCfk.js} +2 -2
  602. package/dist/{traces-data-list-DtuaCDES.js.map → traces-data-list-B3wMvCfk.js.map} +1 -1
  603. package/dist/{traces-data-list-vsvvvEiP.cjs → traces-data-list-pTNo_zbS.cjs} +2 -2
  604. package/dist/{traces-data-list-vsvvvEiP.cjs.map → traces-data-list-pTNo_zbS.cjs.map} +1 -1
  605. package/package.json +8 -8
  606. package/theme.css +6 -8
  607. package/dist/Button-Bm94fEF2.cjs.map +0 -1
  608. package/dist/Button-Bx2lFdqb.js.map +0 -1
  609. package/dist/dropdown-menu-DEFygDZI.js.map +0 -1
  610. package/dist/dropdown-menu-ppWztidX.cjs.map +0 -1
  611. package/dist/markdown-renderer-Bi2fWeoF.js.map +0 -1
  612. package/dist/markdown-renderer-DwfNrhEH.cjs.map +0 -1
  613. package/dist/message-scroller-BmzjZZNs.cjs.map +0 -1
  614. package/dist/message-scroller-D5O7sUS5.js.map +0 -1
  615. package/dist/tabs-tab-BkUCE-4E.cjs.map +0 -1
  616. package/dist/tabs-tab-DDGltcUc.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,343 @@
1
1
  # @mastra/playground-ui
2
2
 
3
+ ## 48.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Export the Trace Intelligence experience with injectable request and navigation adapters so product hosts can render it outside OSS Studio. ([#21272](https://github.com/mastra-ai/mastra/pull/21272))
8
+
9
+ ```tsx
10
+ import { SankeySignals, TraceIntelligenceProvider } from '@mastra/playground-ui/ee/signals';
11
+
12
+ <TraceIntelligenceProvider
13
+ cacheScope={`${organizationId}:${projectId}`}
14
+ request={request}
15
+ getTraceHref={traceId => `/traces/${traceId}`}
16
+ >
17
+ <SankeySignals entityId={agentId} signalNames={signalNames} />
18
+ </TraceIntelligenceProvider>;
19
+ ```
20
+
21
+ - Added `LinearIcon` and `SlackIcon` to the design system icon set, so apps can render the Linear and Slack brand marks without hand-rolling their own SVG. ([#20632](https://github.com/mastra-ai/mastra/pull/20632))
22
+
23
+ ```tsx
24
+ import { LinearIcon } from '@mastra/playground-ui/icons/LinearIcon';
25
+ import { SlackIcon } from '@mastra/playground-ui/icons/SlackIcon';
26
+
27
+ <LinearIcon className="text-icon3 size-4" />;
28
+ <SlackIcon className="size-4" />;
29
+ ```
30
+
31
+ Both take the same props as the other brand icons (`SVGProps<SVGSVGElement>`) and are sized with a class rather than a `size` prop. `GithubIcon` no longer emits a duplicate element id when the same page renders it many times.
32
+
33
+ - Added a `fit` prop to `DataList` to control horizontal sizing. The default `fit="content"` keeps the existing behavior: the grid grows with its widest content and the list scrolls horizontally. The new `fit="container"` makes the list fill its container so flexible columns truncate instead of overflowing — useful for tables that must stay within the viewport. `DataListSkeleton` accepts the same prop. ([#18925](https://github.com/mastra-ai/mastra/pull/18925))
34
+
35
+ ```tsx
36
+ // Before: wide content always forced horizontal scrolling
37
+ <DataList columns="auto 1fr auto">…</DataList>
38
+
39
+ // After: opt in to viewport-fitting behavior
40
+ <DataList columns="auto minmax(0, 1fr) auto" fit="container">…</DataList>
41
+ ```
42
+
43
+ - Added anchored turn positioning to `MessageScroller`. Newly added rows marked with `scrollAnchor` move toward the top of the viewport, while `defaultScrollPosition="last-anchor"` opens saved transcripts at their latest turn. ([#21283](https://github.com/mastra-ai/mastra/pull/21283))
44
+
45
+ Streaming replies can now grow beneath the current prompt without shifting the reading position. Completed replies retain that space until the next anchored turn arrives.
46
+
47
+ ```tsx
48
+ <MessageScrollerProvider defaultScrollPosition="last-anchor">
49
+ <MessageScrollerViewport>
50
+ <MessageScrollerContent>
51
+ <MessageScrollerItem messageId="turn-1" scrollAnchor>
52
+ <p>How do I deploy this workflow?</p>
53
+ </MessageScrollerItem>
54
+ </MessageScrollerContent>
55
+ </MessageScrollerViewport>
56
+ </MessageScrollerProvider>
57
+ ```
58
+
59
+ - Removed the `attributes` field and the `TraceAttributes` type from `TracesListViewTrace`. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
60
+
61
+ The traces list used to fall back to `attributes.agentId`/`attributes.workflowId` for the entity column and to `attributes.status` for the status column. Rows now carry `entityName`/`entityId` and a computed `status` directly, and the lightweight rows the list fetches never carried `attributes` at all, so both fallbacks were dead code reading a field nothing produced.
62
+
63
+ Rows that relied on those fallbacks must set `status` and the entity fields directly:
64
+
65
+ ```tsx
66
+ // Before
67
+ <TracesListView traces={[{ traceId, name, createdAt, attributes: { status: 'completed' } }]} />
68
+
69
+ // After
70
+ <TracesListView traces={[{ traceId, name, createdAt, status: 'success', entityName: 'weatherAgent' }]} />
71
+ ```
72
+
73
+ `TraceAttributes` was reachable as `import type { TraceAttributes } from '@mastra/playground-ui/domains/traces/components/traces-list-view'` and no longer exists. There is no replacement — read `status`, `entityType`, `entityName` and `entityId` off the row instead.
74
+
75
+ ### Patch Changes
76
+
77
+ - Button icons now fade with the rest of the button on hover instead of snapping to full opacity. ([#21208](https://github.com/mastra-ai/mastra/pull/21208))
78
+
79
+ The `duration-normal` and `duration-slow` classes now apply the durations they name. Tailwind generates no utility for a `--duration-*` token, so both classes matched nothing and every transition using them silently ran at the 150ms default. They now run at 200ms and 300ms.
80
+
81
+ - Fix Crumb truncating labels without an ellipsis and clipping their descenders ([#20816](https://github.com/mastra-ai/mastra/pull/20816))
82
+
83
+ `truncate` sat on Crumb's flex root, where `text-overflow` cannot apply — a
84
+ clamped label was hard-cut mid-glyph instead of ellipsized, and the accompanying
85
+ `overflow-hidden` sheared the descenders off the line box. Text children now get
86
+ their own truncating box while icons stay flex siblings.
87
+
88
+ - Improved how the chat transcript meets the composer in `ChatShell`. The dock used to sit on a flat translucent panel with a visible hard edge where it started. It now carries a masked veil that ramps in across the air above the composer and tops out behind the card, so messages dim progressively as they scroll under instead of hitting an edge. The veil never fully hides them, so you can still tell the conversation continues below the composer while you scroll. ([#21260](https://github.com/mastra-ai/mastra/pull/21260))
89
+
90
+ **Migrating a `--chat-veil` override**
91
+
92
+ `--chat-veil` is now an alpha percentage, not a colour: it feeds the veil's mask instead of painting a background. A colour override lands inside `rgb(0 0 0 / …)`, produces invalid CSS and silently drops the fade, so it has to be migrated.
93
+
94
+ ```tsx
95
+ // before
96
+ <ChatShell className="[--chat-veil:color-mix(in_oklab,var(--chat-surface)_70%,transparent)]" />
97
+
98
+ // after — how strong the veil ever gets
99
+ <ChatShell className="[--chat-veil:70%]" />
100
+ ```
101
+
102
+ **The room above the composer moved to the dock**
103
+
104
+ `--chat-fade` is new: the band of air above the composer the veil ramps in across, `1.5rem` by default. It takes over the top half of `--chat-gutter`, which now means the room below the composer only, and `ChatShell.Content` no longer carries bottom padding of its own. Anything rendering `Content` without a `ChatShell.Dock` under it has to supply that room itself.
105
+
106
+ ```tsx
107
+ <ChatShell.Content className="pb-3" />
108
+ ```
109
+
110
+ - Fixed the shimmer that runs under streaming text. It now animates in every app that renders the `Shimmer` component, a short label sweeps at the same speed as a long one so labels side by side stay in step, and the sweep stops under `prefers-reduced-motion`. ([#21250](https://github.com/mastra-ai/mastra/pull/21250))
111
+
112
+ - Reworked the streaming shimmer so it reads as a sweep instead of a blink. The highlight travels through the text's own color, so a muted label stays muted and only brightens as the band passes through it. Readers who prefer reduced motion see the text unanimated. ([#21254](https://github.com/mastra-ai/mastra/pull/21254))
113
+
114
+ ```tsx
115
+ <Txt className="text-icon3">
116
+ <Shimmer>Thinking</Shimmer>
117
+ </Txt>
118
+ ```
119
+
120
+ - Sidebar nav rows now place their trailing action in the layout flow instead of overlaying the row. A row with an `action` renders as a flex pair — label then action — so the action can never sit on top of the label, and hover/active backgrounds paint the whole row including the action. ([#21202](https://github.com/mastra-ai/mastra/pull/21202))
121
+
122
+ - Fixed deep links to nested spans in the trace timeline. Selecting a nested span from a URL now expands its ancestors and scrolls the span into view. ([#20969](https://github.com/mastra-ai/mastra/pull/20969))
123
+
124
+ - Softened the chat composer in the Factory UI. Messages now fade out gradually as they scroll behind the composer instead of meeting a hard translucent edge, and they stay faintly visible below it so you can tell the conversation continues. ([#21260](https://github.com/mastra-ai/mastra/pull/21260))
125
+
126
+ - Pointed the metrics drilldown links and the Trace Intelligence empty state at `/traces` instead of `/observability`, matching Studio's traces route. Apps that pass their own `tracesBasePath` to the metrics provider are unaffected. ([#20958](https://github.com/mastra-ai/mastra/pull/20958))
127
+
128
+ - Dropdown menus and hover cards no longer jump to the top-left corner or drift across the screen when their trigger is hidden or resized while the popup is open. Positioners now honour Floating UI's hidden-anchor state, and `MainSidebar.NavLink` accepts a `ref` so callers can anchor popups to the stable row box instead of a control that comes and goes on hover. ([#21202](https://github.com/mastra-ai/mastra/pull/21202))
129
+
130
+ - Improved the Sankey chart for callers that build interactive column controls. ([#21181](https://github.com/mastra-ai/mastra/pull/21181))
131
+
132
+ - Column headers can show descriptions on hover or keyboard focus.
133
+ - Callers can suppress built-in column labels and render a custom header row.
134
+ - Nodes and ribbons animate continuously into their new positions when column order changes.
135
+
136
+ - Added a dedicated icon and label for skill resolution spans in the trace view. They now show as "Skill" instead of falling back to "Other". ([#21232](https://github.com/mastra-ai/mastra/pull/21232))
137
+
138
+ - Fixed the conversation timeline hover preview clipping its last line: the hidden element used to size the card measured the text at the wrong width, so a long prompt made the card too short for the reply underneath. ([#21251](https://github.com/mastra-ai/mastra/pull/21251))
139
+
140
+ - Fixed saved chat transcripts to open at the latest turn after asynchronously loaded history finishes layout. ([#21301](https://github.com/mastra-ai/mastra/pull/21301))
141
+
142
+ - Added configurable popup-window handling for external Markdown links. ([#21004](https://github.com/mastra-ai/mastra/pull/21004))
143
+
144
+ ```tsx
145
+ <MarkdownRenderer externalLinkTarget="window">{'[Authorize](https://example.com/authorize)'}</MarkdownRenderer>
146
+ ```
147
+
148
+ - Improved the Observability traces list, which was downloading every trace's full prompt and response just to render a 100-character preview. The list now transfers only what it renders, so it loads far less data before a trace is opened and stays fast as traces grow. Measured against ClickHouse with 400 agent-run traces, one 25-row page dropped from 506 KB to 10.6 KB. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
149
+
150
+ - Fixed the Observability traces list permanently falling back to the heavier trace endpoint after a passing server error. ([#20677](https://github.com/mastra-ai/mastra/pull/20677))
151
+
152
+ The list asks the server for lightweight trace rows and falls back to the full ones when a server is too old to serve them. A `500` was treated as that signal, so one transient fault — a database hiccup, a request timeout — pinned the tab to the heavier endpoint for the rest of the session, silently undoing the bandwidth savings until a reload. A `500` now falls back for that request only; the session switches for good once the errors have lasted more than ten seconds, which no longer looks like a hiccup. A `404` still switches immediately, since a server without the route will never grow one mid-session.
153
+
154
+ - Fixed span links such as `/traces/<traceId>?spanId=<spanId>`. Opening or reloading one used to drop the span: the span panel stayed closed and `spanId` disappeared from the URL. The span now opens and the timeline scrolls to it. ([#20958](https://github.com/mastra-ai/mastra/pull/20958))
155
+
156
+ - Updated dependencies [[`e7109ee`](https://github.com/mastra-ai/mastra/commit/e7109ee6f731bacc79c885906f3c7dca8d8f013a), [`697d059`](https://github.com/mastra-ai/mastra/commit/697d05953049bf6d09e89646c137b76f8ed472ad), [`b8ce7ec`](https://github.com/mastra-ai/mastra/commit/b8ce7ec96e39343c6c2f36d12d68a9ad816c09f7), [`2e4624e`](https://github.com/mastra-ai/mastra/commit/2e4624edb6917e61249cb60ee377735e7af7e4a9), [`45a9147`](https://github.com/mastra-ai/mastra/commit/45a914741f578754d79d8b7de7b4e4f304d8e14a), [`a3a3624`](https://github.com/mastra-ai/mastra/commit/a3a3624f646b98e409424d8defccbd334da9e8b8), [`6246914`](https://github.com/mastra-ai/mastra/commit/62469146636911f3cbbe0880bd011c6a897a59a7), [`6445eba`](https://github.com/mastra-ai/mastra/commit/6445eba6020abac681aba1cc9289f446cb400cbe), [`86b7b77`](https://github.com/mastra-ai/mastra/commit/86b7b777980d30f66e1fd134a37d2af4c22e54cc), [`1c75e32`](https://github.com/mastra-ai/mastra/commit/1c75e32f7fc0b9fb6f548b4407feaec8a1440212), [`296dc9a`](https://github.com/mastra-ai/mastra/commit/296dc9af29f3616e786c7825ec32e0df92d754c5), [`f59032a`](https://github.com/mastra-ai/mastra/commit/f59032a73699443555a08a479e7ac578975784f2), [`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`3f73c07`](https://github.com/mastra-ai/mastra/commit/3f73c076727e8c36b4fff7a1b40290fb68957fa8), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`d7cf7fa`](https://github.com/mastra-ai/mastra/commit/d7cf7fafc1ae1b50bd8462dd0e6c671a8606db93), [`7c1ebb1`](https://github.com/mastra-ai/mastra/commit/7c1ebb15690c4b3f0eabb19077cf8af573311e57), [`0f9a448`](https://github.com/mastra-ai/mastra/commit/0f9a448502157e59f7b76f24360ad497168f5ef8), [`578bf2e`](https://github.com/mastra-ai/mastra/commit/578bf2e6a88e9d5b8bf502204e15a95dfbb679ae), [`c47165c`](https://github.com/mastra-ai/mastra/commit/c47165c983c87594c6952f1fd2fa51a90205034c), [`289f4ce`](https://github.com/mastra-ai/mastra/commit/289f4ce16e3293370440172132c52ee787cbc09f), [`deaf0c4`](https://github.com/mastra-ai/mastra/commit/deaf0c4c38fe2e988a094c63bbd8899436f4e579), [`df31eb0`](https://github.com/mastra-ai/mastra/commit/df31eb0c7087d782a0d9346e467f9a4af4b0eef6), [`9571e3a`](https://github.com/mastra-ai/mastra/commit/9571e3a06ed2c5220196460bf82a2129255c3a8b), [`4f16ff8`](https://github.com/mastra-ai/mastra/commit/4f16ff824bf2f9b0ddc93f210477c10c8a4fb1ab), [`b4c89b4`](https://github.com/mastra-ai/mastra/commit/b4c89b4371b0c86da57403ad1a3b3ef0681f3128), [`e6534fa`](https://github.com/mastra-ai/mastra/commit/e6534fab031216f6cb48c4c9907cbfdce9d60bc6), [`3ae7303`](https://github.com/mastra-ai/mastra/commit/3ae7303508ee497c97d280208df68ffad4ffd368), [`210cb7a`](https://github.com/mastra-ai/mastra/commit/210cb7a167998c7bbf72cb3b93e6eb0563330239), [`06b2d87`](https://github.com/mastra-ai/mastra/commit/06b2d87e63bcdd0ed59215c6789692b9b12de376), [`1c67d85`](https://github.com/mastra-ai/mastra/commit/1c67d85e9da8285662f4dbbf47e0378c3fee0747), [`ac01d63`](https://github.com/mastra-ai/mastra/commit/ac01d6355974aec73fdb8781449ed12bac582094), [`772c0c8`](https://github.com/mastra-ai/mastra/commit/772c0c897cec383258de2e6178147f8014767c7b), [`80a3324`](https://github.com/mastra-ai/mastra/commit/80a33245d3110204de6f56d61211523ffe338692), [`e44e8f3`](https://github.com/mastra-ai/mastra/commit/e44e8f370b66c339ddcaba946d33da6d3c3f06cd), [`d9d2881`](https://github.com/mastra-ai/mastra/commit/d9d2881ede6dd6c023d144215fc812062aed0890), [`a810a05`](https://github.com/mastra-ai/mastra/commit/a810a058f62ad407cfc1701e0be36ae91145d7cf), [`ba24be6`](https://github.com/mastra-ai/mastra/commit/ba24be662439c331ab23a600041f93803c89eca8), [`842b5fe`](https://github.com/mastra-ai/mastra/commit/842b5fe22b6a7fa811bd14e48eb9af523ac989f2), [`990611b`](https://github.com/mastra-ai/mastra/commit/990611ba76eb876d86c9c594371ae5f02f94b432), [`80bdf3a`](https://github.com/mastra-ai/mastra/commit/80bdf3ae16ade6ff63bde0cb16fa2df8ab7dd4dd), [`c967a5e`](https://github.com/mastra-ai/mastra/commit/c967a5eec150c5dc5418c4a4388982d1fb7ad27c), [`195e83c`](https://github.com/mastra-ai/mastra/commit/195e83c077687f6016fd8090324975c8d8cea50b), [`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b), [`9ba1247`](https://github.com/mastra-ai/mastra/commit/9ba12470c77f1c03642d720ce67e517e878f666e), [`fd96298`](https://github.com/mastra-ai/mastra/commit/fd96298a8367622f4ebfcaa97b5b6c1fbbd14564), [`66bbfb5`](https://github.com/mastra-ai/mastra/commit/66bbfb5f05b473d39f88c0e4a481ccac41634f3a), [`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b), [`f8da216`](https://github.com/mastra-ai/mastra/commit/f8da21633e7eb0e31c9ce0fc30567870d19416d3), [`4a09a9c`](https://github.com/mastra-ai/mastra/commit/4a09a9c0474ef643558fcb5f0edc542b82f1cab0), [`5f798b3`](https://github.com/mastra-ai/mastra/commit/5f798b3362e9bdf4d690f85245606e146eef60b9), [`6a84954`](https://github.com/mastra-ai/mastra/commit/6a84954a2667f85b6d59da652dab1bbff007ccb0), [`1e83a47`](https://github.com/mastra-ai/mastra/commit/1e83a4734ab61ba5926af6793e3569a78b72ed37), [`52d8ef0`](https://github.com/mastra-ai/mastra/commit/52d8ef03801f1deb7ee48532fc4190dd4a33916c), [`cdd5c33`](https://github.com/mastra-ai/mastra/commit/cdd5c33ac6c7118a9f139e6dc0e14e6a8ae31658), [`7fdcaa6`](https://github.com/mastra-ai/mastra/commit/7fdcaa66105d64290f9b14432a12ec99f39c4d3a), [`d6c56f9`](https://github.com/mastra-ai/mastra/commit/d6c56f951db3213330b98b0abafa9778c8770e58), [`e08e789`](https://github.com/mastra-ai/mastra/commit/e08e789c1bf4cd2fe46363f7a4728536ceccc9bd), [`bf936e2`](https://github.com/mastra-ai/mastra/commit/bf936e2c89b2ff0dad5695b873ddc009ba96d41e), [`7fb580a`](https://github.com/mastra-ai/mastra/commit/7fb580ac73fbcacf2ff00872a3395f73ae1b9fa5), [`ed5d606`](https://github.com/mastra-ai/mastra/commit/ed5d606739c5e3fbdfa9f272df7809aa5ab43b1d), [`f53d5bd`](https://github.com/mastra-ai/mastra/commit/f53d5bd4885b29e4ac29a428a6044088ea8d6aa3), [`87db0e4`](https://github.com/mastra-ai/mastra/commit/87db0e49a8c04030eb74fff7f051fac330678839), [`32980a3`](https://github.com/mastra-ai/mastra/commit/32980a3e2413d0274ac244d32c37d910edc13f00), [`a4f6806`](https://github.com/mastra-ai/mastra/commit/a4f68065d082af57770e7ee3d34996fdc914dbd1), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437), [`82e3365`](https://github.com/mastra-ai/mastra/commit/82e3365ef7c9bf7bee2e7a7029035ea262d68895), [`6104347`](https://github.com/mastra-ai/mastra/commit/61043473ba6bfd0a25156824e853e13165562e6c), [`261edb9`](https://github.com/mastra-ai/mastra/commit/261edb9bc0cfbed2b77090b87562307a360f1a04), [`35cc901`](https://github.com/mastra-ai/mastra/commit/35cc90102cf834a84827acaf9eee0b6d6d1e2a3b), [`a8b4cf0`](https://github.com/mastra-ai/mastra/commit/a8b4cf02823cffebc4751a53337dfacf097c1ae1), [`a53f19b`](https://github.com/mastra-ai/mastra/commit/a53f19b9badb8bd349fe2f885814e9db6b7d3c4b), [`edfe906`](https://github.com/mastra-ai/mastra/commit/edfe906f7926faf8c63c21b3c87e797985557feb), [`ffdfa25`](https://github.com/mastra-ai/mastra/commit/ffdfa25b5cdf3ecfd0c5a2e96363c3ba50995ce9), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a), [`9571e3a`](https://github.com/mastra-ai/mastra/commit/9571e3a06ed2c5220196460bf82a2129255c3a8b), [`333785c`](https://github.com/mastra-ai/mastra/commit/333785c93cbb01e42c60167e995457c28897ddbf), [`bda2235`](https://github.com/mastra-ai/mastra/commit/bda22353ee28f2df0eaea555f7cae1549f979c0b), [`efd5c81`](https://github.com/mastra-ai/mastra/commit/efd5c81cc25fde3c2ddd86fc1178deb4ec176e19), [`1b482c2`](https://github.com/mastra-ai/mastra/commit/1b482c2d89244dd758c41e5f927a2b44041388d2), [`45bfb88`](https://github.com/mastra-ai/mastra/commit/45bfb88fd52f1dd3be20e2a38905777c96499c90), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`ff28284`](https://github.com/mastra-ai/mastra/commit/ff2828416f14daff9d956e6a352fdaa23c950979), [`4bcdfaf`](https://github.com/mastra-ai/mastra/commit/4bcdfaf0eac3199d7cb171b0a19a92c9c341eea4), [`e3b9307`](https://github.com/mastra-ai/mastra/commit/e3b9307098daefbfae2a52ae2ef51bc9fc701190), [`d6834c5`](https://github.com/mastra-ai/mastra/commit/d6834c5a7866b16734d23900163c2414ed70d791), [`43ea2a1`](https://github.com/mastra-ai/mastra/commit/43ea2a1f5c5867d0f41254047a786e96cd00798b), [`f33264f`](https://github.com/mastra-ai/mastra/commit/f33264f517ae603279afd5c4251e2b40f6dd3618), [`689f2c4`](https://github.com/mastra-ai/mastra/commit/689f2c4b6c0835fe455702b01d21daa8abcd9331), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`fcd0667`](https://github.com/mastra-ai/mastra/commit/fcd0667a4e378be35c9a1b1eb19cce78fbfd7282), [`cfd0d9e`](https://github.com/mastra-ai/mastra/commit/cfd0d9ec77ec3c69dd96f79cdb579e03d79f22ce), [`acc3513`](https://github.com/mastra-ai/mastra/commit/acc3513b19f79bf0a7ec2998694580edca54086c), [`1670533`](https://github.com/mastra-ai/mastra/commit/1670533986f6bacf567746245348125e3a106448), [`d382d57`](https://github.com/mastra-ai/mastra/commit/d382d57d072de142c4db113adc35b8b6d0bd49bf), [`a7eb4a1`](https://github.com/mastra-ai/mastra/commit/a7eb4a11450f6170274ed5141bffe821d4fdd5a6), [`0976933`](https://github.com/mastra-ai/mastra/commit/0976933142333ec78451feef265b68bcb45aa5e7), [`242b945`](https://github.com/mastra-ai/mastra/commit/242b94558777bfbdeb42cbfea84afff0b6ad0633), [`c52d346`](https://github.com/mastra-ai/mastra/commit/c52d3462ec831a5d95926ecd3d3373f5928ad2e5), [`af4636a`](https://github.com/mastra-ai/mastra/commit/af4636a74463275d71c1d13a38f7d2b738f128bf), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437), [`2eabc09`](https://github.com/mastra-ai/mastra/commit/2eabc097d86d52fbd0123da36a7c874154cc384f), [`0023e79`](https://github.com/mastra-ai/mastra/commit/0023e7919431078280abd11c89d1edeae35fcc69), [`c2ad51e`](https://github.com/mastra-ai/mastra/commit/c2ad51e2467f901eecba8c9f4a45e22a50bd7c18), [`25ca73d`](https://github.com/mastra-ai/mastra/commit/25ca73d25dee7ce9f0ca72939e3a505c4db7257e), [`25ca73d`](https://github.com/mastra-ai/mastra/commit/25ca73d25dee7ce9f0ca72939e3a505c4db7257e), [`2f9ef3f`](https://github.com/mastra-ai/mastra/commit/2f9ef3f4ca06fc2dcdd5088c26b7f4da6a016791), [`e7eefcb`](https://github.com/mastra-ai/mastra/commit/e7eefcb162cda7c493e8c3bf43050ead0efbcb2c), [`fea5cae`](https://github.com/mastra-ai/mastra/commit/fea5caedc7e2cfea51784a15e015952692027abf), [`4d7aca2`](https://github.com/mastra-ai/mastra/commit/4d7aca2fe75f225c83d1502d63079568e6ec163f), [`e1cead1`](https://github.com/mastra-ai/mastra/commit/e1cead17b5f3653cf00d2f90cc19b113119c02ba), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437), [`d9d93b2`](https://github.com/mastra-ai/mastra/commit/d9d93b25e4a65ad5fa153fa35be7ed149c8d587f), [`c4ec889`](https://github.com/mastra-ai/mastra/commit/c4ec889561c0264c43f66d04d587bee4ce35e792), [`4b59f78`](https://github.com/mastra-ai/mastra/commit/4b59f786cbc9a7d1ef07a07517dbd4b96865e99d), [`eeae63e`](https://github.com/mastra-ai/mastra/commit/eeae63e7fbe8e1f237adc69bca6e2ac13c5ca907), [`3dc97ea`](https://github.com/mastra-ai/mastra/commit/3dc97ea415fad353b48a13095fad1835933cc12a), [`94e7ae9`](https://github.com/mastra-ai/mastra/commit/94e7ae970b37c888cd1244ef013292639a2fe6d1), [`e6a2860`](https://github.com/mastra-ai/mastra/commit/e6a2860649cc51f87d32d78b766ae2126446ba07), [`7010c5d`](https://github.com/mastra-ai/mastra/commit/7010c5d15728bf9c5dfe4fb6b1bf80ce23bf143a), [`6b5fe46`](https://github.com/mastra-ai/mastra/commit/6b5fe464a97ac4845ce26475f347811fc7fb9684), [`bab06b1`](https://github.com/mastra-ai/mastra/commit/bab06b18923873a584bdfc71a6b4ec7fb4727fb7), [`3d01cd3`](https://github.com/mastra-ai/mastra/commit/3d01cd387321b6f9c5cac31d487c84bf51b19c78), [`7bf3086`](https://github.com/mastra-ai/mastra/commit/7bf308663f0115ca74ad20554ade740f06640859), [`4c186a0`](https://github.com/mastra-ai/mastra/commit/4c186a017275f45e6ed4c09de0f89550e2d09e8c), [`b0fa077`](https://github.com/mastra-ai/mastra/commit/b0fa077bcbc9b08551846fe372a0d3d15b71ed72), [`0282e16`](https://github.com/mastra-ai/mastra/commit/0282e16115538c8e9b248b90f0748eb01cb5dc98), [`683c04c`](https://github.com/mastra-ai/mastra/commit/683c04c930f026c5a77259d05ae8d88c637a3162), [`a8dd139`](https://github.com/mastra-ai/mastra/commit/a8dd1391a9fe9a6632c25809ef236980afa9a020), [`6a667b4`](https://github.com/mastra-ai/mastra/commit/6a667b4b7cd6a93fe41fcdd357b08c5a8c09b9ab), [`9be8878`](https://github.com/mastra-ai/mastra/commit/9be8878dcf0388e84fc4873e0eec27bd49b881a4), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`e5786be`](https://github.com/mastra-ai/mastra/commit/e5786be02bb903073082bd9d6da880ebaacc343f), [`2440e09`](https://github.com/mastra-ai/mastra/commit/2440e096ea6c2def1ccc1eb2d0f3f5b88c4af940), [`2093fbd`](https://github.com/mastra-ai/mastra/commit/2093fbd53bb744bae19ec89f6d73db9a66fbe8a7), [`a59049b`](https://github.com/mastra-ai/mastra/commit/a59049b1652a13efff66ac826326b5ed9a550342), [`7bd85ea`](https://github.com/mastra-ai/mastra/commit/7bd85ea7588b71c25ce9f4019c88f8539be5dcbc), [`83fa004`](https://github.com/mastra-ai/mastra/commit/83fa0044bfda8b703a83883dbd8bef204844d13f), [`a463cdf`](https://github.com/mastra-ai/mastra/commit/a463cdf1c95c3059e70f0bff27959e8558bb899d), [`e7a5da4`](https://github.com/mastra-ai/mastra/commit/e7a5da4ef8e4dd452d2f232961b4e682a85ffe43), [`7b4393d`](https://github.com/mastra-ai/mastra/commit/7b4393d557411fdcf07b0e30e5acaf7cc85154ae), [`0ea6b80`](https://github.com/mastra-ai/mastra/commit/0ea6b8001408ce02b56e8be0536b0fd8cbaf8ad2)]:
157
+ - @mastra/core@1.58.0
158
+ - @mastra/client-js@1.39.0
159
+ - @mastra/memory@1.26.1
160
+ - @mastra/react@1.4.2
161
+
162
+ ## 48.0.0-alpha.18
163
+
164
+ ### Patch Changes
165
+
166
+ - Fixed saved chat transcripts to open at the latest turn after asynchronously loaded history finishes layout. ([#21301](https://github.com/mastra-ai/mastra/pull/21301))
167
+
168
+ ## 48.0.0-alpha.17
169
+
170
+ ### Minor Changes
171
+
172
+ - Added anchored turn positioning to `MessageScroller`. Newly added rows marked with `scrollAnchor` move toward the top of the viewport, while `defaultScrollPosition="last-anchor"` opens saved transcripts at their latest turn. ([#21283](https://github.com/mastra-ai/mastra/pull/21283))
173
+
174
+ Streaming replies can now grow beneath the current prompt without shifting the reading position. Completed replies retain that space until the next anchored turn arrives.
175
+
176
+ ```tsx
177
+ <MessageScrollerProvider defaultScrollPosition="last-anchor">
178
+ <MessageScrollerViewport>
179
+ <MessageScrollerContent>
180
+ <MessageScrollerItem messageId="turn-1" scrollAnchor>
181
+ <p>How do I deploy this workflow?</p>
182
+ </MessageScrollerItem>
183
+ </MessageScrollerContent>
184
+ </MessageScrollerViewport>
185
+ </MessageScrollerProvider>
186
+ ```
187
+
188
+ ### Patch Changes
189
+
190
+ - Updated dependencies [[`296dc9a`](https://github.com/mastra-ai/mastra/commit/296dc9af29f3616e786c7825ec32e0df92d754c5), [`4a09a9c`](https://github.com/mastra-ai/mastra/commit/4a09a9c0474ef643558fcb5f0edc542b82f1cab0), [`1e83a47`](https://github.com/mastra-ai/mastra/commit/1e83a4734ab61ba5926af6793e3569a78b72ed37), [`ff28284`](https://github.com/mastra-ai/mastra/commit/ff2828416f14daff9d956e6a352fdaa23c950979), [`1670533`](https://github.com/mastra-ai/mastra/commit/1670533986f6bacf567746245348125e3a106448)]:
191
+ - @mastra/core@1.58.0-alpha.16
192
+ - @mastra/client-js@1.39.0-alpha.16
193
+ - @mastra/react@1.4.2-alpha.16
194
+
195
+ ## 48.0.0-alpha.16
196
+
197
+ ### Minor Changes
198
+
199
+ - Export the Trace Intelligence experience with injectable request and navigation adapters so product hosts can render it outside OSS Studio. ([#21272](https://github.com/mastra-ai/mastra/pull/21272))
200
+
201
+ ```tsx
202
+ import { SankeySignals, TraceIntelligenceProvider } from '@mastra/playground-ui/ee/signals';
203
+
204
+ <TraceIntelligenceProvider
205
+ cacheScope={`${organizationId}:${projectId}`}
206
+ request={request}
207
+ getTraceHref={traceId => `/traces/${traceId}`}
208
+ >
209
+ <SankeySignals entityId={agentId} signalNames={signalNames} />
210
+ </TraceIntelligenceProvider>;
211
+ ```
212
+
213
+ ### Patch Changes
214
+
215
+ - Updated dependencies [[`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b), [`dc4a25d`](https://github.com/mastra-ai/mastra/commit/dc4a25d41af4e2fe97a816070eaec6aa963ab53b)]:
216
+ - @mastra/memory@1.26.1-alpha.7
217
+ - @mastra/core@1.58.0-alpha.15
218
+ - @mastra/client-js@1.39.0-alpha.15
219
+ - @mastra/react@1.4.2-alpha.15
220
+
221
+ ## 48.0.0-alpha.15
222
+
223
+ ### Patch Changes
224
+
225
+ - Improved how the chat transcript meets the composer in `ChatShell`. The dock used to sit on a flat translucent panel with a visible hard edge where it started. It now carries a masked veil that ramps in across the air above the composer and tops out behind the card, so messages dim progressively as they scroll under instead of hitting an edge. The veil never fully hides them, so you can still tell the conversation continues below the composer while you scroll. ([#21260](https://github.com/mastra-ai/mastra/pull/21260))
226
+
227
+ **Migrating a `--chat-veil` override**
228
+
229
+ `--chat-veil` is now an alpha percentage, not a colour: it feeds the veil's mask instead of painting a background. A colour override lands inside `rgb(0 0 0 / …)`, produces invalid CSS and silently drops the fade, so it has to be migrated.
230
+
231
+ ```tsx
232
+ // before
233
+ <ChatShell className="[--chat-veil:color-mix(in_oklab,var(--chat-surface)_70%,transparent)]" />
234
+
235
+ // after — how strong the veil ever gets
236
+ <ChatShell className="[--chat-veil:70%]" />
237
+ ```
238
+
239
+ **The room above the composer moved to the dock**
240
+
241
+ `--chat-fade` is new: the band of air above the composer the veil ramps in across, `1.5rem` by default. It takes over the top half of `--chat-gutter`, which now means the room below the composer only, and `ChatShell.Content` no longer carries bottom padding of its own. Anything rendering `Content` without a `ChatShell.Dock` under it has to supply that room itself.
242
+
243
+ ```tsx
244
+ <ChatShell.Content className="pb-3" />
245
+ ```
246
+
247
+ - Fixed the shimmer that runs under streaming text. It now animates in every app that renders the `Shimmer` component, a short label sweeps at the same speed as a long one so labels side by side stay in step, and the sweep stops under `prefers-reduced-motion`. ([#21250](https://github.com/mastra-ai/mastra/pull/21250))
248
+
249
+ - Reworked the streaming shimmer so it reads as a sweep instead of a blink. The highlight travels through the text's own color, so a muted label stays muted and only brightens as the band passes through it. Readers who prefer reduced motion see the text unanimated. ([#21254](https://github.com/mastra-ai/mastra/pull/21254))
250
+
251
+ ```tsx
252
+ <Txt className="text-icon3">
253
+ <Shimmer>Thinking</Shimmer>
254
+ </Txt>
255
+ ```
256
+
257
+ - Softened the chat composer in the Factory UI. Messages now fade out gradually as they scroll behind the composer instead of meeting a hard translucent edge, and they stay faintly visible below it so you can tell the conversation continues. ([#21260](https://github.com/mastra-ai/mastra/pull/21260))
258
+
259
+ - Added a dedicated icon and label for skill resolution spans in the trace view. They now show as "Skill" instead of falling back to "Other". ([#21232](https://github.com/mastra-ai/mastra/pull/21232))
260
+
261
+ - Fixed the conversation timeline hover preview clipping its last line: the hidden element used to size the card measured the text at the wrong width, so a long prompt made the card too short for the reply underneath. ([#21251](https://github.com/mastra-ai/mastra/pull/21251))
262
+
263
+ - Updated dependencies [[`210cb7a`](https://github.com/mastra-ai/mastra/commit/210cb7a167998c7bbf72cb3b93e6eb0563330239), [`5f798b3`](https://github.com/mastra-ai/mastra/commit/5f798b3362e9bdf4d690f85245606e146eef60b9), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437), [`25ca73d`](https://github.com/mastra-ai/mastra/commit/25ca73d25dee7ce9f0ca72939e3a505c4db7257e), [`25ca73d`](https://github.com/mastra-ai/mastra/commit/25ca73d25dee7ce9f0ca72939e3a505c4db7257e), [`e1cead1`](https://github.com/mastra-ai/mastra/commit/e1cead17b5f3653cf00d2f90cc19b113119c02ba), [`01a2943`](https://github.com/mastra-ai/mastra/commit/01a2943a7d886edefdff072bfa51f055bab54437)]:
264
+ - @mastra/core@1.58.0-alpha.14
265
+ - @mastra/client-js@1.39.0-alpha.14
266
+ - @mastra/react@1.4.2-alpha.14
267
+
268
+ ## 48.0.0-alpha.14
269
+
270
+ ### Patch Changes
271
+
272
+ - Button icons now fade with the rest of the button on hover instead of snapping to full opacity. ([#21208](https://github.com/mastra-ai/mastra/pull/21208))
273
+
274
+ The `duration-normal` and `duration-slow` classes now apply the durations they name. Tailwind generates no utility for a `--duration-*` token, so both classes matched nothing and every transition using them silently ran at the 150ms default. They now run at 200ms and 300ms.
275
+
276
+ - Sidebar nav rows now place their trailing action in the layout flow instead of overlaying the row. A row with an `action` renders as a flex pair — label then action — so the action can never sit on top of the label, and hover/active backgrounds paint the whole row including the action. ([#21202](https://github.com/mastra-ai/mastra/pull/21202))
277
+
278
+ - Fixed deep links to nested spans in the trace timeline. Selecting a nested span from a URL now expands its ancestors and scrolls the span into view. ([#20969](https://github.com/mastra-ai/mastra/pull/20969))
279
+
280
+ - Dropdown menus and hover cards no longer jump to the top-left corner or drift across the screen when their trigger is hidden or resized while the popup is open. Positioners now honour Floating UI's hidden-anchor state, and `MainSidebar.NavLink` accepts a `ref` so callers can anchor popups to the stable row box instead of a control that comes and goes on hover. ([#21202](https://github.com/mastra-ai/mastra/pull/21202))
281
+
282
+ - Improved the Sankey chart for callers that build interactive column controls. ([#21181](https://github.com/mastra-ai/mastra/pull/21181))
283
+
284
+ - Column headers can show descriptions on hover or keyboard focus.
285
+ - Callers can suppress built-in column labels and render a custom header row.
286
+ - Nodes and ribbons animate continuously into their new positions when column order changes.
287
+
288
+ - Updated dependencies [[`9571e3a`](https://github.com/mastra-ai/mastra/commit/9571e3a06ed2c5220196460bf82a2129255c3a8b), [`d6c56f9`](https://github.com/mastra-ai/mastra/commit/d6c56f951db3213330b98b0abafa9778c8770e58), [`9571e3a`](https://github.com/mastra-ai/mastra/commit/9571e3a06ed2c5220196460bf82a2129255c3a8b), [`acc3513`](https://github.com/mastra-ai/mastra/commit/acc3513b19f79bf0a7ec2998694580edca54086c), [`94e7ae9`](https://github.com/mastra-ai/mastra/commit/94e7ae970b37c888cd1244ef013292639a2fe6d1), [`6a667b4`](https://github.com/mastra-ai/mastra/commit/6a667b4b7cd6a93fe41fcdd357b08c5a8c09b9ab), [`2440e09`](https://github.com/mastra-ai/mastra/commit/2440e096ea6c2def1ccc1eb2d0f3f5b88c4af940), [`a59049b`](https://github.com/mastra-ai/mastra/commit/a59049b1652a13efff66ac826326b5ed9a550342)]:
289
+ - @mastra/core@1.58.0-alpha.13
290
+ - @mastra/client-js@1.39.0-alpha.13
291
+ - @mastra/react@1.4.2-alpha.13
292
+
293
+ ## 48.0.0-alpha.13
294
+
295
+ ### Patch Changes
296
+
297
+ - Updated dependencies [[`2e4624e`](https://github.com/mastra-ai/mastra/commit/2e4624edb6917e61249cb60ee377735e7af7e4a9), [`e6534fa`](https://github.com/mastra-ai/mastra/commit/e6534fab031216f6cb48c4c9907cbfdce9d60bc6), [`7fdcaa6`](https://github.com/mastra-ai/mastra/commit/7fdcaa66105d64290f9b14432a12ec99f39c4d3a), [`cfd0d9e`](https://github.com/mastra-ai/mastra/commit/cfd0d9ec77ec3c69dd96f79cdb579e03d79f22ce), [`d9d93b2`](https://github.com/mastra-ai/mastra/commit/d9d93b25e4a65ad5fa153fa35be7ed149c8d587f)]:
298
+ - @mastra/core@1.58.0-alpha.12
299
+ - @mastra/client-js@1.39.0-alpha.12
300
+ - @mastra/memory@1.26.1-alpha.6
301
+ - @mastra/react@1.4.2-alpha.12
302
+
303
+ ## 48.0.0-alpha.12
304
+
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [[`b8ce7ec`](https://github.com/mastra-ai/mastra/commit/b8ce7ec96e39343c6c2f36d12d68a9ad816c09f7), [`a3a3624`](https://github.com/mastra-ai/mastra/commit/a3a3624f646b98e409424d8defccbd334da9e8b8), [`6246914`](https://github.com/mastra-ai/mastra/commit/62469146636911f3cbbe0880bd011c6a897a59a7), [`3f73c07`](https://github.com/mastra-ai/mastra/commit/3f73c076727e8c36b4fff7a1b40290fb68957fa8), [`7c1ebb1`](https://github.com/mastra-ai/mastra/commit/7c1ebb15690c4b3f0eabb19077cf8af573311e57), [`32980a3`](https://github.com/mastra-ai/mastra/commit/32980a3e2413d0274ac244d32c37d910edc13f00), [`261edb9`](https://github.com/mastra-ai/mastra/commit/261edb9bc0cfbed2b77090b87562307a360f1a04), [`4bcdfaf`](https://github.com/mastra-ai/mastra/commit/4bcdfaf0eac3199d7cb171b0a19a92c9c341eea4), [`af4636a`](https://github.com/mastra-ai/mastra/commit/af4636a74463275d71c1d13a38f7d2b738f128bf), [`a463cdf`](https://github.com/mastra-ai/mastra/commit/a463cdf1c95c3059e70f0bff27959e8558bb899d), [`0ea6b80`](https://github.com/mastra-ai/mastra/commit/0ea6b8001408ce02b56e8be0536b0fd8cbaf8ad2)]:
308
+ - @mastra/core@1.58.0-alpha.11
309
+ - @mastra/memory@1.26.1-alpha.5
310
+ - @mastra/client-js@1.39.0-alpha.11
311
+ - @mastra/react@1.4.2-alpha.11
312
+
313
+ ## 48.0.0-alpha.11
314
+
315
+ ### Patch Changes
316
+
317
+ - Updated dependencies [[`66bbfb5`](https://github.com/mastra-ai/mastra/commit/66bbfb5f05b473d39f88c0e4a481ccac41634f3a)]:
318
+ - @mastra/core@1.58.0-alpha.10
319
+ - @mastra/client-js@1.39.0-alpha.10
320
+ - @mastra/react@1.4.2-alpha.10
321
+
322
+ ## 48.0.0-alpha.10
323
+
324
+ ### Patch Changes
325
+
326
+ - Updated dependencies [[`86b7b77`](https://github.com/mastra-ai/mastra/commit/86b7b777980d30f66e1fd134a37d2af4c22e54cc), [`80a3324`](https://github.com/mastra-ai/mastra/commit/80a33245d3110204de6f56d61211523ffe338692), [`d9d2881`](https://github.com/mastra-ai/mastra/commit/d9d2881ede6dd6c023d144215fc812062aed0890), [`82e3365`](https://github.com/mastra-ai/mastra/commit/82e3365ef7c9bf7bee2e7a7029035ea262d68895), [`1b482c2`](https://github.com/mastra-ai/mastra/commit/1b482c2d89244dd758c41e5f927a2b44041388d2), [`e6a2860`](https://github.com/mastra-ai/mastra/commit/e6a2860649cc51f87d32d78b766ae2126446ba07), [`7bd85ea`](https://github.com/mastra-ai/mastra/commit/7bd85ea7588b71c25ce9f4019c88f8539be5dcbc)]:
327
+ - @mastra/core@1.58.0-alpha.9
328
+ - @mastra/client-js@1.39.0-alpha.9
329
+ - @mastra/react@1.4.2-alpha.9
330
+
331
+ ## 48.0.0-alpha.9
332
+
333
+ ### Patch Changes
334
+
335
+ - Updated dependencies [[`1c75e32`](https://github.com/mastra-ai/mastra/commit/1c75e32f7fc0b9fb6f548b4407feaec8a1440212), [`c47165c`](https://github.com/mastra-ai/mastra/commit/c47165c983c87594c6952f1fd2fa51a90205034c), [`e08e789`](https://github.com/mastra-ai/mastra/commit/e08e789c1bf4cd2fe46363f7a4728536ceccc9bd), [`35cc901`](https://github.com/mastra-ai/mastra/commit/35cc90102cf834a84827acaf9eee0b6d6d1e2a3b), [`a8b4cf0`](https://github.com/mastra-ai/mastra/commit/a8b4cf02823cffebc4751a53337dfacf097c1ae1), [`a53f19b`](https://github.com/mastra-ai/mastra/commit/a53f19b9badb8bd349fe2f885814e9db6b7d3c4b), [`f33264f`](https://github.com/mastra-ai/mastra/commit/f33264f517ae603279afd5c4251e2b40f6dd3618), [`689f2c4`](https://github.com/mastra-ai/mastra/commit/689f2c4b6c0835fe455702b01d21daa8abcd9331), [`eeae63e`](https://github.com/mastra-ai/mastra/commit/eeae63e7fbe8e1f237adc69bca6e2ac13c5ca907), [`4c186a0`](https://github.com/mastra-ai/mastra/commit/4c186a017275f45e6ed4c09de0f89550e2d09e8c), [`b0fa077`](https://github.com/mastra-ai/mastra/commit/b0fa077bcbc9b08551846fe372a0d3d15b71ed72)]:
336
+ - @mastra/core@1.58.0-alpha.8
337
+ - @mastra/memory@1.26.1-alpha.4
338
+ - @mastra/client-js@1.39.0-alpha.8
339
+ - @mastra/react@1.4.2-alpha.8
340
+
3
341
  ## 48.0.0-alpha.8
4
342
 
5
343
  ### Patch Changes
@@ -12,12 +12,13 @@ const utils_cn = require('./cn-vA5sWo9W.cjs');
12
12
  const TEXT_MODE_ADORNMENTS = utils_cn.cn(
13
13
  "gap-[.75em] rounded-full",
14
14
  "[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]",
15
- "[&:hover>svg]:opacity-100 [&>svg]:opacity-50"
15
+ "[&:hover>svg]:opacity-100 [&>svg]:opacity-50",
16
+ "[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom"
16
17
  );
17
18
  const buttonVariants = index.cva(
18
19
  utils_cn.cn(
19
20
  "inline-flex cursor-pointer items-center justify-center leading-0",
20
- "duration-normal transition-all ease-out-custom",
21
+ "transition-all duration-normal ease-out-custom",
21
22
  primitives_formElement.sharedFormElementDisabledStyle,
22
23
  primitives_formElement.controlFocusBorderVisible
23
24
  ),
@@ -105,4 +106,4 @@ Button.displayName = "Button";
105
106
 
106
107
  exports.Button = Button;
107
108
  exports.buttonVariants = buttonVariants;
108
- //# sourceMappingURL=Button-Bm94fEF2.cjs.map
109
+ //# sourceMappingURL=Button-B4Ixj2aW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-B4Ixj2aW.cjs","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["cn","cva","sharedFormElementDisabledStyle","controlFocusBorderVisible","controlSizeClasses","controlHeight","tooltip","jsx","Icon","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -10,12 +10,13 @@ import { c as cn } from './cn-BakJzhuv.js';
10
10
  const TEXT_MODE_ADORNMENTS = cn(
11
11
  "gap-[.75em] rounded-full",
12
12
  "[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]",
13
- "[&:hover>svg]:opacity-100 [&>svg]:opacity-50"
13
+ "[&:hover>svg]:opacity-100 [&>svg]:opacity-50",
14
+ "[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom"
14
15
  );
15
16
  const buttonVariants = cva(
16
17
  cn(
17
18
  "inline-flex cursor-pointer items-center justify-center leading-0",
18
- "duration-normal transition-all ease-out-custom",
19
+ "transition-all duration-normal ease-out-custom",
19
20
  sharedFormElementDisabledStyle,
20
21
  controlFocusBorderVisible
21
22
  ),
@@ -102,4 +103,4 @@ const Button = React__default.forwardRef(
102
103
  Button.displayName = "Button";
103
104
 
104
105
  export { Button as B, buttonVariants as b };
105
- //# sourceMappingURL=Button-Bx2lFdqb.js.map
106
+ //# sourceMappingURL=Button-C-9Pzy-Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-C-9Pzy-Z.js","sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlFocusBorderVisible, sharedFormElementDisabledStyle } from '@/ds/primitives/form-element';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label, larger radius, and SVG sizing for\n// inline `<svg>` children. Excluded from icon-mode because icon-mode wraps children in `<Icon>`\n// (so `[&>svg]` selectors don't match) and uses its own `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>svg]:mx-[-.3em] [&>svg]:size-[1.1em]',\n '[&:hover>svg]:opacity-100 [&>svg]:opacity-50',\n '[&>svg]:transition-opacity [&>svg]:duration-normal [&>svg]:ease-out-custom',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center leading-0',\n 'transition-all duration-normal ease-out-custom',\n sharedFormElementDisabledStyle,\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n default:\n 'border border-border2 bg-surface3 text-neutral6 hover:bg-surface5 hover:text-neutral6 active:bg-surface6',\n primary:\n 'border border-transparent bg-neutral6 font-medium text-surface1 hover:bg-neutral6/90 active:bg-neutral6/80',\n ghost:\n 'border border-transparent bg-transparent text-neutral4 hover:bg-neutral6/5 hover:text-neutral6 active:bg-neutral6/10',\n outline:\n 'border border-border1 bg-transparent text-neutral5 hover:bg-surface3 hover:text-neutral6 active:bg-surface4',\n },\n size: {\n xs: cn(controlSizeClasses.xs, 'px-[.8em]', TEXT_MODE_ADORNMENTS),\n sm: cn(controlSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.default, 'px-[1em]', TEXT_MODE_ADORNMENTS),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // (e.g. `active:bg-surface5`) — same press feedback as text-mode for consistency.\n 'icon-xs': cn(controlHeight.xs, 'w-form-xs rounded-full'),\n 'icon-sm': cn(controlHeight.sm, 'w-form-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-form-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-form-lg rounded-full'),\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n as?: React.ElementType;\n className?: string;\n href?: string;\n to?: string;\n prefetch?: boolean | null;\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n target?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n// Button's icon-* sizes don't match `<Icon>`'s own size scale (`sm | default | lg`).\nconst iconChildSizeMap: Record<IconButtonSize, 'sm' | 'default' | 'lg'> = {\n 'icon-xs': 'sm',\n 'icon-sm': 'sm',\n 'icon-md': 'default',\n 'icon-lg': 'lg',\n};\n\n// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize` so consumers (e.g. `iconChildSizeMap`)\n// can index into icon-only structures without a cast.\nfunction isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return typeof size === 'string' && size.startsWith('icon-');\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, as, size, variant = 'default', disabled, children, tooltip, 'aria-label': ariaLabelProp, ...props },\n ref,\n ) => {\n const Component = as || 'button';\n const iconMode = isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const isLabelless = !iconMode && isIconOnly(children);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel = ariaLabelProp ?? ((iconMode || isLabelless) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? <Icon size={iconChildSizeMap[size as IconButtonSize]}>{children}</Icon> : children;\n\n const button = (\n <Component\n ref={ref}\n disabled={disabled}\n aria-label={ariaLabel}\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.tsx).\n data-variant={variant}\n className={cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && '[&>svg]:opacity-75', className)}\n {...props}\n >\n {content}\n </Component>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"names":["React"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const Button = require('./Button-Bm94fEF2.cjs');
4
+ const Button = require('./Button-B4Ixj2aW.cjs');
5
5
  const utils_cn = require('./cn-vA5sWo9W.cjs');
6
6
  const lucideReact = require('lucide-react');
7
7
 
@@ -88,4 +88,4 @@ const Notice = Object.assign(NoticeRoot, {
88
88
  });
89
89
 
90
90
  exports.Notice = Notice;
91
- //# sourceMappingURL=Notice-B9cdEg8R.cjs.map
91
+ //# sourceMappingURL=Notice-DSfh1Ap5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Notice-B9cdEg8R.cjs","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":["Button","cn","LightbulbIcon","OctagonAlertIcon","TriangleAlertIcon","InfoIcon","FileTextIcon","jsx","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Notice-DSfh1Ap5.cjs","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":["Button","cn","LightbulbIcon","OctagonAlertIcon","TriangleAlertIcon","InfoIcon","FileTextIcon","jsx","jsxs"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { B as Button } from './Button-Bx2lFdqb.js';
2
+ import { B as Button } from './Button-C-9Pzy-Z.js';
3
3
  import { c as cn } from './cn-BakJzhuv.js';
4
4
  import { FileTextIcon, InfoIcon, TriangleAlertIcon, OctagonAlertIcon, LightbulbIcon } from 'lucide-react';
5
5
 
@@ -86,4 +86,4 @@ const Notice = Object.assign(NoticeRoot, {
86
86
  });
87
87
 
88
88
  export { Notice as N };
89
- //# sourceMappingURL=Notice-DIK9IZsq.js.map
89
+ //# sourceMappingURL=Notice-DWHQgxkA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Notice-DIK9IZsq.js","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Notice-DWHQgxkA.js","sources":["../src/ds/components/Notice/notice-button.tsx","../src/ds/components/Notice/notice-message.tsx","../src/ds/components/Notice/notice-root.tsx","../src/ds/components/Notice/Notice.tsx"],"sourcesContent":["import type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\n\nexport function NoticeButton(props: ButtonProps) {\n return <Button size=\"sm\" variant=\"ghost\" {...props} />;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface NoticeMessageProps {\n children: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeMessage({ children, className }: NoticeMessageProps) {\n return <div className={cn('text-ui-md leading-ui-md', className)}>{children}</div>;\n}\n","import { FileTextIcon, InfoIcon, LightbulbIcon, OctagonAlertIcon, TriangleAlertIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type NoticeVariant = 'warning' | 'destructive' | 'success' | 'info' | 'note';\n\nconst variantConfig: Record<NoticeVariant, { icon: React.ReactNode; classes: string }> = {\n success: {\n icon: <LightbulbIcon />,\n classes: 'bg-notice-success/20 border-notice-success/20 text-notice-success-fg',\n },\n destructive: {\n icon: <OctagonAlertIcon />,\n classes: 'bg-notice-destructive/20 border-notice-destructive/20 text-notice-destructive-fg',\n },\n warning: {\n icon: <TriangleAlertIcon />,\n classes: 'bg-notice-warning/20 border-notice-warning/20 text-notice-warning-fg',\n },\n info: {\n icon: <InfoIcon />,\n classes: 'bg-notice-info/20 border-notice-info/20 text-notice-info-fg',\n },\n note: {\n icon: <FileTextIcon />,\n classes: 'bg-notice-note border-border1 text-notice-note-fg',\n },\n};\n\nexport interface NoticeRootProps {\n variant: NoticeVariant;\n title?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function NoticeRoot({ variant, title, icon, action, children, className }: NoticeRootProps) {\n const { icon: defaultIcon, classes } = variantConfig[variant];\n const resolvedIcon = icon ?? defaultIcon;\n\n if (!title) {\n return (\n <div\n className={cn(\n '@container relative rounded-2xl border p-3 text-ui-md leading-ui-md',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex flex-col gap-3 @md:flex-row @md:items-start @md:gap-2\">\n <div className=\"flex min-w-0 flex-1 items-start gap-2 [&>svg]:size-4\">\n <span className=\"flex h-[1lh] shrink-0 items-center [&>svg]:size-4\">{resolvedIcon}</span>\n {/* wrap-anywhere — messages carry URLs and tokens with no break opportunity */}\n {children && <div className=\"min-w-0 flex-1 wrap-anywhere\">{children}</div>}\n </div>\n {action && <div className=\"@md:-my-1 [&>button]:w-full @md:[&>button]:w-auto\">{action}</div>}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n '@container relative flex flex-col gap-4 rounded-2xl border p-3',\n 'animate-in duration-200 fade-in-0 slide-in-from-top-2',\n classes,\n className,\n )}\n >\n <div className=\"flex h-4 min-w-0 items-center gap-2 [&>svg]:size-4\">\n {resolvedIcon}\n {/* truncate, not wrap — the row is 1rem tall, a wrapped title would spill out of it */}\n <span className=\"text-ui-sm truncate leading-none font-medium tracking-wide uppercase\">{title}</span>\n </div>\n {action && <div className=\"absolute top-2 right-2 hidden @md:block\">{action}</div>}\n {(children || action) && (\n <div className=\"flex min-w-0 flex-col gap-5 wrap-anywhere\">\n {children}\n {action && <div className=\"self-start @md:hidden\">{action}</div>}\n </div>\n )}\n </div>\n );\n}\n","import { NoticeButton } from './notice-button';\nimport { NoticeMessage } from './notice-message';\nimport { NoticeRoot } from './notice-root';\n\nexport { type NoticeVariant, type NoticeRootProps } from './notice-root';\nexport { type NoticeMessageProps } from './notice-message';\n\nexport const Notice = Object.assign(NoticeRoot, {\n Message: NoticeMessage,\n Button: NoticeButton,\n});\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ const react = require('@mastra/react');
5
5
  const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
7
  const icons_Icon = require('./icons/Icon.cjs.js');
8
- const Button = require('./Button-Bm94fEF2.cjs');
8
+ const Button = require('./Button-B4Ixj2aW.cjs');
9
9
  const EmptyState = require('./EmptyState-sff7IGrD.cjs');
10
10
 
11
11
  function SessionExpired({ title, description, className }) {
@@ -44,4 +44,4 @@ function SessionExpired({ title, description, className }) {
44
44
  }
45
45
 
46
46
  exports.SessionExpired = SessionExpired;
47
- //# sourceMappingURL=SessionExpired-C5ADs4NL.cjs.map
47
+ //# sourceMappingURL=SessionExpired-CL4bppLl.cjs.map