@mastra/playground-ui 56.0.0 → 57.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1044) hide show
  1. package/dist/{Button-CVewl8nT.cjs → Button-C0DBEBcJ.cjs} +12 -5
  2. package/dist/Button-C0DBEBcJ.cjs.map +1 -0
  3. package/dist/{Button-cWcBEd-G.js → Button-C9cvaVFG.js} +13 -6
  4. package/dist/Button-C9cvaVFG.js.map +1 -0
  5. package/dist/{Card-DEvGFj-Z.js → Card-B_buJ5yF.js} +3 -3
  6. package/dist/{Card-DEvGFj-Z.js.map → Card-B_buJ5yF.js.map} +1 -1
  7. package/dist/{Card-D0kFp9j9.cjs → Card-DwGasv0K.cjs} +3 -3
  8. package/dist/{Card-D0kFp9j9.cjs.map → Card-DwGasv0K.cjs.map} +1 -1
  9. package/dist/{EmptyState-UWXhBp5U.js → EmptyState-B6cyZw6m.js} +12 -6
  10. package/dist/EmptyState-B6cyZw6m.js.map +1 -0
  11. package/dist/{EmptyState-CdRjFB06.cjs → EmptyState-DiSP6UIy.cjs} +12 -6
  12. package/dist/EmptyState-DiSP6UIy.cjs.map +1 -0
  13. package/dist/ErrorState-B0839u-q.cjs +21 -0
  14. package/dist/ErrorState-B0839u-q.cjs.map +1 -0
  15. package/dist/ErrorState-HyRJdaA2.js +19 -0
  16. package/dist/ErrorState-HyRJdaA2.js.map +1 -0
  17. package/dist/Header-BVnFQlzE.js +31 -0
  18. package/dist/Header-BVnFQlzE.js.map +1 -0
  19. package/dist/Header-CGjhJ0nQ.cjs +36 -0
  20. package/dist/Header-CGjhJ0nQ.cjs.map +1 -0
  21. package/dist/{Notice-Cjti0e0j.cjs → Notice-CoFjo8O6.cjs} +3 -3
  22. package/dist/{Notice-Cjti0e0j.cjs.map → Notice-CoFjo8O6.cjs.map} +1 -1
  23. package/dist/{Notice-Ah-84yi6.js → Notice-DUdQkUqH.js} +3 -3
  24. package/dist/{Notice-Ah-84yi6.js.map → Notice-DUdQkUqH.js.map} +1 -1
  25. package/dist/{PermissionDenied-B6TSGolC.js → PermissionDenied-CTqnE57B.js} +11 -6
  26. package/dist/PermissionDenied-CTqnE57B.js.map +1 -0
  27. package/dist/{PermissionDenied-Dz5qXpQj.cjs → PermissionDenied-fdVmTjjf.cjs} +11 -6
  28. package/dist/PermissionDenied-fdVmTjjf.cjs.map +1 -0
  29. package/dist/{SessionExpired-CF0BGNo_.cjs → SessionExpired-CFGTqnU5.cjs} +5 -6
  30. package/dist/SessionExpired-CFGTqnU5.cjs.map +1 -0
  31. package/dist/{SessionExpired-Bq5LcsDu.js → SessionExpired-COK6flhT.js} +5 -6
  32. package/dist/SessionExpired-COK6flhT.js.map +1 -0
  33. package/dist/ask-user-3fufbFt8.cjs +216 -0
  34. package/dist/ask-user-3fufbFt8.cjs.map +1 -0
  35. package/dist/ask-user-CvCMHkhI.js +206 -0
  36. package/dist/ask-user-CvCMHkhI.js.map +1 -0
  37. package/dist/buttons-group-CoZP3lJt.cjs +59 -0
  38. package/dist/buttons-group-CoZP3lJt.cjs.map +1 -0
  39. package/dist/buttons-group-DsZgrZBZ.js +37 -0
  40. package/dist/buttons-group-DsZgrZBZ.js.map +1 -0
  41. package/dist/buttons-group.css +113 -22
  42. package/dist/{chat-notification-4OuPNhtu.js → chat-notification-BM24QnK9.js} +7 -7
  43. package/dist/{chat-notification-4OuPNhtu.js.map → chat-notification-BM24QnK9.js.map} +1 -1
  44. package/dist/{chat-notification-CPrlBwP_.cjs → chat-notification-CQlc3Z3y.cjs} +7 -7
  45. package/dist/{chat-notification-CPrlBwP_.cjs.map → chat-notification-CQlc3Z3y.cjs.map} +1 -1
  46. package/dist/{chat-signal-CG5-vy21.js → chat-signal-5gAZo10e.js} +6 -6
  47. package/dist/{chat-signal-CG5-vy21.js.map → chat-signal-5gAZo10e.js.map} +1 -1
  48. package/dist/{chat-signal-B_T2DSzo.cjs → chat-signal-CUkeTh1i.cjs} +6 -6
  49. package/dist/{chat-signal-B_T2DSzo.cjs.map → chat-signal-CUkeTh1i.cjs.map} +1 -1
  50. package/dist/{code-block-Cd4u7Bo9.cjs → code-block-D2q4w1t-.cjs} +10 -10
  51. package/dist/{code-block-Cd4u7Bo9.cjs.map → code-block-D2q4w1t-.cjs.map} +1 -1
  52. package/dist/{code-block-CSqjpBvb.js → code-block-D3BWud_S.js} +10 -10
  53. package/dist/{code-block-CSqjpBvb.js.map → code-block-D3BWud_S.js.map} +1 -1
  54. package/dist/{code-diff-C5uY-3Hz.js → code-diff-BHZTS4Zh.js} +2 -2
  55. package/dist/{code-diff-C5uY-3Hz.js.map → code-diff-BHZTS4Zh.js.map} +1 -1
  56. package/dist/{code-diff-DBtbPe9D.cjs → code-diff-CG8veSa-.cjs} +2 -2
  57. package/dist/{code-diff-DBtbPe9D.cjs.map → code-diff-CG8veSa-.cjs.map} +1 -1
  58. package/dist/{code-editor-vCt7l9Bl.js → code-editor-7wJJDE9d.js} +2 -2
  59. package/dist/{code-editor-vCt7l9Bl.js.map → code-editor-7wJJDE9d.js.map} +1 -1
  60. package/dist/{code-editor-DgY7d8kg.cjs → code-editor-Ce1FXyFV.cjs} +2 -2
  61. package/dist/{code-editor-DgY7d8kg.cjs.map → code-editor-Ce1FXyFV.cjs.map} +1 -1
  62. package/dist/{collapsible-BvrI6XnN.cjs → collapsible-BFSJouuI.cjs} +2 -2
  63. package/dist/{collapsible-BvrI6XnN.cjs.map → collapsible-BFSJouuI.cjs.map} +1 -1
  64. package/dist/{collapsible-B2uUy8w5.js → collapsible-DhhP5p1j.js} +2 -2
  65. package/dist/{collapsible-B2uUy8w5.js.map → collapsible-DhhP5p1j.js.map} +1 -1
  66. package/dist/{combobox-D7xJFZuO.js → combobox-CV-Ue388.js} +5 -5
  67. package/dist/combobox-CV-Ue388.js.map +1 -0
  68. package/dist/{combobox-BWM3VH-n.cjs → combobox-Dw3W6EHS.cjs} +6 -6
  69. package/dist/combobox-Dw3W6EHS.cjs.map +1 -0
  70. package/dist/{combobox-styles-CRebmeht.js → combobox-styles-Dgc_Jp-E.js} +3 -6
  71. package/dist/combobox-styles-Dgc_Jp-E.js.map +1 -0
  72. package/dist/{combobox-styles-DYlNNjKC.cjs → combobox-styles-ExU7SMb7.cjs} +3 -6
  73. package/dist/combobox-styles-ExU7SMb7.cjs.map +1 -0
  74. package/dist/{command-DuT06mTw.cjs → command-BJrGchxZ.cjs} +6 -6
  75. package/dist/{command-DuT06mTw.cjs.map → command-BJrGchxZ.cjs.map} +1 -1
  76. package/dist/{command-jRiL1vXM.js → command-kHnYspgO.js} +6 -6
  77. package/dist/{command-jRiL1vXM.js.map → command-kHnYspgO.js.map} +1 -1
  78. package/dist/components/ActionRow.cjs.js +38 -0
  79. package/dist/components/ActionRow.cjs.js.map +1 -0
  80. package/dist/components/ActionRow.d.ts +2 -0
  81. package/dist/components/ActionRow.es.js +34 -0
  82. package/dist/components/ActionRow.es.js.map +1 -0
  83. package/dist/components/AlertDialog.cjs.js +1 -1
  84. package/dist/components/AlertDialog.es.js +1 -1
  85. package/dist/components/Breadcrumb.cjs.js +1 -1
  86. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  87. package/dist/components/Breadcrumb.es.js +1 -1
  88. package/dist/components/Breadcrumb.es.js.map +1 -1
  89. package/dist/components/Button.cjs.js +2 -2
  90. package/dist/components/Button.es.js +3 -3
  91. package/dist/components/ButtonsGroup.cjs.js +1 -2
  92. package/dist/components/ButtonsGroup.cjs.js.map +1 -1
  93. package/dist/components/ButtonsGroup.es.js +1 -1
  94. package/dist/components/Card.cjs.js +1 -1
  95. package/dist/components/Card.es.js +1 -1
  96. package/dist/components/ClampedText.cjs.js +1 -1
  97. package/dist/components/ClampedText.es.js +1 -1
  98. package/dist/components/CodeBlock.cjs.js +1 -1
  99. package/dist/components/CodeBlock.es.js +1 -1
  100. package/dist/components/CodeDiff.cjs.js +1 -1
  101. package/dist/components/CodeDiff.es.js +1 -1
  102. package/dist/components/CodeEditor.cjs.js +1 -1
  103. package/dist/components/CodeEditor.es.js +1 -1
  104. package/dist/components/Collapsible.cjs.js +1 -1
  105. package/dist/components/Collapsible.es.js +1 -1
  106. package/dist/components/Columns.cjs.js +1 -1
  107. package/dist/components/Columns.es.js +1 -1
  108. package/dist/components/Combobox.cjs.js +2 -2
  109. package/dist/components/Combobox.es.js +2 -2
  110. package/dist/components/Command.cjs.js +1 -1
  111. package/dist/components/Command.es.js +1 -1
  112. package/dist/components/CommandPalette.cjs.js +12 -12
  113. package/dist/components/CommandPalette.cjs.js.map +1 -1
  114. package/dist/components/CommandPalette.es.js +12 -12
  115. package/dist/components/CommandPalette.es.js.map +1 -1
  116. package/dist/components/Comment.cjs.js +6 -7
  117. package/dist/components/Comment.cjs.js.map +1 -1
  118. package/dist/components/Comment.es.js +5 -6
  119. package/dist/components/Comment.es.js.map +1 -1
  120. package/dist/components/Composer.cjs.js +6 -6
  121. package/dist/components/Composer.cjs.js.map +1 -1
  122. package/dist/components/Composer.es.js +6 -6
  123. package/dist/components/Composer.es.js.map +1 -1
  124. package/dist/components/ContextMenu.cjs.js +1 -6
  125. package/dist/components/ContextMenu.cjs.js.map +1 -1
  126. package/dist/components/ContextMenu.es.js +1 -6
  127. package/dist/components/ContextMenu.es.js.map +1 -1
  128. package/dist/components/CopyButton.cjs.js +1 -1
  129. package/dist/components/CopyButton.es.js +1 -1
  130. package/dist/components/DataCodeSection.cjs.js +1 -1
  131. package/dist/components/DataCodeSection.es.js +1 -1
  132. package/dist/components/DataDetailsPanel.cjs.js +10 -11
  133. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  134. package/dist/components/DataDetailsPanel.es.js +10 -11
  135. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  136. package/dist/components/DataFilter.cjs.js +2 -2
  137. package/dist/components/DataFilter.es.js +2 -2
  138. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  139. package/dist/components/DataKeysAndValues.es.js +1 -1
  140. package/dist/components/DataList.cjs.js +8 -8
  141. package/dist/components/DataList.cjs.js.map +1 -1
  142. package/dist/components/DataList.es.js +8 -8
  143. package/dist/components/DataList.es.js.map +1 -1
  144. package/dist/components/DataPanel.cjs.js +1 -1
  145. package/dist/components/DataPanel.es.js +1 -1
  146. package/dist/components/DateRangeTimeline.cjs.js +6 -6
  147. package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
  148. package/dist/components/DateRangeTimeline.es.js +6 -6
  149. package/dist/components/DateRangeTimeline.es.js.map +1 -1
  150. package/dist/components/DateTimePicker.cjs.js +4 -4
  151. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  152. package/dist/components/DateTimePicker.es.js +4 -4
  153. package/dist/components/DateTimePicker.es.js.map +1 -1
  154. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  155. package/dist/components/DateTimeRangePicker.es.js +1 -1
  156. package/dist/components/Dialog.cjs.js +2 -2
  157. package/dist/components/Dialog.es.js +3 -3
  158. package/dist/components/Drawer.cjs.js +1 -1
  159. package/dist/components/Drawer.es.js +1 -1
  160. package/dist/components/DropdownMenu.cjs.js +1 -1
  161. package/dist/components/DropdownMenu.es.js +1 -1
  162. package/dist/components/EmptyState.cjs.js +1 -1
  163. package/dist/components/EmptyState.es.js +1 -1
  164. package/dist/components/EntityHeader.cjs.js +1 -1
  165. package/dist/components/EntityHeader.cjs.js.map +1 -1
  166. package/dist/components/EntityHeader.es.js +1 -1
  167. package/dist/components/EntityHeader.es.js.map +1 -1
  168. package/dist/components/EnvironmentVariablesEditor.cjs.js +15 -16
  169. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  170. package/dist/components/EnvironmentVariablesEditor.es.js +9 -10
  171. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  172. package/dist/components/ErrorBoundary.cjs.js +3 -3
  173. package/dist/components/ErrorBoundary.cjs.js.map +1 -1
  174. package/dist/components/ErrorBoundary.es.js +3 -3
  175. package/dist/components/ErrorBoundary.es.js.map +1 -1
  176. package/dist/components/ErrorState.cjs.js +1 -1
  177. package/dist/components/ErrorState.es.js +1 -1
  178. package/dist/components/FilterBar.cjs.js +495 -43
  179. package/dist/components/FilterBar.cjs.js.map +1 -1
  180. package/dist/components/FilterBar.es.js +495 -47
  181. package/dist/components/FilterBar.es.js.map +1 -1
  182. package/dist/components/FormFieldBlocks.cjs.js +11 -12
  183. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  184. package/dist/components/FormFieldBlocks.es.js +4 -5
  185. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  186. package/dist/components/Header.cjs.js +6 -31
  187. package/dist/components/Header.cjs.js.map +1 -1
  188. package/dist/components/Header.es.js +1 -30
  189. package/dist/components/Header.es.js.map +1 -1
  190. package/dist/components/HorizontalBars.cjs.js +1 -1
  191. package/dist/components/HorizontalBars.es.js +1 -1
  192. package/dist/components/HoverCard.cjs.js +1 -1
  193. package/dist/components/HoverCard.es.js +1 -1
  194. package/dist/components/InputGroup.cjs.js +1 -1
  195. package/dist/components/InputGroup.es.js +1 -1
  196. package/dist/components/IntegrationDialog.cjs.js +6 -6
  197. package/dist/components/IntegrationDialog.cjs.js.map +1 -1
  198. package/dist/components/IntegrationDialog.es.js +6 -6
  199. package/dist/components/IntegrationDialog.es.js.map +1 -1
  200. package/dist/components/ItemList.cjs.js +4 -4
  201. package/dist/components/ItemList.cjs.js.map +1 -1
  202. package/dist/components/ItemList.es.js +4 -4
  203. package/dist/components/ItemList.es.js.map +1 -1
  204. package/dist/components/JSONSchemaForm.cjs.js +3 -3
  205. package/dist/components/JSONSchemaForm.es.js +3 -3
  206. package/dist/components/Kbd.cjs.js +1 -1
  207. package/dist/components/Kbd.es.js +1 -1
  208. package/dist/components/KeyValueList.cjs.js +1 -1
  209. package/dist/components/KeyValueList.es.js +1 -1
  210. package/dist/components/ListSearch.cjs.js +1 -1
  211. package/dist/components/ListSearch.es.js +1 -1
  212. package/dist/components/LogsDataList.cjs.js +4 -2
  213. package/dist/components/LogsDataList.cjs.js.map +1 -1
  214. package/dist/components/LogsDataList.es.js +4 -2
  215. package/dist/components/LogsDataList.es.js.map +1 -1
  216. package/dist/components/MainHeader.cjs.js +3 -3
  217. package/dist/components/MainHeader.cjs.js.map +1 -1
  218. package/dist/components/MainHeader.es.js +3 -3
  219. package/dist/components/MainHeader.es.js.map +1 -1
  220. package/dist/components/MainSidebar.cjs.js +11 -125
  221. package/dist/components/MainSidebar.cjs.js.map +1 -1
  222. package/dist/components/MainSidebar.es.js +1 -120
  223. package/dist/components/MainSidebar.es.js.map +1 -1
  224. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  225. package/dist/components/MarkdownRenderer.es.js +1 -1
  226. package/dist/components/Message.cjs.js +2 -2
  227. package/dist/components/Message.es.js +3 -3
  228. package/dist/components/MetricsCard.cjs.js +1 -1
  229. package/dist/components/MetricsCard.es.js +1 -1
  230. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  231. package/dist/components/MetricsKpiCard.es.js +1 -1
  232. package/dist/components/MetricsLineChart.cjs.js +1 -1
  233. package/dist/components/MetricsLineChart.es.js +1 -1
  234. package/dist/components/Notice.cjs.js +1 -1
  235. package/dist/components/Notice.es.js +1 -1
  236. package/dist/components/PageHeader.cjs.js +1 -1
  237. package/dist/components/PageHeader.es.js +1 -1
  238. package/dist/components/PageLayout.cjs.js +30 -8
  239. package/dist/components/PageLayout.cjs.js.map +1 -1
  240. package/dist/components/PageLayout.es.js +32 -3
  241. package/dist/components/PageLayout.es.js.map +1 -1
  242. package/dist/components/PendingIndicator.cjs.js +1 -1
  243. package/dist/components/PendingIndicator.cjs.js.map +1 -1
  244. package/dist/components/PendingIndicator.es.js +1 -1
  245. package/dist/components/PendingIndicator.es.js.map +1 -1
  246. package/dist/components/PermissionDenied.cjs.js +1 -1
  247. package/dist/components/PermissionDenied.es.js +1 -1
  248. package/dist/components/PrevNextNav.cjs.js +1 -1
  249. package/dist/components/PrevNextNav.es.js +1 -1
  250. package/dist/components/PropertyFilter.cjs.js +18 -19
  251. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  252. package/dist/components/PropertyFilter.es.js +21 -22
  253. package/dist/components/PropertyFilter.es.js.map +1 -1
  254. package/dist/components/RadioGroup.cjs.js +3 -56
  255. package/dist/components/RadioGroup.cjs.js.map +1 -1
  256. package/dist/components/RadioGroup.es.js +1 -39
  257. package/dist/components/RadioGroup.es.js.map +1 -1
  258. package/dist/components/RuleBuilder.cjs.js +10 -10
  259. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  260. package/dist/components/RuleBuilder.es.js +10 -10
  261. package/dist/components/RuleBuilder.es.js.map +1 -1
  262. package/dist/components/SankeyChart.cjs.js +1 -1
  263. package/dist/components/SankeyChart.es.js +1 -1
  264. package/dist/components/ScatterPlotChart.cjs.js +2 -2
  265. package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
  266. package/dist/components/ScatterPlotChart.es.js +2 -2
  267. package/dist/components/ScatterPlotChart.es.js.map +1 -1
  268. package/dist/components/ScrollArea.cjs.js +1 -1
  269. package/dist/components/ScrollArea.es.js +1 -1
  270. package/dist/components/Select.cjs.js +1 -1
  271. package/dist/components/Select.es.js +1 -1
  272. package/dist/components/SessionExpired.cjs.js +1 -1
  273. package/dist/components/SessionExpired.es.js +1 -1
  274. package/dist/components/SettingsLayout.cjs.js +1 -1
  275. package/dist/components/SettingsLayout.es.js +1 -1
  276. package/dist/components/SideDialog.cjs.js +17 -10
  277. package/dist/components/SideDialog.cjs.js.map +1 -1
  278. package/dist/components/SideDialog.es.js +17 -10
  279. package/dist/components/SideDialog.es.js.map +1 -1
  280. package/dist/components/Spinner.cjs.js +1 -1
  281. package/dist/components/Spinner.es.js +1 -1
  282. package/dist/components/StatusIndicators.cjs.js +3 -3
  283. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  284. package/dist/components/StatusIndicators.es.js +3 -3
  285. package/dist/components/StatusIndicators.es.js.map +1 -1
  286. package/dist/components/Steps.cjs.js +3 -3
  287. package/dist/components/Steps.cjs.js.map +1 -1
  288. package/dist/components/Steps.es.js +3 -3
  289. package/dist/components/Steps.es.js.map +1 -1
  290. package/dist/components/Tabs.cjs.js +3 -3
  291. package/dist/components/Tabs.es.js +3 -3
  292. package/dist/components/ThreadList.cjs.js +2 -2
  293. package/dist/components/ThreadList.cjs.js.map +1 -1
  294. package/dist/components/ThreadList.es.js +2 -2
  295. package/dist/components/ThreadList.es.js.map +1 -1
  296. package/dist/components/ThreadRail.cjs.js +1 -1
  297. package/dist/components/ThreadRail.es.js +1 -1
  298. package/dist/components/TokenBudget.cjs.js +1 -1
  299. package/dist/components/TokenBudget.cjs.js.map +1 -1
  300. package/dist/components/TokenBudget.es.js +1 -1
  301. package/dist/components/TokenBudget.es.js.map +1 -1
  302. package/dist/components/Tree.cjs.js +3 -3
  303. package/dist/components/Tree.cjs.js.map +1 -1
  304. package/dist/components/Tree.es.js +3 -3
  305. package/dist/components/Tree.es.js.map +1 -1
  306. package/dist/components/Truncate.cjs.js +1 -1
  307. package/dist/components/Truncate.es.js +1 -1
  308. package/dist/components/Workflow.cjs.js +36 -36
  309. package/dist/components/Workflow.cjs.js.map +1 -1
  310. package/dist/components/Workflow.es.js +36 -36
  311. package/dist/components/Workflow.es.js.map +1 -1
  312. package/dist/components/ai/ask-user.cjs.js +4 -3
  313. package/dist/components/ai/ask-user.cjs.js.map +1 -1
  314. package/dist/components/ai/ask-user.es.js +1 -1
  315. package/dist/components/ai/chat-event.cjs.js +6 -6
  316. package/dist/components/ai/chat-event.cjs.js.map +1 -1
  317. package/dist/components/ai/chat-event.es.js +7 -7
  318. package/dist/components/ai/chat-event.es.js.map +1 -1
  319. package/dist/components/ai/plan.cjs.js +2 -2
  320. package/dist/components/ai/plan.es.js +2 -2
  321. package/dist/components/ai/task-list.cjs.js +7 -7
  322. package/dist/components/ai/task-list.cjs.js.map +1 -1
  323. package/dist/components/ai/task-list.es.js +7 -7
  324. package/dist/components/ai/task-list.es.js.map +1 -1
  325. package/dist/components/ai/tool-approval.cjs.js +1 -1
  326. package/dist/components/ai/tool-approval.es.js +1 -1
  327. package/dist/components/ai/tool-call.cjs.js +8 -8
  328. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  329. package/dist/components/ai/tool-call.es.js +9 -9
  330. package/dist/components/ai/tool-call.es.js.map +1 -1
  331. package/dist/components/fluid-hover-highlight.cjs.js +13 -35
  332. package/dist/components/fluid-hover-highlight.cjs.js.map +1 -1
  333. package/dist/components/fluid-hover-highlight.es.js +14 -33
  334. package/dist/components/fluid-hover-highlight.es.js.map +1 -1
  335. package/dist/{composer-BUoRnMDd.cjs → composer-B_Err196.cjs} +6 -6
  336. package/dist/{composer-BUoRnMDd.cjs.map → composer-B_Err196.cjs.map} +1 -1
  337. package/dist/{composer-CEL1glw7.js → composer-DJGAoBcn.js} +6 -6
  338. package/dist/{composer-CEL1glw7.js.map → composer-DJGAoBcn.js.map} +1 -1
  339. package/dist/{copy-button-BbDBpBMl.cjs → copy-button-C5dMlWsW.cjs} +2 -2
  340. package/dist/{copy-button-BbDBpBMl.cjs.map → copy-button-C5dMlWsW.cjs.map} +1 -1
  341. package/dist/{copy-button-2cwdZ3dW.js → copy-button-C6RswD_D.js} +2 -2
  342. package/dist/{copy-button-2cwdZ3dW.js.map → copy-button-C6RswD_D.js.map} +1 -1
  343. package/dist/{data-code-section-qujvEc6j.cjs → data-code-section-B-y2WPBl.cjs} +17 -19
  344. package/dist/data-code-section-B-y2WPBl.cjs.map +1 -0
  345. package/dist/{data-code-section-DKz9Okaz.js → data-code-section-DcocgDAN.js} +17 -19
  346. package/dist/data-code-section-DcocgDAN.js.map +1 -0
  347. package/dist/{data-keys-and-values-4pYpSbqS.cjs → data-keys-and-values-BduKvvC5.cjs} +2 -2
  348. package/dist/{data-keys-and-values-4pYpSbqS.cjs.map → data-keys-and-values-BduKvvC5.cjs.map} +1 -1
  349. package/dist/{data-keys-and-values-j0NVKPOl.js → data-keys-and-values-DhC4U4Yl.js} +2 -2
  350. package/dist/{data-keys-and-values-j0NVKPOl.js.map → data-keys-and-values-DhC4U4Yl.js.map} +1 -1
  351. package/dist/{data-list-DnSdaRES.js → data-list-gN4SP7a8.js} +5 -5
  352. package/dist/{data-list-DnSdaRES.js.map → data-list-gN4SP7a8.js.map} +1 -1
  353. package/dist/{data-list-skeleton-ADXw-opu.cjs → data-list-skeleton-DYG2LLri.cjs} +2 -2
  354. package/dist/{data-list-skeleton-ADXw-opu.cjs.map → data-list-skeleton-DYG2LLri.cjs.map} +1 -1
  355. package/dist/{data-list-skeleton-D7-glFuk.js → data-list-skeleton-PXHovGLv.js} +2 -2
  356. package/dist/{data-list-skeleton-D7-glFuk.js.map → data-list-skeleton-PXHovGLv.js.map} +1 -1
  357. package/dist/{data-list-spacer-DRHNUeeP.js → data-list-spacer-D-AQzTYw.js} +3 -3
  358. package/dist/{data-list-spacer-DRHNUeeP.js.map → data-list-spacer-D-AQzTYw.js.map} +1 -1
  359. package/dist/{data-list-spacer-EWo65MrK.cjs → data-list-spacer-MpuBsXjL.cjs} +3 -3
  360. package/dist/{data-list-spacer-EWo65MrK.cjs.map → data-list-spacer-MpuBsXjL.cjs.map} +1 -1
  361. package/dist/{data-list-top-DLwt_Sv-.js → data-list-top-BTeM7hI4.js} +5 -5
  362. package/dist/{data-list-top-DLwt_Sv-.js.map → data-list-top-BTeM7hI4.js.map} +1 -1
  363. package/dist/{data-list-top-RK_yX6z8.cjs → data-list-top-DDux1Eu4.cjs} +5 -5
  364. package/dist/{data-list-top-RK_yX6z8.cjs.map → data-list-top-DDux1Eu4.cjs.map} +1 -1
  365. package/dist/{data-list-CypPKOQ_.cjs → data-list-yJm-3f2w.cjs} +5 -5
  366. package/dist/{data-list-CypPKOQ_.cjs.map → data-list-yJm-3f2w.cjs.map} +1 -1
  367. package/dist/{data-panel-CWZJKBeW.cjs → data-panel-CM3N_4M7.cjs} +9 -9
  368. package/dist/{data-panel-CWZJKBeW.cjs.map → data-panel-CM3N_4M7.cjs.map} +1 -1
  369. package/dist/{data-panel-CWjgS1Gh.js → data-panel-D3UfzCoE.js} +9 -9
  370. package/dist/{data-panel-CWjgS1Gh.js.map → data-panel-D3UfzCoE.js.map} +1 -1
  371. package/dist/{date-time-range-picker-C6hjZswK.cjs → date-time-range-picker-2Pkg-FoU.cjs} +6 -7
  372. package/dist/{date-time-range-picker-C6hjZswK.cjs.map → date-time-range-picker-2Pkg-FoU.cjs.map} +1 -1
  373. package/dist/{date-time-range-picker-BcjLbkGu.js → date-time-range-picker-DHg-fuV3.js} +5 -6
  374. package/dist/{date-time-range-picker-BcjLbkGu.js.map → date-time-range-picker-DHg-fuV3.js.map} +1 -1
  375. package/dist/{dialog-Dm33cZqt.cjs → dialog-Cyj59QsZ.cjs} +3 -3
  376. package/dist/{dialog-Dm33cZqt.cjs.map → dialog-Cyj59QsZ.cjs.map} +1 -1
  377. package/dist/{dialog-DRpMek34.js → dialog-D8fuBETk.js} +3 -3
  378. package/dist/{dialog-DRpMek34.js.map → dialog-D8fuBETk.js.map} +1 -1
  379. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  380. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  381. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
  382. package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
  383. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  384. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  385. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  386. package/dist/domains/chat/components/badge-wrapper.cjs.js.map +1 -1
  387. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  388. package/dist/domains/chat/components/badge-wrapper.es.js.map +1 -1
  389. package/dist/domains/chat/components/loading-badge.cjs.js +1 -1
  390. package/dist/domains/chat/components/loading-badge.es.js +1 -1
  391. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
  392. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
  393. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
  394. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
  395. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  396. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  397. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +1 -1
  398. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  399. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +1 -1
  400. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  401. package/dist/domains/chat/messages/reasoning.cjs.js +4 -4
  402. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  403. package/dist/domains/chat/messages/reasoning.es.js +4 -4
  404. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  405. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  406. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  407. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  408. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  409. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  410. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  411. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +6 -6
  412. package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
  413. package/dist/domains/chat/messages/system-reminder-badge.es.js +6 -6
  414. package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
  415. package/dist/domains/chat/messages/tripwire-notice.cjs.js +3 -3
  416. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  417. package/dist/domains/chat/messages/tripwire-notice.es.js +3 -3
  418. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  419. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +2 -2
  420. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js.map +1 -1
  421. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +2 -2
  422. package/dist/domains/chat/tools/badges/ask-user-badge.es.js.map +1 -1
  423. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +5 -5
  424. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  425. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +5 -5
  426. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  427. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +29 -29
  428. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  429. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +29 -29
  430. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  431. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +11 -11
  432. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  433. package/dist/domains/chat/tools/badges/observation-renderer.es.js +11 -11
  434. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  435. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  436. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  437. package/dist/domains/logs/components/log-details-view.cjs.js +10 -12
  438. package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -1
  439. package/dist/domains/logs/components/log-details-view.es.js +10 -12
  440. package/dist/domains/logs/components/log-details-view.es.js.map +1 -1
  441. package/dist/domains/logs/components/logs-error-content.cjs.js +4 -7
  442. package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
  443. package/dist/domains/logs/components/logs-error-content.es.js +4 -7
  444. package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
  445. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  446. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  447. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  448. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  449. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  450. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  451. package/dist/domains/logs/components/no-logs-info.cjs.js +6 -6
  452. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  453. package/dist/domains/logs/components/no-logs-info.es.js +7 -7
  454. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  455. package/dist/domains/memory/components/flame-graph.cjs.js +19 -19
  456. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  457. package/dist/domains/memory/components/flame-graph.es.js +19 -19
  458. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  459. package/dist/domains/memory/components/memory-studio-panel.cjs.js +4 -4
  460. package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -1
  461. package/dist/domains/memory/components/memory-studio-panel.es.js +4 -4
  462. package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -1
  463. package/dist/domains/memory/components/observation-detail-view.cjs.js +17 -18
  464. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  465. package/dist/domains/memory/components/observation-detail-view.es.js +17 -18
  466. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  467. package/dist/domains/memory/components/thread-context-progress.cjs.js +3 -3
  468. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  469. package/dist/domains/memory/components/thread-context-progress.es.js +3 -3
  470. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  471. package/dist/domains/metrics/components/bar-list.cjs.js +9 -9
  472. package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
  473. package/dist/domains/metrics/components/bar-list.es.js +9 -9
  474. package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
  475. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  476. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  477. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  478. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  479. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  480. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  481. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  482. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  483. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  484. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  485. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  486. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  487. package/dist/domains/metrics/components/scores-card-view.cjs.js +6 -6
  488. package/dist/domains/metrics/components/scores-card-view.es.js +6 -6
  489. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  490. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  491. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  492. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  493. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  494. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  495. package/dist/domains/traces/components/no-traces-info.cjs.js +2 -3
  496. package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
  497. package/dist/domains/traces/components/no-traces-info.es.js +2 -3
  498. package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
  499. package/dist/domains/traces/components/span-data-panel-view.cjs.js +7 -7
  500. package/dist/domains/traces/components/span-data-panel-view.es.js +7 -7
  501. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  502. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  503. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
  504. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
  505. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +3 -3
  506. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +3 -3
  507. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +4 -4
  508. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +4 -4
  509. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  510. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  511. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
  512. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
  513. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +4 -6
  514. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  515. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +4 -6
  516. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  517. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  518. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  519. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  520. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  521. package/dist/domains/traces/components/span-timeline-row.cjs.js +4 -4
  522. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  523. package/dist/domains/traces/components/span-timeline-row.es.js +4 -4
  524. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  525. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +2 -2
  526. package/dist/domains/traces/components/span-timing-hover-card.es.js +2 -2
  527. package/dist/domains/traces/components/span-token-usage.cjs.js +5 -5
  528. package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
  529. package/dist/domains/traces/components/span-token-usage.es.js +5 -5
  530. package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
  531. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +2 -2
  532. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  533. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +2 -2
  534. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  535. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
  536. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
  537. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +1 -1
  538. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +1 -1
  539. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  540. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
  541. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  542. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
  543. package/dist/domains/traces/components/timeline-name-col.cjs.js +2 -2
  544. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  545. package/dist/domains/traces/components/timeline-name-col.es.js +2 -2
  546. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  547. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +1 -1
  548. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  549. package/dist/domains/traces/components/timeline-structure-sign.es.js +1 -1
  550. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  551. package/dist/domains/traces/components/timeline-timing-col.cjs.js +2 -2
  552. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  553. package/dist/domains/traces/components/timeline-timing-col.es.js +2 -2
  554. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  555. package/dist/domains/traces/components/trace-columns-menu.cjs.js +8 -8
  556. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  557. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -6
  558. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  559. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +11 -13
  560. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  561. package/dist/domains/traces/components/trace-data-panel-view.es.js +11 -13
  562. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  563. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  564. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  565. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +1 -1
  566. package/dist/domains/traces/components/trace-keys-and-values.es.js +1 -1
  567. package/dist/domains/traces/components/trace-span-timeline.cjs.js +1 -1
  568. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  569. package/dist/domains/traces/components/trace-span-timeline.es.js +1 -1
  570. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  571. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  572. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  573. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  574. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  575. package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
  576. package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
  577. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  578. package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
  579. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  580. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  581. package/dist/domains/traces/components/traces-list-view.cjs.js +5 -5
  582. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  583. package/dist/domains/traces/components/traces-list-view.es.js +5 -5
  584. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  585. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +3 -1
  586. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  587. package/dist/domains/traces/components/traces-page-skeleton.es.js +3 -1
  588. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  589. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +4 -2
  590. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  591. package/dist/domains/traces/hooks/use-trace-url-state.es.js +5 -3
  592. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  593. package/dist/domains/traces/trace-filters.cjs.js +92 -11
  594. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  595. package/dist/domains/traces/trace-filters.es.js +87 -13
  596. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  597. package/dist/domains/traces/trace-query-filters.cjs.js +76 -45
  598. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  599. package/dist/domains/traces/trace-query-filters.es.js +76 -46
  600. package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
  601. package/dist/domains/traces.cjs.js +7 -0
  602. package/dist/domains/traces.cjs.js.map +1 -1
  603. package/dist/domains/traces.es.js +2 -2
  604. package/dist/{drawer-BL5shtHH.cjs → drawer-9eoZbmRK.cjs} +5 -5
  605. package/dist/{drawer-BL5shtHH.cjs.map → drawer-9eoZbmRK.cjs.map} +1 -1
  606. package/dist/{drawer-Bv2DRY8E.js → drawer-DnfOugYZ.js} +5 -5
  607. package/dist/{drawer-Bv2DRY8E.js.map → drawer-DnfOugYZ.js.map} +1 -1
  608. package/dist/{dropdown-menu-DL0MzjEb.js → dropdown-menu-DpEn6HwK.js} +2 -7
  609. package/dist/dropdown-menu-DpEn6HwK.js.map +1 -0
  610. package/dist/{dropdown-menu-DNRCA4Gj.cjs → dropdown-menu-j2y37TL5.cjs} +2 -7
  611. package/dist/dropdown-menu-j2y37TL5.cjs.map +1 -0
  612. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -4
  613. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  614. package/dist/ee/signals/components/entity-index-compact-grid.es.js +4 -4
  615. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  616. package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
  617. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  618. package/dist/ee/signals/components/entity-index-list.es.js +3 -1
  619. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  620. package/dist/ee/signals/components/signals-empty-state.cjs.js +34 -34
  621. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  622. package/dist/ee/signals/components/signals-empty-state.es.js +34 -34
  623. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  624. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -7
  625. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
  626. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -7
  627. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
  628. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +15 -17
  629. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  630. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +16 -18
  631. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  632. package/dist/ee/signals/examples-pager.cjs.js +2 -2
  633. package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
  634. package/dist/ee/signals/examples-pager.es.js +2 -2
  635. package/dist/ee/signals/examples-pager.es.js.map +1 -1
  636. package/dist/ee/signals/flow-card.cjs.js +6 -6
  637. package/dist/ee/signals/flow-card.cjs.js.map +1 -1
  638. package/dist/ee/signals/flow-card.es.js +6 -6
  639. package/dist/ee/signals/flow-card.es.js.map +1 -1
  640. package/dist/ee/signals/lifeline-row.cjs.js +4 -4
  641. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
  642. package/dist/ee/signals/lifeline-row.es.js +4 -4
  643. package/dist/ee/signals/lifeline-row.es.js.map +1 -1
  644. package/dist/ee/signals/noise-detail-panel.cjs.js +12 -12
  645. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  646. package/dist/ee/signals/noise-detail-panel.es.js +12 -12
  647. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  648. package/dist/ee/signals/sankey-signals.cjs.js +6 -6
  649. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  650. package/dist/ee/signals/sankey-signals.es.js +6 -6
  651. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  652. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +13 -14
  653. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  654. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +6 -7
  655. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  656. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +9 -9
  657. package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
  658. package/dist/ee/signals/settings/trace-signal-settings.es.js +9 -9
  659. package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
  660. package/dist/ee/signals/signal-delta-column.cjs.js +7 -7
  661. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
  662. package/dist/ee/signals/signal-delta-column.es.js +7 -7
  663. package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
  664. package/dist/ee/signals/signal-lifelines.cjs.js +2 -2
  665. package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
  666. package/dist/ee/signals/signal-lifelines.es.js +2 -2
  667. package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
  668. package/dist/ee/signals/signals-error-state.cjs.js +3 -3
  669. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  670. package/dist/ee/signals/signals-error-state.es.js +3 -3
  671. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  672. package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
  673. package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -1
  674. package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
  675. package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -1
  676. package/dist/ee/signals/snapshot-timeline.cjs.js +5 -5
  677. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  678. package/dist/ee/signals/snapshot-timeline.es.js +5 -5
  679. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  680. package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -1
  681. package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
  682. package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
  683. package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
  684. package/dist/ee/signals/theme-compare-sparkline.cjs.js +1 -1
  685. package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -1
  686. package/dist/ee/signals/theme-compare-sparkline.es.js +1 -1
  687. package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -1
  688. package/dist/ee/signals/theme-compare.cjs.js +5 -5
  689. package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
  690. package/dist/ee/signals/theme-compare.es.js +5 -5
  691. package/dist/ee/signals/theme-compare.es.js.map +1 -1
  692. package/dist/ee/signals/theme-detail-panel.cjs.js +18 -18
  693. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  694. package/dist/ee/signals/theme-detail-panel.es.js +18 -18
  695. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  696. package/dist/ee/signals/theme-filter-banner.cjs.js +2 -2
  697. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
  698. package/dist/ee/signals/theme-filter-banner.es.js +2 -2
  699. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
  700. package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
  701. package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
  702. package/dist/ee/signals/theme-lifelines.es.js +1 -1
  703. package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
  704. package/dist/ee/signals/theme-trend-chart.cjs.js +1 -1
  705. package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
  706. package/dist/ee/signals/theme-trend-chart.es.js +1 -1
  707. package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
  708. package/dist/ee/signals/trace-insight-view.cjs.js +12 -12
  709. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  710. package/dist/ee/signals/trace-insight-view.es.js +12 -12
  711. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  712. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +2 -2
  713. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
  714. package/dist/ee/signals/trace-intelligence-explainer.es.js +2 -2
  715. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
  716. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  717. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  718. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  719. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  720. package/dist/ee/topics/components/topics-layout.cjs.js +3 -3
  721. package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
  722. package/dist/ee/topics/components/topics-layout.es.js +3 -3
  723. package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
  724. package/dist/{field-block-Dy1IaWbv.cjs → field-error-id-6EfqmQ4C.cjs} +5 -2
  725. package/dist/field-error-id-6EfqmQ4C.cjs.map +1 -0
  726. package/dist/{field-block-DWkbNcsV.js → field-error-id-DyWx33Fu.js} +5 -3
  727. package/dist/field-error-id-DyWx33Fu.js.map +1 -0
  728. package/dist/{filter-bar-chip-BxI0NgEz.cjs → filter-bar-chip-D8O9jpCW.cjs} +300 -69
  729. package/dist/filter-bar-chip-D8O9jpCW.cjs.map +1 -0
  730. package/dist/{filter-bar-chip-C-JxWUU8.js → filter-bar-chip-DMhUPTt8.js} +297 -71
  731. package/dist/filter-bar-chip-DMhUPTt8.js.map +1 -0
  732. package/dist/filter-bar-chip.css +33 -1
  733. package/dist/hooks/use-fluid-hover.cjs.js +15 -9
  734. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  735. package/dist/hooks/use-fluid-hover.es.js +15 -9
  736. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  737. package/dist/{horizontal-bars-nyWGmQ7g.cjs → horizontal-bars-BkVi2dEb.cjs} +7 -7
  738. package/dist/{horizontal-bars-nyWGmQ7g.cjs.map → horizontal-bars-BkVi2dEb.cjs.map} +1 -1
  739. package/dist/{horizontal-bars-CksEKcCE.js → horizontal-bars-nTOFylzc.js} +7 -7
  740. package/dist/{horizontal-bars-CksEKcCE.js.map → horizontal-bars-nTOFylzc.js.map} +1 -1
  741. package/dist/{hover-card-Ch5smNcf.js → hover-card-B1-n3amu.js} +3 -3
  742. package/dist/{hover-card-Ch5smNcf.js.map → hover-card-B1-n3amu.js.map} +1 -1
  743. package/dist/{hover-card-DdHnkGcs.cjs → hover-card-DVfZ2INZ.cjs} +3 -3
  744. package/dist/{hover-card-DdHnkGcs.cjs.map → hover-card-DVfZ2INZ.cjs.map} +1 -1
  745. package/dist/icons/Icon.cjs.js +1 -1
  746. package/dist/icons/Icon.cjs.js.map +1 -1
  747. package/dist/icons/Icon.es.js +1 -1
  748. package/dist/icons/Icon.es.js.map +1 -1
  749. package/dist/{input-group-CvWwK1Vz.cjs → input-group-2yWKRuq9.cjs} +7 -5
  750. package/dist/input-group-2yWKRuq9.cjs.map +1 -0
  751. package/dist/{input-group-BEdHivvy.js → input-group-Czviwtvr.js} +8 -6
  752. package/dist/input-group-Czviwtvr.js.map +1 -0
  753. package/dist/{kbd-CINtikLh.js → kbd-BDVTQHD_.js} +2 -2
  754. package/dist/{kbd-CINtikLh.js.map → kbd-BDVTQHD_.js.map} +1 -1
  755. package/dist/{kbd-B-Z2sNvK.cjs → kbd-BptPsKP6.cjs} +2 -2
  756. package/dist/{kbd-B-Z2sNvK.cjs.map → kbd-BptPsKP6.cjs.map} +1 -1
  757. package/dist/layout/tabbed-container.cjs.js +6 -6
  758. package/dist/layout/tabbed-container.es.js +6 -6
  759. package/dist/{list-search-BTW0Neuc.js → list-search-Jm6SLN0g.js} +2 -2
  760. package/dist/{list-search-BTW0Neuc.js.map → list-search-Jm6SLN0g.js.map} +1 -1
  761. package/dist/{list-search-vyxsZMAK.cjs → list-search-s3DRIfz6.cjs} +2 -2
  762. package/dist/{list-search-vyxsZMAK.cjs.map → list-search-s3DRIfz6.cjs.map} +1 -1
  763. package/dist/{logs-data-list-BSHJPGi6.cjs → logs-data-list-C5tjRtkQ.cjs} +5 -5
  764. package/dist/{logs-data-list-BSHJPGi6.cjs.map → logs-data-list-C5tjRtkQ.cjs.map} +1 -1
  765. package/dist/{logs-data-list-CG-UgC_x.js → logs-data-list-Cl3abARp.js} +5 -5
  766. package/dist/{logs-data-list-CG-UgC_x.js.map → logs-data-list-Cl3abARp.js.map} +1 -1
  767. package/dist/{main-sidebar-link-active-DbCvKZy2.cjs → main-sidebar-BsEmFpKN.cjs} +122 -9
  768. package/dist/main-sidebar-BsEmFpKN.cjs.map +1 -0
  769. package/dist/{main-sidebar-link-active-CmDoiX6g.js → main-sidebar-C5PU7zgc.js} +123 -11
  770. package/dist/main-sidebar-C5PU7zgc.js.map +1 -0
  771. package/dist/{markdown-renderer-D8qYAU7K.cjs → markdown-renderer-C74wABzc.cjs} +6 -7
  772. package/dist/markdown-renderer-C74wABzc.cjs.map +1 -0
  773. package/dist/{markdown-renderer-B0gTm_Ea.js → markdown-renderer-DZAcPOxC.js} +6 -7
  774. package/dist/markdown-renderer-DZAcPOxC.js.map +1 -0
  775. package/dist/{message-BrwbcLPi.js → message-Cs8NW-MR.js} +2 -2
  776. package/dist/{message-BrwbcLPi.js.map → message-Cs8NW-MR.js.map} +1 -1
  777. package/dist/{message-CszposMZ.cjs → message-D9b33Pf_.cjs} +2 -2
  778. package/dist/{message-CszposMZ.cjs.map → message-D9b33Pf_.cjs.map} +1 -1
  779. package/dist/{metrics-card-BUJxiwec.cjs → metrics-card-BdWGPlnt.cjs} +8 -8
  780. package/dist/metrics-card-BdWGPlnt.cjs.map +1 -0
  781. package/dist/{metrics-card-BlBt1WHw.js → metrics-card-C5znWn69.js} +8 -8
  782. package/dist/metrics-card-C5znWn69.js.map +1 -0
  783. package/dist/{metrics-kpi-card-CBSNmtc5.js → metrics-kpi-card-CinKYTBn.js} +4 -4
  784. package/dist/{metrics-kpi-card-CBSNmtc5.js.map → metrics-kpi-card-CinKYTBn.js.map} +1 -1
  785. package/dist/{metrics-kpi-card-CgqmNcEC.cjs → metrics-kpi-card-HU17WRTT.cjs} +4 -4
  786. package/dist/{metrics-kpi-card-CgqmNcEC.cjs.map → metrics-kpi-card-HU17WRTT.cjs.map} +1 -1
  787. package/dist/{metrics-line-chart-B_sP3eiL.cjs → metrics-line-chart-0FR3SYSt.cjs} +3 -3
  788. package/dist/{metrics-line-chart-B_sP3eiL.cjs.map → metrics-line-chart-0FR3SYSt.cjs.map} +1 -1
  789. package/dist/{metrics-line-chart-DHyrDPkJ.js → metrics-line-chart-knlgw8bV.js} +3 -3
  790. package/dist/{metrics-line-chart-DHyrDPkJ.js.map → metrics-line-chart-knlgw8bV.js.map} +1 -1
  791. package/dist/new/layout/app-shell.cjs.js +23 -28
  792. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  793. package/dist/new/layout/app-shell.es.js +23 -28
  794. package/dist/new/layout/app-shell.es.js.map +1 -1
  795. package/dist/new/layout/page-header.cjs.js +1 -1
  796. package/dist/new/layout/page-header.es.js +1 -1
  797. package/dist/new/settings.cjs.js +1 -1
  798. package/dist/new/settings.es.js +1 -1
  799. package/dist/new/sidebar.cjs.js +40 -40
  800. package/dist/new/sidebar.cjs.js.map +1 -1
  801. package/dist/new/sidebar.es.js +10 -10
  802. package/dist/new/sidebar.es.js.map +1 -1
  803. package/dist/{page-header-BIoUf7MA.js → page-header-CSigVThQ.js} +2 -2
  804. package/dist/{page-header-BIoUf7MA.js.map → page-header-CSigVThQ.js.map} +1 -1
  805. package/dist/{page-header-BBlPmW-T.cjs → page-header-DzEEkOca.cjs} +2 -2
  806. package/dist/{page-header-BBlPmW-T.cjs.map → page-header-DzEEkOca.cjs.map} +1 -1
  807. package/dist/primitives/control-size.cjs.js +24 -2
  808. package/dist/primitives/control-size.cjs.js.map +1 -1
  809. package/dist/primitives/control-size.es.js +5 -3
  810. package/dist/primitives/control-size.es.js.map +1 -1
  811. package/dist/primitives/fluid-menu.cjs.js +30 -18
  812. package/dist/primitives/fluid-menu.cjs.js.map +1 -1
  813. package/dist/primitives/fluid-menu.es.js +30 -18
  814. package/dist/primitives/fluid-menu.es.js.map +1 -1
  815. package/dist/primitives/form-element.cjs.js +4 -4
  816. package/dist/primitives/form-element.cjs.js.map +1 -1
  817. package/dist/primitives/form-element.es.js +4 -3
  818. package/dist/primitives/form-element.es.js.map +1 -1
  819. package/dist/primitives/menu-item.cjs.js +7 -4
  820. package/dist/primitives/menu-item.cjs.js.map +1 -1
  821. package/dist/primitives/menu-item.es.js +7 -4
  822. package/dist/primitives/menu-item.es.js.map +1 -1
  823. package/dist/primitives/trigger-button.cjs.js +1 -1
  824. package/dist/primitives/trigger-button.es.js +1 -1
  825. package/dist/{property-filter-applied-BBiUbtr0.js → property-filter-applied-C15IJHLs.js} +30 -36
  826. package/dist/property-filter-applied-C15IJHLs.js.map +1 -0
  827. package/dist/{property-filter-applied-BmxCPe2d.cjs → property-filter-applied-DtSjGypB.cjs} +30 -36
  828. package/dist/property-filter-applied-DtSjGypB.cjs.map +1 -0
  829. package/dist/radio-group-BdEPWGzi.cjs +62 -0
  830. package/dist/radio-group-BdEPWGzi.cjs.map +1 -0
  831. package/dist/radio-group-CFZXUXZ5.js +40 -0
  832. package/dist/radio-group-CFZXUXZ5.js.map +1 -0
  833. package/dist/resize/collapsible-panel.cjs.js +1 -1
  834. package/dist/resize/collapsible-panel.es.js +1 -1
  835. package/dist/resize/panel-drawer.cjs.js +1 -1
  836. package/dist/resize/panel-drawer.es.js +1 -1
  837. package/dist/{sankey-chart-Bcm9jMhe.cjs → sankey-chart-C1e0nRc3.cjs} +4 -4
  838. package/dist/{sankey-chart-Bcm9jMhe.cjs.map → sankey-chart-C1e0nRc3.cjs.map} +1 -1
  839. package/dist/{sankey-chart-CqngN2lw.js → sankey-chart-jvMXKzud.js} +4 -4
  840. package/dist/{sankey-chart-CqngN2lw.js.map → sankey-chart-jvMXKzud.js.map} +1 -1
  841. package/dist/{scroll-area-Qjf7e0Ik.cjs → scroll-area-BzOyuS8Y.cjs} +2 -2
  842. package/dist/{scroll-area-Qjf7e0Ik.cjs.map → scroll-area-BzOyuS8Y.cjs.map} +1 -1
  843. package/dist/{scroll-area-CdQ_5bLm.js → scroll-area-DyTZoISq.js} +2 -2
  844. package/dist/{scroll-area-CdQ_5bLm.js.map → scroll-area-DyTZoISq.js.map} +1 -1
  845. package/dist/{search-field-block-D0PUUCAE.cjs → search-field-block-ChXCuPrB.cjs} +9 -10
  846. package/dist/{search-field-block-D0PUUCAE.cjs.map → search-field-block-ChXCuPrB.cjs.map} +1 -1
  847. package/dist/{search-field-block-B5vUVTpl.js → search-field-block-nVeIkFXN.js} +3 -4
  848. package/dist/{search-field-block-B5vUVTpl.js.map → search-field-block-nVeIkFXN.js.map} +1 -1
  849. package/dist/{select--DXpTg0O.js → select-CDIt5aab.js} +3 -6
  850. package/dist/select-CDIt5aab.js.map +1 -0
  851. package/dist/{select-7ACAVdGX.cjs → select-CH5XO18L.cjs} +3 -6
  852. package/dist/select-CH5XO18L.cjs.map +1 -0
  853. package/dist/{select-field-block-Bu7UXI2H.js → select-field-block-BtjE0P5d.js} +3 -4
  854. package/dist/{select-field-block-Bu7UXI2H.js.map → select-field-block-BtjE0P5d.js.map} +1 -1
  855. package/dist/{select-field-block-W2u2WmN3.cjs → select-field-block-CpzMTsP6.cjs} +9 -10
  856. package/dist/{select-field-block-W2u2WmN3.cjs.map → select-field-block-CpzMTsP6.cjs.map} +1 -1
  857. package/dist/{settings-layout-NP_1dC-e.cjs → settings-layout-BGvMSClL.cjs} +2 -2
  858. package/dist/{settings-layout-NP_1dC-e.cjs.map → settings-layout-BGvMSClL.cjs.map} +1 -1
  859. package/dist/{settings-layout-C80s-D31.js → settings-layout-DA-JWqW3.js} +2 -2
  860. package/dist/{settings-layout-C80s-D31.js.map → settings-layout-DA-JWqW3.js.map} +1 -1
  861. package/dist/{span-payload-primitives-DnRsP93D.cjs → span-payload-primitives-70wznWZl.cjs} +6 -6
  862. package/dist/{span-payload-primitives-DnRsP93D.cjs.map → span-payload-primitives-70wznWZl.cjs.map} +1 -1
  863. package/dist/{span-payload-primitives-sbxk4CHC.js → span-payload-primitives-BvoMauDb.js} +6 -6
  864. package/dist/{span-payload-primitives-sbxk4CHC.js.map → span-payload-primitives-BvoMauDb.js.map} +1 -1
  865. package/dist/{spinner-CqP-NaB2.cjs → spinner-BCpN7LL9.cjs} +9 -3
  866. package/dist/spinner-BCpN7LL9.cjs.map +1 -0
  867. package/dist/{spinner-D2C2DYw8.js → spinner-ylbE0TJA.js} +9 -3
  868. package/dist/spinner-ylbE0TJA.js.map +1 -0
  869. package/dist/src/components/fluid-hover-highlight.d.ts +4 -58
  870. package/dist/src/domains/traces/components/traces-error-content.d.ts +2 -2
  871. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +5 -3
  872. package/dist/src/domains/traces/trace-filters.d.ts +19 -4
  873. package/dist/src/domains/traces/trace-query-filters.d.ts +13 -1
  874. package/dist/src/ds/components/ActionRow/action-row.d.ts +9 -0
  875. package/dist/src/ds/components/ActionRow/action-row.stories.d.ts +8 -0
  876. package/dist/src/ds/components/ActionRow/index.d.ts +5 -0
  877. package/dist/src/ds/components/Badge/badge.stories.d.ts +0 -1
  878. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +11 -11
  879. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +17 -7
  880. package/dist/src/ds/components/EmptyState/EmptyState.d.ts +8 -2
  881. package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +1 -0
  882. package/dist/src/ds/components/ErrorState/ErrorState.d.ts +3 -1
  883. package/dist/src/ds/components/ErrorState/error-state.stories.d.ts +1 -0
  884. package/dist/src/ds/components/FilterBar/filter-bar-advanced-chip.d.ts +10 -0
  885. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -9
  886. package/dist/src/ds/components/FilterBar/filter-bar-group-editor.d.ts +25 -0
  887. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +8 -1
  888. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +5 -0
  889. package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +36 -0
  890. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +28 -7
  891. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +3 -0
  892. package/dist/src/ds/components/FilterBar/index.d.ts +6 -1
  893. package/dist/src/ds/components/FilterBar/types.d.ts +36 -0
  894. package/dist/src/ds/components/FilterBar/use-settle-on-leave.d.ts +2 -0
  895. package/dist/src/ds/components/PageLayout/index.d.ts +1 -2
  896. package/dist/src/ds/components/PageLayout/page-layout.d.ts +13 -11
  897. package/dist/src/ds/components/PageLayout/page-layout.stories.d.ts +1 -2
  898. package/dist/src/ds/components/PermissionDenied/PermissionDenied.d.ts +3 -1
  899. package/dist/src/ds/components/PermissionDenied/permission-denied.stories.d.ts +1 -0
  900. package/dist/src/ds/components/SessionExpired/SessionExpired.d.ts +3 -1
  901. package/dist/src/ds/components/SessionExpired/session-expired.stories.d.ts +1 -0
  902. package/dist/src/ds/components/Spinner/spinner.d.ts +6 -3
  903. package/dist/src/ds/components/Spinner/spinner.stories.d.ts +1 -0
  904. package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +13 -8
  905. package/dist/src/ds/new/layout/app-shell/app-shell.d.ts +2 -8
  906. package/dist/src/ds/new/layout/app-shell/app-shell.stories.d.ts +0 -1
  907. package/dist/src/ds/primitives/control-size.d.ts +3 -1
  908. package/dist/src/ds/primitives/fluid-menu.d.ts +8 -3
  909. package/dist/src/ds/primitives/form-element.d.ts +1 -2
  910. package/dist/src/hooks/use-fluid-hover.d.ts +7 -2
  911. package/dist/style.css +83 -120
  912. package/dist/{tabs-content-CKC4kIpH.js → tabs-content-BeFlc4E_.js} +2 -2
  913. package/dist/{tabs-content-CKC4kIpH.js.map → tabs-content-BeFlc4E_.js.map} +1 -1
  914. package/dist/{tabs-content-Bz6CZuv9.cjs → tabs-content-Cdu6HP8U.cjs} +2 -2
  915. package/dist/{tabs-content-Bz6CZuv9.cjs.map → tabs-content-Cdu6HP8U.cjs.map} +1 -1
  916. package/dist/{tabs-root-C5ABfm1F.cjs → tabs-root-BiV8irc3.cjs} +4 -4
  917. package/dist/{tabs-root-C5ABfm1F.cjs.map → tabs-root-BiV8irc3.cjs.map} +1 -1
  918. package/dist/{tabs-root-CcEQrwTM.js → tabs-root-CJ3GkDzi.js} +4 -4
  919. package/dist/{tabs-root-CcEQrwTM.js.map → tabs-root-CJ3GkDzi.js.map} +1 -1
  920. package/dist/{tabs-tab-BycF4dvx.js → tabs-tab-CoSCf5Ku.js} +2 -2
  921. package/dist/{tabs-tab-BycF4dvx.js.map → tabs-tab-CoSCf5Ku.js.map} +1 -1
  922. package/dist/{tabs-tab-DA466DbX.cjs → tabs-tab-J91Szy3Q.cjs} +2 -2
  923. package/dist/{tabs-tab-DA466DbX.cjs.map → tabs-tab-J91Szy3Q.cjs.map} +1 -1
  924. package/dist/{text-field-block-BLpLWmu8.cjs → text-field-block-BmWGMw3a.cjs} +8 -9
  925. package/dist/{text-field-block-BLpLWmu8.cjs.map → text-field-block-BmWGMw3a.cjs.map} +1 -1
  926. package/dist/{text-field-block--EUJKlY_.js → text-field-block-Cihf0IRw.js} +2 -3
  927. package/dist/{text-field-block--EUJKlY_.js.map → text-field-block-Cihf0IRw.js.map} +1 -1
  928. package/dist/{thread-rail-b-8RHNX_.cjs → thread-rail-BVpfkSyT.cjs} +6 -6
  929. package/dist/{thread-rail-b-8RHNX_.cjs.map → thread-rail-BVpfkSyT.cjs.map} +1 -1
  930. package/dist/{thread-rail-vsR5C0j4.js → thread-rail-DV89nFnn.js} +6 -6
  931. package/dist/{thread-rail-vsR5C0j4.js.map → thread-rail-DV89nFnn.js.map} +1 -1
  932. package/dist/{time-picker-Dlm-C-n4.cjs → time-picker-DXuXFGa-.cjs} +2 -2
  933. package/dist/{time-picker-Dlm-C-n4.cjs.map → time-picker-DXuXFGa-.cjs.map} +1 -1
  934. package/dist/{time-picker-DVt1ZUsS.js → time-picker-vFozGRyK.js} +2 -2
  935. package/dist/{time-picker-DVt1ZUsS.js.map → time-picker-vFozGRyK.js.map} +1 -1
  936. package/dist/{tool-approval-DB82iiRa.js → tool-approval-C11ECt4s.js} +5 -5
  937. package/dist/{tool-approval-DB82iiRa.js.map → tool-approval-C11ECt4s.js.map} +1 -1
  938. package/dist/{tool-approval-Dys524ty.cjs → tool-approval-DODxfqk7.cjs} +5 -5
  939. package/dist/{tool-approval-Dys524ty.cjs.map → tool-approval-DODxfqk7.cjs.map} +1 -1
  940. package/dist/{tool-call-K147tCug.js → tool-call-BjAGFbH-.js} +5 -5
  941. package/dist/{tool-call-K147tCug.js.map → tool-call-BjAGFbH-.js.map} +1 -1
  942. package/dist/{tool-call-CMRvRE-v.cjs → tool-call-CNBGnCmO.cjs} +5 -5
  943. package/dist/{tool-call-CMRvRE-v.cjs.map → tool-call-CNBGnCmO.cjs.map} +1 -1
  944. package/dist/{traces-data-list-CDNE9P8W.js → traces-data-list-BhKK8-wa.js} +7 -7
  945. package/dist/{traces-data-list-CDNE9P8W.js.map → traces-data-list-BhKK8-wa.js.map} +1 -1
  946. package/dist/{traces-data-list-B3q_cy6c.cjs → traces-data-list-D58cw23x.cjs} +7 -7
  947. package/dist/{traces-data-list-B3q_cy6c.cjs.map → traces-data-list-D58cw23x.cjs.map} +1 -1
  948. package/dist/types-CIPrYAzY.js +9 -0
  949. package/dist/types-CIPrYAzY.js.map +1 -0
  950. package/dist/types-Ns4ZNp-g.cjs +12 -0
  951. package/dist/types-Ns4ZNp-g.cjs.map +1 -0
  952. package/package.json +6 -7
  953. package/theme/surfaces.css +2 -2
  954. package/dist/Button-CVewl8nT.cjs.map +0 -1
  955. package/dist/Button-cWcBEd-G.js.map +0 -1
  956. package/dist/EmptyState-CdRjFB06.cjs.map +0 -1
  957. package/dist/EmptyState-UWXhBp5U.js.map +0 -1
  958. package/dist/ErrorState-B3uTRAEd.cjs +0 -16
  959. package/dist/ErrorState-B3uTRAEd.cjs.map +0 -1
  960. package/dist/ErrorState-DqRx8Dw_.js +0 -14
  961. package/dist/ErrorState-DqRx8Dw_.js.map +0 -1
  962. package/dist/PermissionDenied-B6TSGolC.js.map +0 -1
  963. package/dist/PermissionDenied-Dz5qXpQj.cjs.map +0 -1
  964. package/dist/SessionExpired-Bq5LcsDu.js.map +0 -1
  965. package/dist/SessionExpired-CF0BGNo_.cjs.map +0 -1
  966. package/dist/ask-user-CS2e6Re4.cjs +0 -147
  967. package/dist/ask-user-CS2e6Re4.cjs.map +0 -1
  968. package/dist/ask-user-gS3Y1bCc.js +0 -138
  969. package/dist/ask-user-gS3Y1bCc.js.map +0 -1
  970. package/dist/buttons-group-BiLEV_Ak.cjs +0 -101
  971. package/dist/buttons-group-BiLEV_Ak.cjs.map +0 -1
  972. package/dist/buttons-group-CaA7KAWf.js +0 -78
  973. package/dist/buttons-group-CaA7KAWf.js.map +0 -1
  974. package/dist/combobox-BWM3VH-n.cjs.map +0 -1
  975. package/dist/combobox-D7xJFZuO.js.map +0 -1
  976. package/dist/combobox-styles-CRebmeht.js.map +0 -1
  977. package/dist/combobox-styles-DYlNNjKC.cjs.map +0 -1
  978. package/dist/components/MainContent.cjs.js +0 -81
  979. package/dist/components/MainContent.cjs.js.map +0 -1
  980. package/dist/components/MainContent.d.ts +0 -2
  981. package/dist/components/MainContent.es.js +0 -75
  982. package/dist/components/MainContent.es.js.map +0 -1
  983. package/dist/data-code-section-DKz9Okaz.js.map +0 -1
  984. package/dist/data-code-section-qujvEc6j.cjs.map +0 -1
  985. package/dist/dropdown-menu-DL0MzjEb.js.map +0 -1
  986. package/dist/dropdown-menu-DNRCA4Gj.cjs.map +0 -1
  987. package/dist/field-block-DWkbNcsV.js.map +0 -1
  988. package/dist/field-block-Dy1IaWbv.cjs.map +0 -1
  989. package/dist/field-error-id-B3Z2Zu5y.cjs +0 -6
  990. package/dist/field-error-id-B3Z2Zu5y.cjs.map +0 -1
  991. package/dist/field-error-id-D3yg1nBh.js +0 -4
  992. package/dist/field-error-id-D3yg1nBh.js.map +0 -1
  993. package/dist/filter-bar-chip-BxI0NgEz.cjs.map +0 -1
  994. package/dist/filter-bar-chip-C-JxWUU8.js.map +0 -1
  995. package/dist/input-group-BEdHivvy.js.map +0 -1
  996. package/dist/input-group-CvWwK1Vz.cjs.map +0 -1
  997. package/dist/lib/springs.cjs.js +0 -32
  998. package/dist/lib/springs.cjs.js.map +0 -1
  999. package/dist/lib/springs.d.ts +0 -2
  1000. package/dist/lib/springs.es.js +0 -27
  1001. package/dist/lib/springs.es.js.map +0 -1
  1002. package/dist/main-sidebar-link-active-CmDoiX6g.js.map +0 -1
  1003. package/dist/main-sidebar-link-active-DbCvKZy2.cjs.map +0 -1
  1004. package/dist/markdown-renderer-B0gTm_Ea.js.map +0 -1
  1005. package/dist/markdown-renderer-D8qYAU7K.cjs.map +0 -1
  1006. package/dist/metrics-card-BUJxiwec.cjs.map +0 -1
  1007. package/dist/metrics-card-BlBt1WHw.js.map +0 -1
  1008. package/dist/new/layout/page-shell.cjs.js +0 -34
  1009. package/dist/new/layout/page-shell.cjs.js.map +0 -1
  1010. package/dist/new/layout/page-shell.d.ts +0 -2
  1011. package/dist/new/layout/page-shell.es.js +0 -30
  1012. package/dist/new/layout/page-shell.es.js.map +0 -1
  1013. package/dist/no-data-page-layout-DcVPjj-J.js +0 -9
  1014. package/dist/no-data-page-layout-DcVPjj-J.js.map +0 -1
  1015. package/dist/no-data-page-layout-Drzbg_w8.cjs +0 -11
  1016. package/dist/no-data-page-layout-Drzbg_w8.cjs.map +0 -1
  1017. package/dist/page-heading-context-D3yjYoJE.js +0 -9
  1018. package/dist/page-heading-context-D3yjYoJE.js.map +0 -1
  1019. package/dist/page-heading-context-Du-CpxAx.cjs +0 -12
  1020. package/dist/page-heading-context-Du-CpxAx.cjs.map +0 -1
  1021. package/dist/page-layout-C9ifD9Q8.cjs +0 -99
  1022. package/dist/page-layout-C9ifD9Q8.cjs.map +0 -1
  1023. package/dist/page-layout-xcM8IR-B.js +0 -97
  1024. package/dist/page-layout-xcM8IR-B.js.map +0 -1
  1025. package/dist/property-filter-applied-BBiUbtr0.js.map +0 -1
  1026. package/dist/property-filter-applied-BmxCPe2d.cjs.map +0 -1
  1027. package/dist/select--DXpTg0O.js.map +0 -1
  1028. package/dist/select-7ACAVdGX.cjs.map +0 -1
  1029. package/dist/spinner-CqP-NaB2.cjs.map +0 -1
  1030. package/dist/spinner-D2C2DYw8.js.map +0 -1
  1031. package/dist/src/ds/components/MainContent/index.d.ts +0 -1
  1032. package/dist/src/ds/components/MainContent/main-content.d.ts +0 -21
  1033. package/dist/src/ds/components/MainContent/main-content.stories.d.ts +0 -10
  1034. package/dist/src/ds/components/PageLayout/no-data-page-layout.d.ts +0 -6
  1035. package/dist/src/ds/components/PageLayout/page-heading-context.d.ts +0 -2
  1036. package/dist/src/ds/components/PageLayout/page-layout-column.d.ts +0 -5
  1037. package/dist/src/ds/components/PageLayout/page-layout-main-area.d.ts +0 -7
  1038. package/dist/src/ds/components/PageLayout/page-layout-root.d.ts +0 -7
  1039. package/dist/src/ds/components/PageLayout/page-layout-row.d.ts +0 -11
  1040. package/dist/src/ds/components/PageLayout/page-layout-top-area.d.ts +0 -5
  1041. package/dist/src/ds/new/layout/page-shell/index.d.ts +0 -1
  1042. package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +0 -24
  1043. package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +0 -63
  1044. package/dist/src/lib/springs.d.ts +0 -31
@@ -1,10 +1,10 @@
1
- import { a as ChatEvent } from '../../chat-notification-4OuPNhtu.js';
2
- export { C as ChatNotification } from '../../chat-notification-4OuPNhtu.js';
3
- export { C as ChatSignal } from '../../chat-signal-CG5-vy21.js';
1
+ import { a as ChatEvent } from '../../chat-notification-BM24QnK9.js';
2
+ export { C as ChatNotification } from '../../chat-notification-BM24QnK9.js';
3
+ export { C as ChatSignal } from '../../chat-signal-5gAZo10e.js';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
  import { BookOpen } from 'lucide-react';
6
- import { M as MarkdownRenderer } from '../../markdown-renderer-B0gTm_Ea.js';
7
- import { S as ScrollArea } from '../../scroll-area-CdQ_5bLm.js';
6
+ import { M as MarkdownRenderer } from '../../markdown-renderer-DZAcPOxC.js';
7
+ import { S as ScrollArea } from '../../scroll-area-DyTZoISq.js';
8
8
  import { T as Txt } from '../../Txt-DTh3Pa_a.js';
9
9
 
10
10
  function ChatSkill({ name, arguments: args, instructions, defaultOpen }) {
@@ -26,9 +26,9 @@ function ChatTimeGap({ text }) {
26
26
  const [phrase, timestamp] = text.split(" — ");
27
27
  if (!phrase) return null;
28
28
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 py-3", role: "separator", "aria-label": text, children: [
29
- /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "bg-border h-px flex-1" }),
29
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "h-px flex-1 bg-border" }),
30
30
  /* @__PURE__ */ jsx(Txt, { as: "span", variant: "meta", tone: "muted", className: "shrink-0", title: timestamp, children: phrase }),
31
- /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "bg-border h-px flex-1" })
31
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "h-px flex-1 bg-border" })
32
32
  ] });
33
33
  }
34
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"chat-event.es.js","sources":["../../../src/ds/components/ai/chat-event/chat-skill.tsx","../../../src/ds/components/ai/chat-event/chat-time-gap.tsx"],"sourcesContent":["import { BookOpen } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\n\nexport interface ChatSkillProps {\n name: string;\n arguments?: string;\n instructions: string;\n defaultOpen?: boolean;\n}\n\nexport function ChatSkill({ name, arguments: args, instructions, defaultOpen }: ChatSkillProps) {\n return (\n <ChatEvent\n label=\"Skill\"\n detail={args ? `${name} ${args}` : name}\n icon={<BookOpen size={14} strokeWidth={1.75} aria-hidden className=\"text-accent3\" />}\n data-skill-name={name}\n aria-label={`Skill: ${name}`}\n defaultOpen={defaultOpen}\n >\n <ScrollArea maxHeight=\"24rem\" revealScrollbarOnHover={false}>\n <MarkdownRenderer className=\"text-caption\">{instructions}</MarkdownRenderer>\n </ScrollArea>\n </ChatEvent>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\n\nexport function ChatTimeGap({ text }: { text: string }) {\n const [phrase, timestamp] = text.split(' — ');\n if (!phrase) return null;\n\n return (\n <div className=\"flex items-center gap-3 py-3\" role=\"separator\" aria-label={text}>\n <span aria-hidden className=\"bg-border h-px flex-1\" />\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0\" title={timestamp}>\n {phrase}\n </Txt>\n <span aria-hidden className=\"bg-border h-px flex-1\" />\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAYO,SAAS,UAAU,EAAE,IAAA,EAAM,WAAW,IAAA,EAAM,YAAA,EAAc,aAAY,EAAmB;AAC9F,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,OAAA;AAAA,MACN,QAAQ,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,IAAA;AAAA,MACnC,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAM,EAAA,EAAI,aAAa,IAAA,EAAM,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,cAAA,EAAe,CAAA;AAAA,MAClF,iBAAA,EAAiB,IAAA;AAAA,MACjB,YAAA,EAAY,UAAU,IAAI,CAAA,CAAA;AAAA,MAC1B,WAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,OAAA,EAAQ,sBAAA,EAAwB,KAAA,EACpD,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,cAAA,EAAgB,QAAA,EAAA,YAAA,EAAa,CAAA,EAC3D;AAAA;AAAA,GACF;AAEJ;;ACzBO,SAAS,WAAA,CAAY,EAAE,IAAA,EAAK,EAAqB;AACtD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,IAAA,CAAK,MAAM,KAAK,CAAA;AAC5C,EAAA,IAAI,CAAC,QAAQ,OAAO,IAAA;AAEpB,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAU,gCAA+B,IAAA,EAAK,WAAA,EAAY,cAAY,IAAA,EACzE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,oBACpD,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,KAAA,EAAO,SAAA,EACpE,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,WAAU,uBAAA,EAAwB;AAAA,GAAA,EACtD,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"chat-event.es.js","sources":["../../../src/ds/components/ai/chat-event/chat-skill.tsx","../../../src/ds/components/ai/chat-event/chat-time-gap.tsx"],"sourcesContent":["import { BookOpen } from 'lucide-react';\nimport { ChatEvent } from './chat-event';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\n\nexport interface ChatSkillProps {\n name: string;\n arguments?: string;\n instructions: string;\n defaultOpen?: boolean;\n}\n\nexport function ChatSkill({ name, arguments: args, instructions, defaultOpen }: ChatSkillProps) {\n return (\n <ChatEvent\n label=\"Skill\"\n detail={args ? `${name} ${args}` : name}\n icon={<BookOpen size={14} strokeWidth={1.75} aria-hidden className=\"text-accent3\" />}\n data-skill-name={name}\n aria-label={`Skill: ${name}`}\n defaultOpen={defaultOpen}\n >\n <ScrollArea maxHeight=\"24rem\" revealScrollbarOnHover={false}>\n <MarkdownRenderer className=\"text-caption\">{instructions}</MarkdownRenderer>\n </ScrollArea>\n </ChatEvent>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\n\nexport function ChatTimeGap({ text }: { text: string }) {\n const [phrase, timestamp] = text.split(' — ');\n if (!phrase) return null;\n\n return (\n <div className=\"flex items-center gap-3 py-3\" role=\"separator\" aria-label={text}>\n <span aria-hidden className=\"h-px flex-1 bg-border\" />\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0\" title={timestamp}>\n {phrase}\n </Txt>\n <span aria-hidden className=\"h-px flex-1 bg-border\" />\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAYO,SAAS,UAAU,EAAE,IAAA,EAAM,WAAW,IAAA,EAAM,YAAA,EAAc,aAAY,EAAmB;AAC9F,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,OAAA;AAAA,MACN,QAAQ,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,IAAA;AAAA,MACnC,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,IAAA,EAAM,EAAA,EAAI,aAAa,IAAA,EAAM,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,cAAA,EAAe,CAAA;AAAA,MAClF,iBAAA,EAAiB,IAAA;AAAA,MACjB,YAAA,EAAY,UAAU,IAAI,CAAA,CAAA;AAAA,MAC1B,WAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,OAAA,EAAQ,sBAAA,EAAwB,KAAA,EACpD,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,cAAA,EAAgB,QAAA,EAAA,YAAA,EAAa,CAAA,EAC3D;AAAA;AAAA,GACF;AAEJ;;ACzBO,SAAS,WAAA,CAAY,EAAE,IAAA,EAAK,EAAqB;AACtD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,IAAA,CAAK,MAAM,KAAK,CAAA;AAC5C,EAAA,IAAI,CAAC,QAAQ,OAAO,IAAA;AAEpB,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAU,gCAA+B,IAAA,EAAK,WAAA,EAAY,cAAY,IAAA,EACzE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,oBACpD,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,KAAA,EAAO,SAAA,EACpE,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAW,IAAA,EAAC,WAAU,uBAAA,EAAwB;AAAA,GAAA,EACtD,CAAA;AAEJ;;;;"}
@@ -6,8 +6,8 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const Badge = require('../../Badge-BEeYtjmv.cjs');
9
- const Button = require('../../Button-CVewl8nT.cjs');
10
- const markdownRenderer = require('../../markdown-renderer-D8qYAU7K.cjs');
9
+ const Button = require('../../Button-C0DBEBcJ.cjs');
10
+ const markdownRenderer = require('../../markdown-renderer-C74wABzc.cjs');
11
11
  const Txt = require('../../Txt-B4-2nLaI.cjs');
12
12
  const icons_Icon = require('../../icons/Icon.cjs.js');
13
13
  const hooks_useCopyToClipboard = require('../../hooks/use-copy-to-clipboard.cjs.js');
@@ -2,8 +2,8 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { CheckIcon, CopyIcon, Minimize2, Maximize2, ClipboardList } from 'lucide-react';
3
3
  import { useState, useRef, useLayoutEffect, createContext, useContext } from 'react';
4
4
  import { B as Badge } from '../../Badge-TD55_qZJ.js';
5
- import { B as Button } from '../../Button-cWcBEd-G.js';
6
- import { M as MarkdownRenderer } from '../../markdown-renderer-B0gTm_Ea.js';
5
+ import { B as Button } from '../../Button-C9cvaVFG.js';
6
+ import { M as MarkdownRenderer } from '../../markdown-renderer-DZAcPOxC.js';
7
7
  import { T as Txt } from '../../Txt-DTh3Pa_a.js';
8
8
  import { Icon } from '../../icons/Icon.es.js';
9
9
  import { useCopyToClipboard } from '../../hooks/use-copy-to-clipboard.es.js';
@@ -5,8 +5,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const collapsible = require('../../collapsible-BvrI6XnN.cjs');
9
- const scrollArea = require('../../scroll-area-Qjf7e0Ik.cjs');
8
+ const collapsible = require('../../collapsible-BFSJouuI.cjs');
9
+ const scrollArea = require('../../scroll-area-BzOyuS8Y.cjs');
10
10
  const tooltip = require('../../tooltip-FvWL16Xn.cjs');
11
11
  const primitives_raisedSurface = require('../../primitives/raised-surface.cjs.js');
12
12
  const utils_cn = require('../../cn-DG0X1KEP.cjs');
@@ -60,9 +60,9 @@ const TaskListProgress = ({ tasks, className, ...props }) => {
60
60
  ] }) });
61
61
  };
62
62
  const icons = {
63
- completed: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "text-positive1 size-3.5 shrink-0" }),
64
- in_progress: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "text-warning1 size-3.5 shrink-0 motion-safe:animate-spin" }),
65
- pending: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "text-muted-foreground size-3.5 shrink-0" })
63
+ completed: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "size-3.5 shrink-0 text-positive1" }),
64
+ in_progress: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3.5 shrink-0 text-warning1 motion-safe:animate-spin" }),
65
+ pending: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Circle, { className: "size-3.5 shrink-0 text-muted-foreground" })
66
66
  };
67
67
  const statusLabels = {
68
68
  completed: "Completed",
@@ -85,8 +85,8 @@ const TaskListSummary = ({ task }) => /* @__PURE__ */ jsxRuntime.jsxs("span", {
85
85
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("truncate text-caption", textClasses[task.status]), children: taskLabel(task) })
86
86
  ] });
87
87
  const TaskListTitle = ({ title }) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
88
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ListChecks, { className: "text-accent6 size-4 shrink-0" }),
89
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-column text-foreground truncate", children: title })
88
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ListChecks, { className: "size-4 shrink-0 text-accent6" }),
89
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-column text-foreground", children: title })
90
90
  ] });
91
91
  const scrollTaskIntoView = (node) => {
92
92
  if (typeof node?.scrollIntoView === "function") node.scrollIntoView({ block: "nearest" });
@@ -1 +1 @@
1
- {"version":3,"file":"task-list.cjs.js","sources":["../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\nimport { CheckCircle2, ChevronRight, Circle, ListChecks, Loader2 } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'rounded-2xl px-3 py-2.5', className)} {...props} />\n);\n\nexport const TaskListHeader = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn('flex w-full cursor-pointer items-center gap-2 text-left text-muted-foreground', className)}\n {...props}\n />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-positive1',\n in_progress: 'bg-warning1',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn('h-full w-0.5 min-w-px shrink rounded-full', barColors[task.status])}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst icons: Record<TaskListItem['status'], ReactNode> = {\n completed: <CheckCircle2 className=\"text-positive1 size-3.5 shrink-0\" />,\n in_progress: <Loader2 className=\"text-warning1 size-3.5 shrink-0 motion-safe:animate-spin\" />,\n pending: <Circle className=\"text-muted-foreground size-3.5 shrink-0\" />,\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst textClasses: Record<TaskListItem['status'], string> = {\n completed: 'text-muted-foreground line-through',\n in_progress: 'text-column text-warning1',\n pending: 'text-foreground',\n};\n\nconst taskLabel = (task: TaskListItem) => (task.status === 'in_progress' ? task.activeForm : task.content);\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span aria-label={statusLabels[status]} className={cn('flex pt-0.5', className)} {...props}>\n {icons[status]}\n </span>\n);\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, ...props }: TaskListRowProps) => (\n <li className={cn('flex items-start gap-2 py-0.5', className)} {...props}>\n <TaskListStatusIcon status={task.status} />\n <span className={cn('text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </li>\n);\n\nconst TaskListSummary = ({ task }: { task: TaskListItem }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <TaskListStatusIcon status={task.status} className=\"pt-0\" />\n <span className={cn('truncate text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </span>\n);\n\nconst TaskListTitle = ({ title }: { title: ReactNode }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <ListChecks className=\"text-accent6 size-4 shrink-0\" />\n <span className=\"text-column text-foreground truncate\">{title}</span>\n </span>\n);\n\nconst scrollTaskIntoView = (node: HTMLLIElement | null) => {\n if (typeof node?.scrollIntoView === 'function') node.scrollIntoView({ block: 'nearest' });\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children' | 'title'> {\n tasks: TaskListItem[];\n title?: ReactNode;\n hideWhenEmpty?: boolean;\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n title = 'Tasks',\n hideWhenEmpty = true,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const activeTask = tasks.find(task => task.status === 'in_progress');\n const summaryTask = activeTask ?? tasks.find(task => task.status === 'pending');\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n\n if ((hideWhenEmpty && total === 0) || (hideWhenComplete && total > 0 && completed === total)) return null;\n\n return (\n <TaskListContainer aria-label=\"Task list\" data-testid=\"task-list\" {...props}>\n <Collapsible open={open} onOpenChange={setOpen}>\n <TaskListHeader>\n <ChevronRight className=\"size-3.5 shrink-0\" />\n {open || !summaryTask ? <TaskListTitle title={title} /> : <TaskListSummary task={summaryTask} />}\n <TaskListProgress tasks={tasks} />\n </TaskListHeader>\n <CollapsibleContent>\n <ScrollArea maxHeight=\"8rem\" viewPortClassName=\"pr-1\" className=\"mt-1\">\n <ul className=\"space-y-1\">\n {tasks.map(task => (\n <TaskListRow\n key={task.id}\n ref={scrollActiveIntoView && task.id === activeTask?.id ? scrollTaskIntoView : undefined}\n task={task}\n />\n ))}\n </ul>\n </ScrollArea>\n </CollapsibleContent>\n </Collapsible>\n </TaskListContainer>\n );\n};\n"],"names":["jsx","cn","raisedSurfaceStyle","CollapsibleTrigger","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","CheckCircle2","Loader2","Circle","jsxs","ListChecks","useState","Collapsible","ChevronRight","CollapsibleContent","ScrollArea"],"mappings":"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"}
1
+ {"version":3,"file":"task-list.cjs.js","sources":["../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\nimport { CheckCircle2, ChevronRight, Circle, ListChecks, Loader2 } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'rounded-2xl px-3 py-2.5', className)} {...props} />\n);\n\nexport const TaskListHeader = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn('flex w-full cursor-pointer items-center gap-2 text-left text-muted-foreground', className)}\n {...props}\n />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-positive1',\n in_progress: 'bg-warning1',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn('h-full w-0.5 min-w-px shrink rounded-full', barColors[task.status])}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst icons: Record<TaskListItem['status'], ReactNode> = {\n completed: <CheckCircle2 className=\"size-3.5 shrink-0 text-positive1\" />,\n in_progress: <Loader2 className=\"size-3.5 shrink-0 text-warning1 motion-safe:animate-spin\" />,\n pending: <Circle className=\"size-3.5 shrink-0 text-muted-foreground\" />,\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst textClasses: Record<TaskListItem['status'], string> = {\n completed: 'text-muted-foreground line-through',\n in_progress: 'text-column text-warning1',\n pending: 'text-foreground',\n};\n\nconst taskLabel = (task: TaskListItem) => (task.status === 'in_progress' ? task.activeForm : task.content);\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span aria-label={statusLabels[status]} className={cn('flex pt-0.5', className)} {...props}>\n {icons[status]}\n </span>\n);\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, ...props }: TaskListRowProps) => (\n <li className={cn('flex items-start gap-2 py-0.5', className)} {...props}>\n <TaskListStatusIcon status={task.status} />\n <span className={cn('text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </li>\n);\n\nconst TaskListSummary = ({ task }: { task: TaskListItem }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <TaskListStatusIcon status={task.status} className=\"pt-0\" />\n <span className={cn('truncate text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </span>\n);\n\nconst TaskListTitle = ({ title }: { title: ReactNode }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <ListChecks className=\"size-4 shrink-0 text-accent6\" />\n <span className=\"truncate text-column text-foreground\">{title}</span>\n </span>\n);\n\nconst scrollTaskIntoView = (node: HTMLLIElement | null) => {\n if (typeof node?.scrollIntoView === 'function') node.scrollIntoView({ block: 'nearest' });\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children' | 'title'> {\n tasks: TaskListItem[];\n title?: ReactNode;\n hideWhenEmpty?: boolean;\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n title = 'Tasks',\n hideWhenEmpty = true,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const activeTask = tasks.find(task => task.status === 'in_progress');\n const summaryTask = activeTask ?? tasks.find(task => task.status === 'pending');\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n\n if ((hideWhenEmpty && total === 0) || (hideWhenComplete && total > 0 && completed === total)) return null;\n\n return (\n <TaskListContainer aria-label=\"Task list\" data-testid=\"task-list\" {...props}>\n <Collapsible open={open} onOpenChange={setOpen}>\n <TaskListHeader>\n <ChevronRight className=\"size-3.5 shrink-0\" />\n {open || !summaryTask ? <TaskListTitle title={title} /> : <TaskListSummary task={summaryTask} />}\n <TaskListProgress tasks={tasks} />\n </TaskListHeader>\n <CollapsibleContent>\n <ScrollArea maxHeight=\"8rem\" viewPortClassName=\"pr-1\" className=\"mt-1\">\n <ul className=\"space-y-1\">\n {tasks.map(task => (\n <TaskListRow\n key={task.id}\n ref={scrollActiveIntoView && task.id === activeTask?.id ? scrollTaskIntoView : undefined}\n task={task}\n />\n ))}\n </ul>\n </ScrollArea>\n </CollapsibleContent>\n </Collapsible>\n </TaskListContainer>\n );\n};\n"],"names":["jsx","cn","raisedSurfaceStyle","CollapsibleTrigger","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","CheckCircle2","Loader2","Circle","jsxs","ListChecks","useState","Collapsible","ChevronRight","CollapsibleContent","ScrollArea"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { ChevronRight, ListChecks, Circle, Loader2, CheckCircle2 } from 'lucide-react';
3
3
  import { useState } from 'react';
4
- import { C as Collapsible, a as CollapsibleContent, b as CollapsibleTrigger } from '../../collapsible-B2uUy8w5.js';
5
- import { S as ScrollArea } from '../../scroll-area-CdQ_5bLm.js';
4
+ import { C as Collapsible, a as CollapsibleContent, b as CollapsibleTrigger } from '../../collapsible-DhhP5p1j.js';
5
+ import { S as ScrollArea } from '../../scroll-area-DyTZoISq.js';
6
6
  import { b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../../tooltip-BrDiP0RI.js';
7
7
  import { raisedSurfaceStyle } from '../../primitives/raised-surface.es.js';
8
8
  import { c as cn } from '../../cn-65Adrsfj.js';
@@ -56,9 +56,9 @@ const TaskListProgress = ({ tasks, className, ...props }) => {
56
56
  ] }) });
57
57
  };
58
58
  const icons = {
59
- completed: /* @__PURE__ */ jsx(CheckCircle2, { className: "text-positive1 size-3.5 shrink-0" }),
60
- in_progress: /* @__PURE__ */ jsx(Loader2, { className: "text-warning1 size-3.5 shrink-0 motion-safe:animate-spin" }),
61
- pending: /* @__PURE__ */ jsx(Circle, { className: "text-muted-foreground size-3.5 shrink-0" })
59
+ completed: /* @__PURE__ */ jsx(CheckCircle2, { className: "size-3.5 shrink-0 text-positive1" }),
60
+ in_progress: /* @__PURE__ */ jsx(Loader2, { className: "size-3.5 shrink-0 text-warning1 motion-safe:animate-spin" }),
61
+ pending: /* @__PURE__ */ jsx(Circle, { className: "size-3.5 shrink-0 text-muted-foreground" })
62
62
  };
63
63
  const statusLabels = {
64
64
  completed: "Completed",
@@ -81,8 +81,8 @@ const TaskListSummary = ({ task }) => /* @__PURE__ */ jsxs("span", { className:
81
81
  /* @__PURE__ */ jsx("span", { className: cn("truncate text-caption", textClasses[task.status]), children: taskLabel(task) })
82
82
  ] });
83
83
  const TaskListTitle = ({ title }) => /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
84
- /* @__PURE__ */ jsx(ListChecks, { className: "text-accent6 size-4 shrink-0" }),
85
- /* @__PURE__ */ jsx("span", { className: "text-column text-foreground truncate", children: title })
84
+ /* @__PURE__ */ jsx(ListChecks, { className: "size-4 shrink-0 text-accent6" }),
85
+ /* @__PURE__ */ jsx("span", { className: "truncate text-column text-foreground", children: title })
86
86
  ] });
87
87
  const scrollTaskIntoView = (node) => {
88
88
  if (typeof node?.scrollIntoView === "function") node.scrollIntoView({ block: "nearest" });
@@ -1 +1 @@
1
- {"version":3,"file":"task-list.es.js","sources":["../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\nimport { CheckCircle2, ChevronRight, Circle, ListChecks, Loader2 } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'rounded-2xl px-3 py-2.5', className)} {...props} />\n);\n\nexport const TaskListHeader = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn('flex w-full cursor-pointer items-center gap-2 text-left text-muted-foreground', className)}\n {...props}\n />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-positive1',\n in_progress: 'bg-warning1',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn('h-full w-0.5 min-w-px shrink rounded-full', barColors[task.status])}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst icons: Record<TaskListItem['status'], ReactNode> = {\n completed: <CheckCircle2 className=\"text-positive1 size-3.5 shrink-0\" />,\n in_progress: <Loader2 className=\"text-warning1 size-3.5 shrink-0 motion-safe:animate-spin\" />,\n pending: <Circle className=\"text-muted-foreground size-3.5 shrink-0\" />,\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst textClasses: Record<TaskListItem['status'], string> = {\n completed: 'text-muted-foreground line-through',\n in_progress: 'text-column text-warning1',\n pending: 'text-foreground',\n};\n\nconst taskLabel = (task: TaskListItem) => (task.status === 'in_progress' ? task.activeForm : task.content);\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span aria-label={statusLabels[status]} className={cn('flex pt-0.5', className)} {...props}>\n {icons[status]}\n </span>\n);\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, ...props }: TaskListRowProps) => (\n <li className={cn('flex items-start gap-2 py-0.5', className)} {...props}>\n <TaskListStatusIcon status={task.status} />\n <span className={cn('text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </li>\n);\n\nconst TaskListSummary = ({ task }: { task: TaskListItem }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <TaskListStatusIcon status={task.status} className=\"pt-0\" />\n <span className={cn('truncate text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </span>\n);\n\nconst TaskListTitle = ({ title }: { title: ReactNode }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <ListChecks className=\"text-accent6 size-4 shrink-0\" />\n <span className=\"text-column text-foreground truncate\">{title}</span>\n </span>\n);\n\nconst scrollTaskIntoView = (node: HTMLLIElement | null) => {\n if (typeof node?.scrollIntoView === 'function') node.scrollIntoView({ block: 'nearest' });\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children' | 'title'> {\n tasks: TaskListItem[];\n title?: ReactNode;\n hideWhenEmpty?: boolean;\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n title = 'Tasks',\n hideWhenEmpty = true,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const activeTask = tasks.find(task => task.status === 'in_progress');\n const summaryTask = activeTask ?? tasks.find(task => task.status === 'pending');\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n\n if ((hideWhenEmpty && total === 0) || (hideWhenComplete && total > 0 && completed === total)) return null;\n\n return (\n <TaskListContainer aria-label=\"Task list\" data-testid=\"task-list\" {...props}>\n <Collapsible open={open} onOpenChange={setOpen}>\n <TaskListHeader>\n <ChevronRight className=\"size-3.5 shrink-0\" />\n {open || !summaryTask ? <TaskListTitle title={title} /> : <TaskListSummary task={summaryTask} />}\n <TaskListProgress tasks={tasks} />\n </TaskListHeader>\n <CollapsibleContent>\n <ScrollArea maxHeight=\"8rem\" viewPortClassName=\"pr-1\" className=\"mt-1\">\n <ul className=\"space-y-1\">\n {tasks.map(task => (\n <TaskListRow\n key={task.id}\n ref={scrollActiveIntoView && task.id === activeTask?.id ? scrollTaskIntoView : undefined}\n task={task}\n />\n ))}\n </ul>\n </ScrollArea>\n </CollapsibleContent>\n </Collapsible>\n </TaskListContainer>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-list.es.js","sources":["../../../src/ds/components/ai/task-list/task-list.tsx"],"sourcesContent":["import type { TaskItem } from '@mastra/core/signals';\nimport { CheckCircle2, ChevronRight, Circle, ListChecks, Loader2 } from 'lucide-react';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type TaskListItem = TaskItem;\n\nexport const TaskListContainer = ({ className, ...props }: ComponentProps<'section'>) => (\n <section className={cn(raisedSurfaceStyle, 'rounded-2xl px-3 py-2.5', className)} {...props} />\n);\n\nexport const TaskListHeader = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn('flex w-full cursor-pointer items-center gap-2 text-left text-muted-foreground', className)}\n {...props}\n />\n);\n\nconst barColors: Record<TaskListItem['status'], string> = {\n completed: 'bg-positive1',\n in_progress: 'bg-warning1',\n pending: 'bg-fill-hover',\n};\n\nexport interface TaskListProgressProps extends Omit<ComponentProps<'span'>, 'children'> {\n tasks: TaskListItem[];\n}\n\nexport const TaskListProgress = ({ tasks, className, ...props }: TaskListProgressProps) => {\n const completed = tasks.filter(task => task.status === 'completed').length;\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger\n render={\n <span\n role=\"progressbar\"\n aria-label=\"Task completion\"\n aria-valuemin={0}\n aria-valuemax={tasks.length}\n aria-valuenow={completed}\n className={cn('ml-auto flex h-4 w-fit max-w-40 shrink-0 items-center gap-1 overflow-hidden', className)}\n {...props}\n >\n {tasks.map(task => (\n <span\n key={task.id}\n className={cn('h-full w-0.5 min-w-px shrink rounded-full', barColors[task.status])}\n />\n ))}\n </span>\n }\n />\n <TooltipContent>\n {completed}/{tasks.length} completed\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n};\n\nconst icons: Record<TaskListItem['status'], ReactNode> = {\n completed: <CheckCircle2 className=\"size-3.5 shrink-0 text-positive1\" />,\n in_progress: <Loader2 className=\"size-3.5 shrink-0 text-warning1 motion-safe:animate-spin\" />,\n pending: <Circle className=\"size-3.5 shrink-0 text-muted-foreground\" />,\n};\n\nconst statusLabels: Record<TaskListItem['status'], string> = {\n completed: 'Completed',\n in_progress: 'In progress',\n pending: 'Pending',\n};\n\nconst textClasses: Record<TaskListItem['status'], string> = {\n completed: 'text-muted-foreground line-through',\n in_progress: 'text-column text-warning1',\n pending: 'text-foreground',\n};\n\nconst taskLabel = (task: TaskListItem) => (task.status === 'in_progress' ? task.activeForm : task.content);\n\nexport interface TaskListStatusIconProps extends ComponentProps<'span'> {\n status: TaskListItem['status'];\n}\n\nexport const TaskListStatusIcon = ({ status, className, ...props }: TaskListStatusIconProps) => (\n <span aria-label={statusLabels[status]} className={cn('flex pt-0.5', className)} {...props}>\n {icons[status]}\n </span>\n);\n\nexport interface TaskListRowProps extends ComponentProps<'li'> {\n task: TaskListItem;\n}\n\nexport const TaskListRow = ({ task, className, ...props }: TaskListRowProps) => (\n <li className={cn('flex items-start gap-2 py-0.5', className)} {...props}>\n <TaskListStatusIcon status={task.status} />\n <span className={cn('text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </li>\n);\n\nconst TaskListSummary = ({ task }: { task: TaskListItem }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <TaskListStatusIcon status={task.status} className=\"pt-0\" />\n <span className={cn('truncate text-caption', textClasses[task.status])}>{taskLabel(task)}</span>\n </span>\n);\n\nconst TaskListTitle = ({ title }: { title: ReactNode }) => (\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n <ListChecks className=\"size-4 shrink-0 text-accent6\" />\n <span className=\"truncate text-column text-foreground\">{title}</span>\n </span>\n);\n\nconst scrollTaskIntoView = (node: HTMLLIElement | null) => {\n if (typeof node?.scrollIntoView === 'function') node.scrollIntoView({ block: 'nearest' });\n};\n\nexport interface TaskListProps extends Omit<ComponentProps<typeof TaskListContainer>, 'children' | 'title'> {\n tasks: TaskListItem[];\n title?: ReactNode;\n hideWhenEmpty?: boolean;\n hideWhenComplete?: boolean;\n scrollActiveIntoView?: boolean;\n defaultOpen?: boolean;\n}\n\nexport const TaskList = ({\n tasks,\n title = 'Tasks',\n hideWhenEmpty = true,\n hideWhenComplete = true,\n scrollActiveIntoView = true,\n defaultOpen = true,\n ...props\n}: TaskListProps) => {\n const [open, setOpen] = useState(defaultOpen);\n const activeTask = tasks.find(task => task.status === 'in_progress');\n const summaryTask = activeTask ?? tasks.find(task => task.status === 'pending');\n const completed = tasks.filter(task => task.status === 'completed').length;\n const total = tasks.length;\n\n if ((hideWhenEmpty && total === 0) || (hideWhenComplete && total > 0 && completed === total)) return null;\n\n return (\n <TaskListContainer aria-label=\"Task list\" data-testid=\"task-list\" {...props}>\n <Collapsible open={open} onOpenChange={setOpen}>\n <TaskListHeader>\n <ChevronRight className=\"size-3.5 shrink-0\" />\n {open || !summaryTask ? <TaskListTitle title={title} /> : <TaskListSummary task={summaryTask} />}\n <TaskListProgress tasks={tasks} />\n </TaskListHeader>\n <CollapsibleContent>\n <ScrollArea maxHeight=\"8rem\" viewPortClassName=\"pr-1\" className=\"mt-1\">\n <ul className=\"space-y-1\">\n {tasks.map(task => (\n <TaskListRow\n key={task.id}\n ref={scrollActiveIntoView && task.id === activeTask?.id ? scrollTaskIntoView : undefined}\n task={task}\n />\n ))}\n </ul>\n </ScrollArea>\n </CollapsibleContent>\n </Collapsible>\n </TaskListContainer>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const toolApproval = require('../../tool-approval-Dys524ty.cjs');
5
+ const toolApproval = require('../../tool-approval-DODxfqk7.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { T as ToolApproval, a as ToolApprovalActions } from '../../tool-approval-DB82iiRa.js';
1
+ export { T as ToolApproval, a as ToolApprovalActions } from '../../tool-approval-C11ECt4s.js';
2
2
  //# sourceMappingURL=tool-approval.es.js.map
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const groupConsecutive = require('../../group-consecutive-KN5O6teY.cjs');
6
- const toolCall = require('../../tool-call-CMRvRE-v.cjs');
6
+ const toolCall = require('../../tool-call-CNBGnCmO.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
8
  const code = require('../../code-DhrdtZce.cjs');
9
- const codeBlock = require('../../code-block-Cd4u7Bo9.cjs');
9
+ const codeBlock = require('../../code-block-D2q4w1t-.cjs');
10
10
  const highlight = require('../../highlight-DK1dn-Fh.cjs');
11
11
  const utils_truncateString = require('../../utils/truncate-string.cjs.js');
12
12
  const utils_cn = require('../../cn-DG0X1KEP.cjs');
13
13
  const toolPresentation = require('../../tool-presentation-BGWx2mEc.cjs');
14
14
  const lucideReact = require('lucide-react');
15
- const scrollArea = require('../../scroll-area-Qjf7e0Ik.cjs');
15
+ const scrollArea = require('../../scroll-area-BzOyuS8Y.cjs');
16
16
  const Txt = require('../../Txt-B4-2nLaI.cjs');
17
17
 
18
18
  const ANSI_RE = /[\u001b\u009b][[\]()#;?]*(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007|(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~])/g;
@@ -41,7 +41,7 @@ function DiffSide({ lines, side, lang }) {
41
41
  const tokens = highlighted?.code === code$1 ? highlighted.tokens : void 0;
42
42
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: lines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("flex whitespace-pre", row), children: [
43
43
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("w-5 shrink-0 text-center opacity-70 select-none", gutter), children: sign }),
44
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground flex-1 pr-2.5", children: tokens?.[index]?.map((token, tokenIndex) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shiki-token", style: code.tokenStyle(token), children: token.content }, tokenIndex)) ?? line })
44
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 pr-2.5 text-foreground", children: tokens?.[index]?.map((token, tokenIndex) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shiki-token", style: code.tokenStyle(token), children: token.content }, tokenIndex)) ?? line })
45
45
  ] }, index)) });
46
46
  }
47
47
  function ToolCallEdit({ edit }) {
@@ -63,13 +63,13 @@ function ToolCallEdit({ edit }) {
63
63
  return /* @__PURE__ */ jsxRuntime.jsxs(
64
64
  "div",
65
65
  {
66
- className: "border-border bg-fill text-caption max-w-full min-w-0 overflow-x-auto rounded-md border font-mono",
66
+ className: "max-w-full min-w-0 overflow-x-auto rounded-md border border-border bg-fill font-mono text-caption",
67
67
  role: "group",
68
68
  "aria-label": "File change",
69
69
  children: [
70
70
  /* @__PURE__ */ jsxRuntime.jsx(DiffSide, { lines: removed.lines, side: "removed", lang }),
71
71
  /* @__PURE__ */ jsxRuntime.jsx(DiffSide, { lines: added.lines, side: "added", lang }),
72
- hidden > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-muted-foreground px-2.5 py-1 select-none", children: [
72
+ hidden > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-2.5 py-1 text-muted-foreground select-none", children: [
73
73
  "… ",
74
74
  hidden,
75
75
  " more lines"
@@ -125,7 +125,7 @@ function GroupProgress({ steps }) {
125
125
  ] });
126
126
  }
127
127
  const failed = steps.filter((step) => step.status === "error").length;
128
- const errorIndicator = failed > 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 13, role: "img", "aria-label": "Failed", className: "text-error shrink-0" }) : null;
128
+ const errorIndicator = failed > 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 13, role: "img", "aria-label": "Failed", className: "shrink-0 text-error" }) : null;
129
129
  if (steps.some((step) => step.hasResult === void 0)) return errorIndicator;
130
130
  const succeeded = steps.filter((step) => step.status === "idle" && step.hasResult).length;
131
131
  const incomplete = steps.length - succeeded - failed;
@@ -161,7 +161,7 @@ function ToolCallTime({ at }) {
161
161
  return /* @__PURE__ */ jsxRuntime.jsx(
162
162
  "time",
163
163
  {
164
- className: "text-meta text-muted-foreground shrink-0 tabular-nums",
164
+ className: "shrink-0 text-meta text-muted-foreground tabular-nums",
165
165
  dateTime: time.toISOString(),
166
166
  title: calendar.format(time),
167
167
  children: clock.format(time)
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call.cjs.js","sources":["../../../src/ds/components/ai/tool-call/ansi.ts","../../../src/ds/components/ai/tool-call/tool-call-edit.tsx","../../../src/ds/components/ai/tool-call/tool-call-arguments.tsx","../../../src/ds/components/ai/tool-call/tool-call-group.tsx","../../../src/ds/components/ai/tool-call/tool-call-output.tsx","../../../src/ds/components/ai/tool-call/tool-call-time.tsx"],"sourcesContent":["// Sandbox commands run in a PTY, so CLIs emit color escapes even under NO_COLOR.\n// eslint-disable-next-line no-control-regex\nconst ANSI_RE =\n /[\\u001b\\u009b][[\\]()#;?]*(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d/#&.:=?%@~_]*)*)?\\u0007|(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~])/g;\n\n// The same sequences once JSON.stringify escaped the bytes; an even backslash run before the `u` is source text spelling the escape, kept.\nconst ESCAPED_ANSI_RE = /(?<!\\\\)((?:\\\\\\\\)*)\\\\u001[bB](?:\\[[0-9;?<=>]*[a-zA-Z]|\\][\\s\\S]*?(?:\\\\u0007|\\\\u001[bB]\\\\\\\\))/g;\n\nexport function stripAnsi(text: string): string {\n return text.replace(ANSI_RE, '');\n}\n\nexport function stripSerializedAnsi(text: string): string {\n return stripAnsi(text).replace(ESCAPED_ANSI_RE, '$1');\n}\n","import type { ToolEdit } from './tool-presentation';\nimport { tokenStyle, useHighlight } from '@/ds/components/Code';\nimport { CodeBlock } from '@/ds/components/CodeBlock';\nimport { languageForPath } from '@/ds/components/CodeEditor/highlight';\nimport { truncateString } from '@/lib/truncate-string';\nimport { cn } from '@/lib/utils';\n\nconst DIFF_MAX_LINES = 200;\nconst WRITTEN_FILE_MAX_CHARS = 2000;\n\nconst DIFF_SIDES = {\n removed: { sign: '-', row: 'bg-error/10', gutter: 'text-error' },\n added: { sign: '+', row: 'bg-accent1/10', gutter: 'text-accent1' },\n} as const;\n\nfunction boundedLines(text: string): { lines: string[]; hidden: number } {\n const lines = text.split('\\n');\n return { lines: lines.slice(0, DIFF_MAX_LINES), hidden: Math.max(0, lines.length - DIFF_MAX_LINES) };\n}\n\nfunction DiffSide({ lines, side, lang }: { lines: string[]; side: keyof typeof DIFF_SIDES; lang: string | undefined }) {\n const { sign, row, gutter } = DIFF_SIDES[side];\n const code = lines.join('\\n');\n const highlighted = useHighlight(code, lang);\n const tokens = highlighted?.code === code ? highlighted.tokens : undefined;\n\n return (\n <>\n {lines.map((line, index) => (\n <div key={index} className={cn('flex whitespace-pre', row)}>\n <span className={cn('w-5 shrink-0 text-center opacity-70 select-none', gutter)}>{sign}</span>\n <span className=\"text-foreground flex-1 pr-2.5\">\n {tokens?.[index]?.map((token, tokenIndex) => (\n <span key={tokenIndex} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n )) ?? line}\n </span>\n </div>\n ))}\n </>\n );\n}\n\nexport function ToolCallEdit({ edit }: { edit: ToolEdit }) {\n const lang = languageForPath(edit.path);\n\n if ('content' in edit) {\n return (\n <CodeBlock\n code={truncateString(edit.content, WRITTEN_FILE_MAX_CHARS)}\n lang={lang}\n fileName={edit.path ?? 'Change'}\n overflow=\"scroll\"\n />\n );\n }\n\n const removed = boundedLines(edit.oldText);\n const added = boundedLines(edit.newText);\n const hidden = removed.hidden + added.hidden;\n\n return (\n <div\n className=\"border-border bg-fill text-caption max-w-full min-w-0 overflow-x-auto rounded-md border font-mono\"\n role=\"group\"\n aria-label=\"File change\"\n >\n <DiffSide lines={removed.lines} side=\"removed\" lang={lang} />\n <DiffSide lines={added.lines} side=\"added\" lang={lang} />\n {hidden > 0 && <div className=\"text-muted-foreground px-2.5 py-1 select-none\">… {hidden} more lines</div>}\n </div>\n );\n}\n","import { ToolCallMono } from './tool-call';\nimport { ToolCallEdit } from './tool-call-edit';\nimport { stringifyToolValue, toolEdit } from './tool-presentation';\n\nexport interface ToolCallArgumentsProps {\n toolName: string;\n args: unknown;\n argsText?: string;\n hideArguments?: boolean;\n 'data-testid'?: string;\n}\n\nexport function ToolCallArguments({\n toolName,\n args,\n argsText,\n hideArguments,\n 'data-testid': testId,\n}: ToolCallArgumentsProps) {\n const edit = toolEdit(toolName, args);\n if (edit) return <ToolCallEdit edit={edit} />;\n if (hideArguments) return null;\n\n const text = args === undefined ? argsText : stringifyToolValue(args);\n if (!text) return null;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className=\"text-foreground\">\n {text}\n </ToolCallMono>\n );\n}\n","import { FoldVertical, X } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n ToolCall,\n ToolCallContent,\n ToolCallDetail,\n ToolCallDisclosure,\n ToolCallHeader,\n ToolCallIcon,\n ToolCallLabel,\n ToolCallSpacer,\n ToolCallSummary,\n ToolCallTrailing,\n ToolCallTrigger,\n} from './tool-call';\nimport type { ToolCallStatus } from './tool-call';\nimport { presentTool } from './tool-presentation';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ToolCallGroupStep {\n toolName: string;\n args: unknown;\n status: ToolCallStatus;\n /** A successful tool result was recorded. Supply for every step to enable outcome counts; omit to keep legacy summaries. */\n hasResult?: boolean;\n}\n\nexport interface ToolCallGroupProps {\n steps: ToolCallGroupStep[];\n /** Rendered ahead of the icon, e.g. the time the first step began. */\n leading?: ReactNode;\n children: ReactNode;\n}\n\nconst MAX_KIND_GLYPHS = 4;\n\nexport function ToolCallGroup({ steps, leading, children }: ToolCallGroupProps) {\n const running = steps.find(step => step.status === 'running');\n const liveDetail = running && presentTool(running.toolName, running.args).detail;\n\n return (\n <ToolCall status={running ? 'running' : 'idle'} aria-label={`Tool group: ${steps.length} steps`}>\n <ToolCallTrigger>\n <ToolCallHeader>\n {leading}\n <ToolCallIcon>\n <FoldVertical size={14} strokeWidth={1.75} aria-hidden className=\"text-placeholder\" />\n </ToolCallIcon>\n <ToolCallLabel>{steps.length} steps</ToolCallLabel>\n {liveDetail && <ToolCallDetail>{liveDetail}</ToolCallDetail>}\n <GroupKinds steps={steps} />\n <ToolCallSpacer rule />\n <ToolCallTrailing>\n <GroupProgress steps={steps} />\n </ToolCallTrailing>\n <ToolCallDisclosure />\n </ToolCallHeader>\n </ToolCallTrigger>\n <ToolCallContent className=\"py-0.5 pr-0 pl-2.5\">\n <ScrollArea maxHeight=\"18rem\" autoScroll={Boolean(running)} revealScrollbarOnHover={false}>\n {children}\n </ScrollArea>\n </ToolCallContent>\n </ToolCall>\n );\n}\n\nfunction GroupProgress({ steps }: { steps: ToolCallGroupStep[] }) {\n const done = steps.filter(step => step.status !== 'running').length;\n if (done < steps.length) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0 tabular-nums\">\n {done}/{steps.length}\n </Txt>\n );\n }\n const failed = steps.filter(step => step.status === 'error').length;\n const errorIndicator =\n failed > 0 ? <X size={13} role=\"img\" aria-label=\"Failed\" className=\"text-error shrink-0\" /> : null;\n // Older consumers only supply visual status, which cannot distinguish completed from interrupted calls.\n if (steps.some(step => step.hasResult === undefined)) return errorIndicator;\n\n const succeeded = steps.filter(step => step.status === 'idle' && step.hasResult).length;\n const incomplete = steps.length - succeeded - failed;\n const summary = [\n succeeded > 0 && `${succeeded} OK`,\n failed > 0 && `${failed} failed`,\n incomplete > 0 && `${incomplete} incomplete`,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <>\n {errorIndicator}\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0 tabular-nums\">\n {summary}\n </Txt>\n </>\n );\n}\n\nfunction GroupKinds({ steps }: { steps: ToolCallGroupStep[] }) {\n const iconByLabel = new Map(\n steps.map(step => presentTool(step.toolName, step.args)).map(({ label, icon }) => [label, icon]),\n );\n const kinds = [...iconByLabel].slice(0, MAX_KIND_GLYPHS);\n\n return (\n <ToolCallSummary role=\"img\" aria-label={kinds.map(([label]) => label).join(', ')} className=\"shrink-0 gap-1.5\">\n {kinds.map(([label, Kind]) => (\n <Kind key={label} size={12} strokeWidth={1.75} className=\"text-placeholder\" />\n ))}\n </ToolCallSummary>\n );\n}\n","import { ToolCallMono } from './tool-call';\n\nexport interface ToolCallOutputProps {\n text: string;\n error?: boolean;\n maxLength?: number;\n 'data-testid'?: string;\n}\n\nexport function ToolCallOutput({ text, error, maxLength, 'data-testid': testId }: ToolCallOutputProps) {\n const preview = maxLength !== undefined && text.length > maxLength ? `${text.slice(0, maxLength)}…` : text;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className={error ? 'text-error/90' : 'text-muted-foreground'}>\n {preview}\n </ToolCallMono>\n );\n}\n","const clock = new Intl.DateTimeFormat(undefined, { hour: 'numeric', minute: '2-digit', second: '2-digit' });\nconst calendar = new Intl.DateTimeFormat(undefined, { dateStyle: 'full', timeStyle: 'medium' });\n\nexport function ToolCallTime({ at }: { at?: number }) {\n if (at === undefined) return null;\n const time = new Date(at);\n if (Number.isNaN(time.getTime())) return null;\n\n return (\n <time\n className=\"text-meta text-muted-foreground shrink-0 tabular-nums\"\n dateTime={time.toISOString()}\n title={calendar.format(time)}\n >\n {clock.format(time)}\n </time>\n );\n}\n"],"names":["code","useHighlight","jsx","Fragment","jsxs","cn","tokenStyle","languageForPath","CodeBlock","truncateString","toolEdit","stringifyToolValue","ToolCallMono","presentTool","ToolCall","ToolCallTrigger","ToolCallHeader","ToolCallIcon","FoldVertical","ToolCallLabel","ToolCallDetail","ToolCallSpacer","ToolCallTrailing","ToolCallDisclosure","ToolCallContent","ScrollArea","Txt","X","ToolCallSummary"],"mappings":"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"}
1
+ {"version":3,"file":"tool-call.cjs.js","sources":["../../../src/ds/components/ai/tool-call/ansi.ts","../../../src/ds/components/ai/tool-call/tool-call-edit.tsx","../../../src/ds/components/ai/tool-call/tool-call-arguments.tsx","../../../src/ds/components/ai/tool-call/tool-call-group.tsx","../../../src/ds/components/ai/tool-call/tool-call-output.tsx","../../../src/ds/components/ai/tool-call/tool-call-time.tsx"],"sourcesContent":["// Sandbox commands run in a PTY, so CLIs emit color escapes even under NO_COLOR.\n// eslint-disable-next-line no-control-regex\nconst ANSI_RE =\n /[\\u001b\\u009b][[\\]()#;?]*(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d/#&.:=?%@~_]*)*)?\\u0007|(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~])/g;\n\n// The same sequences once JSON.stringify escaped the bytes; an even backslash run before the `u` is source text spelling the escape, kept.\nconst ESCAPED_ANSI_RE = /(?<!\\\\)((?:\\\\\\\\)*)\\\\u001[bB](?:\\[[0-9;?<=>]*[a-zA-Z]|\\][\\s\\S]*?(?:\\\\u0007|\\\\u001[bB]\\\\\\\\))/g;\n\nexport function stripAnsi(text: string): string {\n return text.replace(ANSI_RE, '');\n}\n\nexport function stripSerializedAnsi(text: string): string {\n return stripAnsi(text).replace(ESCAPED_ANSI_RE, '$1');\n}\n","import type { ToolEdit } from './tool-presentation';\nimport { tokenStyle, useHighlight } from '@/ds/components/Code';\nimport { CodeBlock } from '@/ds/components/CodeBlock';\nimport { languageForPath } from '@/ds/components/CodeEditor/highlight';\nimport { truncateString } from '@/lib/truncate-string';\nimport { cn } from '@/lib/utils';\n\nconst DIFF_MAX_LINES = 200;\nconst WRITTEN_FILE_MAX_CHARS = 2000;\n\nconst DIFF_SIDES = {\n removed: { sign: '-', row: 'bg-error/10', gutter: 'text-error' },\n added: { sign: '+', row: 'bg-accent1/10', gutter: 'text-accent1' },\n} as const;\n\nfunction boundedLines(text: string): { lines: string[]; hidden: number } {\n const lines = text.split('\\n');\n return { lines: lines.slice(0, DIFF_MAX_LINES), hidden: Math.max(0, lines.length - DIFF_MAX_LINES) };\n}\n\nfunction DiffSide({ lines, side, lang }: { lines: string[]; side: keyof typeof DIFF_SIDES; lang: string | undefined }) {\n const { sign, row, gutter } = DIFF_SIDES[side];\n const code = lines.join('\\n');\n const highlighted = useHighlight(code, lang);\n const tokens = highlighted?.code === code ? highlighted.tokens : undefined;\n\n return (\n <>\n {lines.map((line, index) => (\n <div key={index} className={cn('flex whitespace-pre', row)}>\n <span className={cn('w-5 shrink-0 text-center opacity-70 select-none', gutter)}>{sign}</span>\n <span className=\"flex-1 pr-2.5 text-foreground\">\n {tokens?.[index]?.map((token, tokenIndex) => (\n <span key={tokenIndex} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n )) ?? line}\n </span>\n </div>\n ))}\n </>\n );\n}\n\nexport function ToolCallEdit({ edit }: { edit: ToolEdit }) {\n const lang = languageForPath(edit.path);\n\n if ('content' in edit) {\n return (\n <CodeBlock\n code={truncateString(edit.content, WRITTEN_FILE_MAX_CHARS)}\n lang={lang}\n fileName={edit.path ?? 'Change'}\n overflow=\"scroll\"\n />\n );\n }\n\n const removed = boundedLines(edit.oldText);\n const added = boundedLines(edit.newText);\n const hidden = removed.hidden + added.hidden;\n\n return (\n <div\n className=\"max-w-full min-w-0 overflow-x-auto rounded-md border border-border bg-fill font-mono text-caption\"\n role=\"group\"\n aria-label=\"File change\"\n >\n <DiffSide lines={removed.lines} side=\"removed\" lang={lang} />\n <DiffSide lines={added.lines} side=\"added\" lang={lang} />\n {hidden > 0 && <div className=\"px-2.5 py-1 text-muted-foreground select-none\">… {hidden} more lines</div>}\n </div>\n );\n}\n","import { ToolCallMono } from './tool-call';\nimport { ToolCallEdit } from './tool-call-edit';\nimport { stringifyToolValue, toolEdit } from './tool-presentation';\n\nexport interface ToolCallArgumentsProps {\n toolName: string;\n args: unknown;\n argsText?: string;\n hideArguments?: boolean;\n 'data-testid'?: string;\n}\n\nexport function ToolCallArguments({\n toolName,\n args,\n argsText,\n hideArguments,\n 'data-testid': testId,\n}: ToolCallArgumentsProps) {\n const edit = toolEdit(toolName, args);\n if (edit) return <ToolCallEdit edit={edit} />;\n if (hideArguments) return null;\n\n const text = args === undefined ? argsText : stringifyToolValue(args);\n if (!text) return null;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className=\"text-foreground\">\n {text}\n </ToolCallMono>\n );\n}\n","import { FoldVertical, X } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport {\n ToolCall,\n ToolCallContent,\n ToolCallDetail,\n ToolCallDisclosure,\n ToolCallHeader,\n ToolCallIcon,\n ToolCallLabel,\n ToolCallSpacer,\n ToolCallSummary,\n ToolCallTrailing,\n ToolCallTrigger,\n} from './tool-call';\nimport type { ToolCallStatus } from './tool-call';\nimport { presentTool } from './tool-presentation';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface ToolCallGroupStep {\n toolName: string;\n args: unknown;\n status: ToolCallStatus;\n /** A successful tool result was recorded. Supply for every step to enable outcome counts; omit to keep legacy summaries. */\n hasResult?: boolean;\n}\n\nexport interface ToolCallGroupProps {\n steps: ToolCallGroupStep[];\n /** Rendered ahead of the icon, e.g. the time the first step began. */\n leading?: ReactNode;\n children: ReactNode;\n}\n\nconst MAX_KIND_GLYPHS = 4;\n\nexport function ToolCallGroup({ steps, leading, children }: ToolCallGroupProps) {\n const running = steps.find(step => step.status === 'running');\n const liveDetail = running && presentTool(running.toolName, running.args).detail;\n\n return (\n <ToolCall status={running ? 'running' : 'idle'} aria-label={`Tool group: ${steps.length} steps`}>\n <ToolCallTrigger>\n <ToolCallHeader>\n {leading}\n <ToolCallIcon>\n <FoldVertical size={14} strokeWidth={1.75} aria-hidden className=\"text-placeholder\" />\n </ToolCallIcon>\n <ToolCallLabel>{steps.length} steps</ToolCallLabel>\n {liveDetail && <ToolCallDetail>{liveDetail}</ToolCallDetail>}\n <GroupKinds steps={steps} />\n <ToolCallSpacer rule />\n <ToolCallTrailing>\n <GroupProgress steps={steps} />\n </ToolCallTrailing>\n <ToolCallDisclosure />\n </ToolCallHeader>\n </ToolCallTrigger>\n <ToolCallContent className=\"py-0.5 pr-0 pl-2.5\">\n <ScrollArea maxHeight=\"18rem\" autoScroll={Boolean(running)} revealScrollbarOnHover={false}>\n {children}\n </ScrollArea>\n </ToolCallContent>\n </ToolCall>\n );\n}\n\nfunction GroupProgress({ steps }: { steps: ToolCallGroupStep[] }) {\n const done = steps.filter(step => step.status !== 'running').length;\n if (done < steps.length) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0 tabular-nums\">\n {done}/{steps.length}\n </Txt>\n );\n }\n const failed = steps.filter(step => step.status === 'error').length;\n const errorIndicator =\n failed > 0 ? <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-error\" /> : null;\n // Older consumers only supply visual status, which cannot distinguish completed from interrupted calls.\n if (steps.some(step => step.hasResult === undefined)) return errorIndicator;\n\n const succeeded = steps.filter(step => step.status === 'idle' && step.hasResult).length;\n const incomplete = steps.length - succeeded - failed;\n const summary = [\n succeeded > 0 && `${succeeded} OK`,\n failed > 0 && `${failed} failed`,\n incomplete > 0 && `${incomplete} incomplete`,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <>\n {errorIndicator}\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"shrink-0 tabular-nums\">\n {summary}\n </Txt>\n </>\n );\n}\n\nfunction GroupKinds({ steps }: { steps: ToolCallGroupStep[] }) {\n const iconByLabel = new Map(\n steps.map(step => presentTool(step.toolName, step.args)).map(({ label, icon }) => [label, icon]),\n );\n const kinds = [...iconByLabel].slice(0, MAX_KIND_GLYPHS);\n\n return (\n <ToolCallSummary role=\"img\" aria-label={kinds.map(([label]) => label).join(', ')} className=\"shrink-0 gap-1.5\">\n {kinds.map(([label, Kind]) => (\n <Kind key={label} size={12} strokeWidth={1.75} className=\"text-placeholder\" />\n ))}\n </ToolCallSummary>\n );\n}\n","import { ToolCallMono } from './tool-call';\n\nexport interface ToolCallOutputProps {\n text: string;\n error?: boolean;\n maxLength?: number;\n 'data-testid'?: string;\n}\n\nexport function ToolCallOutput({ text, error, maxLength, 'data-testid': testId }: ToolCallOutputProps) {\n const preview = maxLength !== undefined && text.length > maxLength ? `${text.slice(0, maxLength)}…` : text;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className={error ? 'text-error/90' : 'text-muted-foreground'}>\n {preview}\n </ToolCallMono>\n );\n}\n","const clock = new Intl.DateTimeFormat(undefined, { hour: 'numeric', minute: '2-digit', second: '2-digit' });\nconst calendar = new Intl.DateTimeFormat(undefined, { dateStyle: 'full', timeStyle: 'medium' });\n\nexport function ToolCallTime({ at }: { at?: number }) {\n if (at === undefined) return null;\n const time = new Date(at);\n if (Number.isNaN(time.getTime())) return null;\n\n return (\n <time\n className=\"shrink-0 text-meta text-muted-foreground tabular-nums\"\n dateTime={time.toISOString()}\n title={calendar.format(time)}\n >\n {clock.format(time)}\n </time>\n );\n}\n"],"names":["code","useHighlight","jsx","Fragment","jsxs","cn","tokenStyle","languageForPath","CodeBlock","truncateString","toolEdit","stringifyToolValue","ToolCallMono","presentTool","ToolCall","ToolCallTrigger","ToolCallHeader","ToolCallIcon","FoldVertical","ToolCallLabel","ToolCallDetail","ToolCallSpacer","ToolCallTrailing","ToolCallDisclosure","ToolCallContent","ScrollArea","Txt","X","ToolCallSummary"],"mappings":";;;;;;;;;;;;;;;;;AAEA,MAAM,OAAA,GACJ,oIAAA;AAGF,MAAM,eAAA,GAAkB,6FAAA;AAEjB,SAAS,UAAU,IAAA,EAAsB;AAC9C,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,OAAA,EAAS,EAAE,CAAA;AACjC;AAEO,SAAS,oBAAoB,IAAA,EAAsB;AACxD,EAAA,OAAO,SAAA,CAAU,IAAI,CAAA,CAAE,OAAA,CAAQ,iBAAiB,IAAI,CAAA;AACtD;;ACPA,MAAM,cAAA,GAAiB,GAAA;AACvB,MAAM,sBAAA,GAAyB,GAAA;AAE/B,MAAM,UAAA,GAAa;AAAA,EACjB,SAAS,EAAE,IAAA,EAAM,KAAK,GAAA,EAAK,aAAA,EAAe,QAAQ,YAAA,EAAa;AAAA,EAC/D,OAAO,EAAE,IAAA,EAAM,KAAK,GAAA,EAAK,eAAA,EAAiB,QAAQ,cAAA;AACpD,CAAA;AAEA,SAAS,aAAa,IAAA,EAAmD;AACvE,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC7B,EAAA,OAAO,EAAE,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,GAAG,cAAc,CAAA,EAAG,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAA,CAAM,MAAA,GAAS,cAAc,CAAA,EAAE;AACrG;AAEA,SAAS,QAAA,CAAS,EAAE,KAAA,EAAO,IAAA,EAAM,MAAK,EAAiF;AACrH,EAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAK,MAAA,EAAO,GAAI,WAAW,IAAI,CAAA;AAC7C,EAAA,MAAMA,MAAA,GAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC5B,EAAA,MAAM,WAAA,GAAcC,iBAAA,CAAaD,MAAA,EAAM,IAAI,CAAA;AAC3C,EAAA,MAAM,MAAA,GAAS,WAAA,EAAa,IAAA,KAASA,MAAA,GAAO,YAAY,MAAA,GAAS,MAAA;AAEjE,EAAA,uBACEE,cAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,qBAChBC,eAAA,CAAC,KAAA,EAAA,EAAgB,SAAA,EAAWC,WAAA,CAAG,qBAAA,EAAuB,GAAG,CAAA,EACvD,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAAC,UAAK,SAAA,EAAWG,WAAA,CAAG,iDAAA,EAAmD,MAAM,GAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,oBACtFH,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+BAAA,EACb,QAAA,EAAA,MAAA,GAAS,KAAK,CAAA,EAAG,GAAA,CAAI,CAAC,KAAA,EAAO,UAAA,qBAC5BA,cAAA,CAAC,UAAsB,SAAA,EAAU,aAAA,EAAc,KAAA,EAAOI,eAAA,CAAW,KAAK,CAAA,EACnE,gBAAM,OAAA,EAAA,EADE,UAEX,CACD,CAAA,IAAK,IAAA,EACR;AAAA,GAAA,EAAA,EARQ,KASV,CACD,CAAA,EACH,CAAA;AAEJ;AAEO,SAAS,YAAA,CAAa,EAAE,IAAA,EAAK,EAAuB;AACzD,EAAA,MAAM,IAAA,GAAOC,yBAAA,CAAgB,IAAA,CAAK,IAAI,CAAA;AAEtC,EAAA,IAAI,aAAa,IAAA,EAAM;AACrB,IAAA,uBACEL,cAAA;AAAA,MAACM,mBAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAMC,mCAAA,CAAe,IAAA,CAAK,OAAA,EAAS,sBAAsB,CAAA;AAAA,QACzD,IAAA;AAAA,QACA,QAAA,EAAU,KAAK,IAAA,IAAQ,QAAA;AAAA,QACvB,QAAA,EAAS;AAAA;AAAA,KACX;AAAA,EAEJ;AAEA,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,IAAA,CAAK,OAAO,CAAA;AACzC,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,IAAA,CAAK,OAAO,CAAA;AACvC,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,MAAA,GAAS,KAAA,CAAM,MAAA;AAEtC,EAAA,uBACEL,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,mGAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAW,aAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAF,cAAA,CAAC,YAAS,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAO,IAAA,EAAK,WAAU,IAAA,EAAY,CAAA;AAAA,uCAC1D,QAAA,EAAA,EAAS,KAAA,EAAO,MAAM,KAAA,EAAO,IAAA,EAAK,SAAQ,IAAA,EAAY,CAAA;AAAA,QACtD,MAAA,GAAS,CAAA,oBAAKE,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+CAAA,EAAgD,QAAA,EAAA;AAAA,UAAA,IAAA;AAAA,UAAG,MAAA;AAAA,UAAO;AAAA,SAAA,EAAW;AAAA;AAAA;AAAA,GACrG;AAEJ;;AC7DO,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,EAA2B;AACzB,EAAA,MAAM,IAAA,GAAOM,yBAAA,CAAS,QAAA,EAAU,IAAI,CAAA;AACpC,EAAA,IAAI,IAAA,EAAM,uBAAOR,cAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,CAAA;AAC3C,EAAA,IAAI,eAAe,OAAO,IAAA;AAE1B,EAAA,MAAM,IAAA,GAAO,IAAA,KAAS,MAAA,GAAY,QAAA,GAAWS,oCAAmB,IAAI,CAAA;AACpE,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,uBACET,cAAA,CAACU,yBAAa,QAAA,EAAU,IAAA,EAAM,eAAa,MAAA,EAAQ,SAAA,EAAU,mBAC1D,QAAA,EAAA,IAAA,EACH,CAAA;AAEJ;;ACIA,MAAM,eAAA,GAAkB,CAAA;AAEjB,SAAS,aAAA,CAAc,EAAE,KAAA,EAAO,OAAA,EAAS,UAAS,EAAuB;AAC9E,EAAA,MAAM,UAAU,KAAA,CAAM,IAAA,CAAK,CAAA,IAAA,KAAQ,IAAA,CAAK,WAAW,SAAS,CAAA;AAC5D,EAAA,MAAM,aAAa,OAAA,IAAWC,4BAAA,CAAY,QAAQ,QAAA,EAAU,OAAA,CAAQ,IAAI,CAAA,CAAE,MAAA;AAE1E,EAAA,uBACET,eAAA,CAACU,iBAAA,EAAA,EAAS,MAAA,EAAQ,OAAA,GAAU,SAAA,GAAY,QAAQ,YAAA,EAAY,CAAA,YAAA,EAAe,KAAA,CAAM,MAAM,CAAA,MAAA,CAAA,EACrF,QAAA,EAAA;AAAA,oBAAAZ,cAAA,CAACa,wBAAA,EAAA,EACC,0CAACC,uBAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,sBACDd,cAAA,CAACe,qBAAA,EAAA,EACC,QAAA,kBAAAf,cAAA,CAACgB,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI,WAAA,EAAa,IAAA,EAAM,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,kBAAA,EAAmB,CAAA,EACtF,CAAA;AAAA,sCACCC,sBAAA,EAAA,EAAe,QAAA,EAAA;AAAA,QAAA,KAAA,CAAM,MAAA;AAAA,QAAO;AAAA,OAAA,EAAM,CAAA;AAAA,MAClC,UAAA,oBAAcjB,cAAA,CAACkB,uBAAA,EAAA,EAAgB,QAAA,EAAA,UAAA,EAAW,CAAA;AAAA,sBAC3ClB,cAAA,CAAC,cAAW,KAAA,EAAc,CAAA;AAAA,sBAC1BA,cAAA,CAACmB,uBAAA,EAAA,EAAe,IAAA,EAAI,IAAA,EAAC,CAAA;AAAA,sBACrBnB,cAAA,CAACoB,yBAAA,EAAA,EACC,QAAA,kBAAApB,cAAA,CAAC,aAAA,EAAA,EAAc,OAAc,CAAA,EAC/B,CAAA;AAAA,qCACCqB,2BAAA,EAAA,EAAmB;AAAA,KAAA,EACtB,CAAA,EACF,CAAA;AAAA,oBACArB,cAAA,CAACsB,wBAAA,EAAA,EAAgB,SAAA,EAAU,oBAAA,EACzB,yCAACC,qBAAA,EAAA,EAAW,SAAA,EAAU,OAAA,EAAQ,UAAA,EAAY,QAAQ,OAAO,CAAA,EAAG,sBAAA,EAAwB,KAAA,EACjF,UACH,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,aAAA,CAAc,EAAE,KAAA,EAAM,EAAmC;AAChE,EAAA,MAAM,OAAO,KAAA,CAAM,MAAA,CAAO,UAAQ,IAAA,CAAK,MAAA,KAAW,SAAS,CAAA,CAAE,MAAA;AAC7D,EAAA,IAAI,IAAA,GAAO,MAAM,MAAA,EAAQ;AACvB,IAAA,uBACErB,eAAA,CAACsB,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,uBAAA,EAClD,QAAA,EAAA;AAAA,MAAA,IAAA;AAAA,MAAK,GAAA;AAAA,MAAE,KAAA,CAAM;AAAA,KAAA,EAChB,CAAA;AAAA,EAEJ;AACA,EAAA,MAAM,SAAS,KAAA,CAAM,MAAA,CAAO,UAAQ,IAAA,CAAK,MAAA,KAAW,OAAO,CAAA,CAAE,MAAA;AAC7D,EAAA,MAAM,cAAA,GACJ,MAAA,GAAS,CAAA,mBAAIxB,cAAA,CAACyB,aAAA,EAAA,EAAE,IAAA,EAAM,EAAA,EAAI,IAAA,EAAK,KAAA,EAAM,YAAA,EAAW,QAAA,EAAS,SAAA,EAAU,uBAAsB,CAAA,GAAK,IAAA;AAEhG,EAAA,IAAI,MAAM,IAAA,CAAK,CAAA,IAAA,KAAQ,KAAK,SAAA,KAAc,MAAS,GAAG,OAAO,cAAA;AAE7D,EAAA,MAAM,SAAA,GAAY,MAAM,MAAA,CAAO,CAAA,IAAA,KAAQ,KAAK,MAAA,KAAW,MAAA,IAAU,IAAA,CAAK,SAAS,CAAA,CAAE,MAAA;AACjF,EAAA,MAAM,UAAA,GAAa,KAAA,CAAM,MAAA,GAAS,SAAA,GAAY,MAAA;AAC9C,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,SAAA,GAAY,CAAA,IAAK,CAAA,EAAG,SAAS,CAAA,GAAA,CAAA;AAAA,IAC7B,MAAA,GAAS,CAAA,IAAK,CAAA,EAAG,MAAM,CAAA,OAAA,CAAA;AAAA,IACvB,UAAA,GAAa,CAAA,IAAK,CAAA,EAAG,UAAU,CAAA,WAAA;AAAA,GACjC,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,KAAK,CAAA;AAEb,EAAA,uBACEvB,eAAA,CAAAD,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,cAAA;AAAA,oBACDD,cAAA,CAACwB,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,OAAA,EAAQ,QAAO,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,uBAAA,EAClD,QAAA,EAAA,OAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,KAAA,EAAM,EAAmC;AAC7D,EAAA,MAAM,cAAc,IAAI,GAAA;AAAA,IACtB,MAAM,GAAA,CAAI,CAAA,IAAA,KAAQb,6BAAY,IAAA,CAAK,QAAA,EAAU,KAAK,IAAI,CAAC,EAAE,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,IAAA,OAAW,CAAC,KAAA,EAAO,IAAI,CAAC;AAAA,GACjG;AACA,EAAA,MAAM,QAAQ,CAAC,GAAG,WAAW,CAAA,CAAE,KAAA,CAAM,GAAG,eAAe,CAAA;AAEvD,EAAA,uBACEX,cAAA,CAAC0B,wBAAA,EAAA,EAAgB,IAAA,EAAK,KAAA,EAAM,cAAY,KAAA,CAAM,GAAA,CAAI,CAAC,CAAC,KAAK,CAAA,KAAM,KAAK,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,EAAG,SAAA,EAAU,kBAAA,EACzF,QAAA,EAAA,KAAA,CAAM,IAAI,CAAC,CAAC,KAAA,EAAO,IAAI,sBACtB1B,cAAA,CAAC,IAAA,EAAA,EAAiB,IAAA,EAAM,EAAA,EAAI,aAAa,IAAA,EAAM,SAAA,EAAU,kBAAA,EAAA,EAA9C,KAAiE,CAC7E,CAAA,EACH,CAAA;AAEJ;;AC3GO,SAAS,eAAe,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,aAAA,EAAe,QAAO,EAAwB;AACrG,EAAA,MAAM,OAAA,GAAU,SAAA,KAAc,MAAA,IAAa,IAAA,CAAK,MAAA,GAAS,SAAA,GAAY,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,SAAS,CAAC,CAAA,CAAA,CAAA,GAAM,IAAA;AAEtG,EAAA,uBACEA,cAAA,CAACU,qBAAA,EAAA,EAAa,QAAA,EAAU,IAAA,EAAM,aAAA,EAAa,QAAQ,SAAA,EAAW,KAAA,GAAQ,eAAA,GAAkB,uBAAA,EACrF,QAAA,EAAA,OAAA,EACH,CAAA;AAEJ;;ACjBA,MAAM,KAAA,GAAQ,IAAI,IAAA,CAAK,cAAA,CAAe,MAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAW,MAAA,EAAQ,SAAA,EAAW,MAAA,EAAQ,SAAA,EAAW,CAAA;AAC1G,MAAM,QAAA,GAAW,IAAI,IAAA,CAAK,cAAA,CAAe,MAAA,EAAW,EAAE,SAAA,EAAW,MAAA,EAAQ,SAAA,EAAW,QAAA,EAAU,CAAA;AAEvF,SAAS,YAAA,CAAa,EAAE,EAAA,EAAG,EAAoB;AACpD,EAAA,IAAI,EAAA,KAAO,QAAW,OAAO,IAAA;AAC7B,EAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,EAAE,CAAA;AACxB,EAAA,IAAI,OAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,GAAG,OAAO,IAAA;AAEzC,EAAA,uBACEV,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,uDAAA;AAAA,MACV,QAAA,EAAU,KAAK,WAAA,EAAY;AAAA,MAC3B,KAAA,EAAO,QAAA,CAAS,MAAA,CAAO,IAAI,CAAA;AAAA,MAE1B,QAAA,EAAA,KAAA,CAAM,OAAO,IAAI;AAAA;AAAA,GACpB;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,16 +1,16 @@
1
1
  export { T as TOOL_GROUP_MIN, g as groupConsecutive } from '../../group-consecutive-EVLIMgcO.js';
2
- import { k as ToolCallMono, T as ToolCall, a as ToolCallTrigger, d as ToolCallHeader, e as ToolCallIcon, f as ToolCallLabel, g as ToolCallDetail, h as ToolCallSpacer, b as ToolCallTrailing, i as ToolCallDisclosure, c as ToolCallContent, l as ToolCallSummary } from '../../tool-call-K147tCug.js';
3
- export { m as ToolCallCommand, j as ToolCallPresentedHeader } from '../../tool-call-K147tCug.js';
2
+ import { k as ToolCallMono, T as ToolCall, a as ToolCallTrigger, d as ToolCallHeader, e as ToolCallIcon, f as ToolCallLabel, g as ToolCallDetail, h as ToolCallSpacer, b as ToolCallTrailing, i as ToolCallDisclosure, c as ToolCallContent, l as ToolCallSummary } from '../../tool-call-BjAGFbH-.js';
3
+ export { m as ToolCallCommand, j as ToolCallPresentedHeader } from '../../tool-call-BjAGFbH-.js';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { u as useHighlight, t as tokenStyle } from '../../code-D4Vw_fYq.js';
6
- import { C as CodeBlock } from '../../code-block-CSqjpBvb.js';
6
+ import { C as CodeBlock } from '../../code-block-D3BWud_S.js';
7
7
  import { l as languageForPath } from '../../highlight-BmpoELR4.js';
8
8
  import { truncateString } from '../../utils/truncate-string.es.js';
9
9
  import { c as cn } from '../../cn-65Adrsfj.js';
10
10
  import { t as toolEdit, s as stringifyToolValue, p as presentTool } from '../../tool-presentation-D-smNbXC.js';
11
11
  export { i as isTaskTool } from '../../tool-presentation-D-smNbXC.js';
12
12
  import { FoldVertical, X } from 'lucide-react';
13
- import { S as ScrollArea } from '../../scroll-area-CdQ_5bLm.js';
13
+ import { S as ScrollArea } from '../../scroll-area-DyTZoISq.js';
14
14
  import { T as Txt } from '../../Txt-DTh3Pa_a.js';
15
15
 
16
16
  const ANSI_RE = /[\u001b\u009b][[\]()#;?]*(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007|(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~])/g;
@@ -39,7 +39,7 @@ function DiffSide({ lines, side, lang }) {
39
39
  const tokens = highlighted?.code === code ? highlighted.tokens : void 0;
40
40
  return /* @__PURE__ */ jsx(Fragment, { children: lines.map((line, index) => /* @__PURE__ */ jsxs("div", { className: cn("flex whitespace-pre", row), children: [
41
41
  /* @__PURE__ */ jsx("span", { className: cn("w-5 shrink-0 text-center opacity-70 select-none", gutter), children: sign }),
42
- /* @__PURE__ */ jsx("span", { className: "text-foreground flex-1 pr-2.5", children: tokens?.[index]?.map((token, tokenIndex) => /* @__PURE__ */ jsx("span", { className: "shiki-token", style: tokenStyle(token), children: token.content }, tokenIndex)) ?? line })
42
+ /* @__PURE__ */ jsx("span", { className: "flex-1 pr-2.5 text-foreground", children: tokens?.[index]?.map((token, tokenIndex) => /* @__PURE__ */ jsx("span", { className: "shiki-token", style: tokenStyle(token), children: token.content }, tokenIndex)) ?? line })
43
43
  ] }, index)) });
44
44
  }
45
45
  function ToolCallEdit({ edit }) {
@@ -61,13 +61,13 @@ function ToolCallEdit({ edit }) {
61
61
  return /* @__PURE__ */ jsxs(
62
62
  "div",
63
63
  {
64
- className: "border-border bg-fill text-caption max-w-full min-w-0 overflow-x-auto rounded-md border font-mono",
64
+ className: "max-w-full min-w-0 overflow-x-auto rounded-md border border-border bg-fill font-mono text-caption",
65
65
  role: "group",
66
66
  "aria-label": "File change",
67
67
  children: [
68
68
  /* @__PURE__ */ jsx(DiffSide, { lines: removed.lines, side: "removed", lang }),
69
69
  /* @__PURE__ */ jsx(DiffSide, { lines: added.lines, side: "added", lang }),
70
- hidden > 0 && /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground px-2.5 py-1 select-none", children: [
70
+ hidden > 0 && /* @__PURE__ */ jsxs("div", { className: "px-2.5 py-1 text-muted-foreground select-none", children: [
71
71
  "… ",
72
72
  hidden,
73
73
  " more lines"
@@ -123,7 +123,7 @@ function GroupProgress({ steps }) {
123
123
  ] });
124
124
  }
125
125
  const failed = steps.filter((step) => step.status === "error").length;
126
- const errorIndicator = failed > 0 ? /* @__PURE__ */ jsx(X, { size: 13, role: "img", "aria-label": "Failed", className: "text-error shrink-0" }) : null;
126
+ const errorIndicator = failed > 0 ? /* @__PURE__ */ jsx(X, { size: 13, role: "img", "aria-label": "Failed", className: "shrink-0 text-error" }) : null;
127
127
  if (steps.some((step) => step.hasResult === void 0)) return errorIndicator;
128
128
  const succeeded = steps.filter((step) => step.status === "idle" && step.hasResult).length;
129
129
  const incomplete = steps.length - succeeded - failed;
@@ -159,7 +159,7 @@ function ToolCallTime({ at }) {
159
159
  return /* @__PURE__ */ jsx(
160
160
  "time",
161
161
  {
162
- className: "text-meta text-muted-foreground shrink-0 tabular-nums",
162
+ className: "shrink-0 text-meta text-muted-foreground tabular-nums",
163
163
  dateTime: time.toISOString(),
164
164
  title: calendar.format(time),
165
165
  children: clock.format(time)