@mastra/playground-ui 58.1.0-alpha.0 → 59.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/README.md +62 -0
  2. package/dist/{Header-BVnFQlzE.js → Header-hTHhO02b.js} +2 -2
  3. package/dist/{Header-BVnFQlzE.js.map → Header-hTHhO02b.js.map} +1 -1
  4. package/dist/{Header-CGjhJ0nQ.cjs → Header-y51Sfo3G.cjs} +2 -2
  5. package/dist/{Header-CGjhJ0nQ.cjs.map → Header-y51Sfo3G.cjs.map} +1 -1
  6. package/dist/{Txt-DTh3Pa_a.js → Txt-BP1SRHmL.js} +4 -10
  7. package/dist/Txt-BP1SRHmL.js.map +1 -0
  8. package/dist/{Txt-B4-2nLaI.cjs → Txt-DPmEpNbp.cjs} +4 -10
  9. package/dist/Txt-DPmEpNbp.cjs.map +1 -0
  10. package/dist/{ask-user-pPTuoPKI.cjs → ask-user-4pnmHbuC.cjs} +2 -2
  11. package/dist/{ask-user-pPTuoPKI.cjs.map → ask-user-4pnmHbuC.cjs.map} +1 -1
  12. package/dist/{ask-user-DtF4a9Vr.js → ask-user-CFcQN_7m.js} +2 -2
  13. package/dist/{ask-user-DtF4a9Vr.js.map → ask-user-CFcQN_7m.js.map} +1 -1
  14. package/dist/{chat-notification-C4P2InUX.js → chat-notification-BI_WRUvG.js} +2 -2
  15. package/dist/{chat-notification-C4P2InUX.js.map → chat-notification-BI_WRUvG.js.map} +1 -1
  16. package/dist/{chat-notification-HP18KxlS.cjs → chat-notification-Dc7jwULm.cjs} +2 -2
  17. package/dist/{chat-notification-HP18KxlS.cjs.map → chat-notification-Dc7jwULm.cjs.map} +1 -1
  18. package/dist/{chat-signal-BP9RN6Rh.cjs → chat-signal-BodewV33.cjs} +3 -3
  19. package/dist/{chat-signal-BP9RN6Rh.cjs.map → chat-signal-BodewV33.cjs.map} +1 -1
  20. package/dist/{chat-signal-CQnmFp3V.js → chat-signal-D0zw80bU.js} +3 -3
  21. package/dist/{chat-signal-CQnmFp3V.js.map → chat-signal-D0zw80bU.js.map} +1 -1
  22. package/dist/{combobox-BoSB-muq.cjs → combobox-B19HJqE-.cjs} +2 -2
  23. package/dist/{combobox-BoSB-muq.cjs.map → combobox-B19HJqE-.cjs.map} +1 -1
  24. package/dist/{combobox-Cd0JPUQW.js → combobox-D_kmwSKS.js} +2 -2
  25. package/dist/{combobox-Cd0JPUQW.js.map → combobox-D_kmwSKS.js.map} +1 -1
  26. package/dist/components/Avatar.cjs.js +1 -1
  27. package/dist/components/Avatar.es.js +1 -1
  28. package/dist/components/ClampedText.cjs.js +1 -1
  29. package/dist/components/ClampedText.es.js +1 -1
  30. package/dist/components/Combobox.cjs.js +1 -1
  31. package/dist/components/Combobox.es.js +1 -1
  32. package/dist/components/Comment.cjs.js +2 -2
  33. package/dist/components/Comment.es.js +2 -2
  34. package/dist/components/CompactNumber.cjs.js +24 -0
  35. package/dist/components/CompactNumber.cjs.js.map +1 -0
  36. package/dist/components/CompactNumber.d.ts +2 -0
  37. package/dist/components/CompactNumber.es.js +20 -0
  38. package/dist/components/CompactNumber.es.js.map +1 -0
  39. package/dist/components/DataCodeSection.cjs.js +1 -1
  40. package/dist/components/DataCodeSection.es.js +1 -1
  41. package/dist/components/DataList.cjs.js +8 -14
  42. package/dist/components/DataList.cjs.js.map +1 -1
  43. package/dist/components/DataList.es.js +8 -14
  44. package/dist/components/DataList.es.js.map +1 -1
  45. package/dist/components/DataPanel.cjs.js +1 -1
  46. package/dist/components/DataPanel.es.js +1 -1
  47. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  48. package/dist/components/DateRangeTimeline.es.js +1 -1
  49. package/dist/components/DateTimePicker.cjs.js +1 -1
  50. package/dist/components/DateTimePicker.es.js +1 -1
  51. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  52. package/dist/components/DateTimeRangePicker.es.js +1 -1
  53. package/dist/components/Entity.cjs.js +1 -1
  54. package/dist/components/Entity.es.js +1 -1
  55. package/dist/components/EntityHeader.cjs.js +1 -1
  56. package/dist/components/EntityHeader.es.js +1 -1
  57. package/dist/components/Entry.cjs.js +1 -1
  58. package/dist/components/Entry.es.js +1 -1
  59. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  60. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  61. package/dist/components/FilterBar.cjs.js +1 -1
  62. package/dist/components/FilterBar.es.js +1 -1
  63. package/dist/components/FormFieldBlocks.cjs.js +4 -4
  64. package/dist/components/FormFieldBlocks.es.js +4 -4
  65. package/dist/components/Header.cjs.js +1 -1
  66. package/dist/components/Header.es.js +1 -1
  67. package/dist/components/InlineCode.cjs.js +10 -0
  68. package/dist/components/InlineCode.cjs.js.map +1 -0
  69. package/dist/components/InlineCode.d.ts +2 -0
  70. package/dist/components/InlineCode.es.js +2 -0
  71. package/dist/components/InlineCode.es.js.map +1 -0
  72. package/dist/components/ItemList.cjs.js +4 -16
  73. package/dist/components/ItemList.cjs.js.map +1 -1
  74. package/dist/components/ItemList.es.js +4 -16
  75. package/dist/components/ItemList.es.js.map +1 -1
  76. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  77. package/dist/components/JSONSchemaForm.es.js +2 -2
  78. package/dist/components/ListSearch.cjs.js +1 -1
  79. package/dist/components/ListSearch.es.js +1 -1
  80. package/dist/components/LogsDataList.cjs.js +2 -2
  81. package/dist/components/LogsDataList.es.js +2 -2
  82. package/dist/components/Message.cjs.js +4 -5
  83. package/dist/components/Message.cjs.js.map +1 -1
  84. package/dist/components/Message.es.js +4 -5
  85. package/dist/components/Message.es.js.map +1 -1
  86. package/dist/components/PageLayout.cjs.js +1 -1
  87. package/dist/components/PageLayout.es.js +1 -1
  88. package/dist/components/PropertyFilter.cjs.js +1 -1
  89. package/dist/components/PropertyFilter.es.js +1 -1
  90. package/dist/components/RelativeTimestamp.cjs.js +119 -0
  91. package/dist/components/RelativeTimestamp.cjs.js.map +1 -0
  92. package/dist/components/RelativeTimestamp.d.ts +2 -0
  93. package/dist/components/RelativeTimestamp.es.js +115 -0
  94. package/dist/components/RelativeTimestamp.es.js.map +1 -0
  95. package/dist/components/Section.cjs.js +1 -1
  96. package/dist/components/Section.es.js +1 -1
  97. package/dist/components/SettingsRow.cjs.js +1 -1
  98. package/dist/components/SettingsRow.es.js +1 -1
  99. package/dist/components/SideDialog.cjs.js +1 -1
  100. package/dist/components/SideDialog.es.js +1 -1
  101. package/dist/components/StatusIndicators.cjs.js +21 -14
  102. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  103. package/dist/components/StatusIndicators.es.js +21 -15
  104. package/dist/components/StatusIndicators.es.js.map +1 -1
  105. package/dist/components/Table.cjs.js +3 -21
  106. package/dist/components/Table.cjs.js.map +1 -1
  107. package/dist/components/Table.es.js +3 -21
  108. package/dist/components/Table.es.js.map +1 -1
  109. package/dist/components/ThreadList.cjs.js +1 -1
  110. package/dist/components/ThreadList.es.js +1 -1
  111. package/dist/components/Truncate.cjs.js +1 -1
  112. package/dist/components/Truncate.es.js +1 -1
  113. package/dist/components/Txt.cjs.js +1 -1
  114. package/dist/components/Txt.es.js +1 -1
  115. package/dist/components/Workflow.cjs.js +8 -12
  116. package/dist/components/Workflow.cjs.js.map +1 -1
  117. package/dist/components/Workflow.es.js +8 -12
  118. package/dist/components/Workflow.es.js.map +1 -1
  119. package/dist/components/ai/ask-user.cjs.js +1 -1
  120. package/dist/components/ai/ask-user.es.js +1 -1
  121. package/dist/components/ai/chat-event.cjs.js +3 -3
  122. package/dist/components/ai/chat-event.es.js +4 -4
  123. package/dist/components/ai/plan.cjs.js +2 -2
  124. package/dist/components/ai/plan.cjs.js.map +1 -1
  125. package/dist/components/ai/plan.es.js +2 -2
  126. package/dist/components/ai/plan.es.js.map +1 -1
  127. package/dist/components/ai/tool-call.cjs.js +7 -9
  128. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  129. package/dist/components/ai/tool-call.es.js +8 -10
  130. package/dist/components/ai/tool-call.es.js.map +1 -1
  131. package/dist/{data-code-section-Cth9zVkj.js → data-code-section-BKrCkj90.js} +2 -2
  132. package/dist/{data-code-section-Cth9zVkj.js.map → data-code-section-BKrCkj90.js.map} +1 -1
  133. package/dist/{data-code-section-DE4AgaTU.cjs → data-code-section-C9z94ytx.cjs} +2 -2
  134. package/dist/{data-code-section-DE4AgaTU.cjs.map → data-code-section-C9z94ytx.cjs.map} +1 -1
  135. package/dist/{data-list-DisTjDHP.js → data-list-5-nRJbEO.js} +3 -3
  136. package/dist/{data-list-DisTjDHP.js.map → data-list-5-nRJbEO.js.map} +1 -1
  137. package/dist/{data-list-PwFpP_mo.cjs → data-list-RI8c32dk.cjs} +3 -3
  138. package/dist/{data-list-PwFpP_mo.cjs.map → data-list-RI8c32dk.cjs.map} +1 -1
  139. package/dist/{data-list-skeleton-DAfM8AjW.js → data-list-skeleton-BrSh9Y_3.js} +2 -2
  140. package/dist/{data-list-skeleton-DAfM8AjW.js.map → data-list-skeleton-BrSh9Y_3.js.map} +1 -1
  141. package/dist/{data-list-skeleton-CjwR0o3w.cjs → data-list-skeleton-CgbWqYky.cjs} +2 -2
  142. package/dist/{data-list-skeleton-CjwR0o3w.cjs.map → data-list-skeleton-CgbWqYky.cjs.map} +1 -1
  143. package/dist/{data-list-spacer-DEcgVGFM.cjs → data-list-spacer-1OqlC7WX.cjs} +2 -2
  144. package/dist/{data-list-spacer-DEcgVGFM.cjs.map → data-list-spacer-1OqlC7WX.cjs.map} +1 -1
  145. package/dist/{data-list-spacer-BmorAN0V.js → data-list-spacer-D3Rn1evn.js} +2 -2
  146. package/dist/{data-list-spacer-BmorAN0V.js.map → data-list-spacer-D3Rn1evn.js.map} +1 -1
  147. package/dist/{data-list-top-DpbOA3uw.js → data-list-top-B-AopfvE.js} +13 -21
  148. package/dist/data-list-top-B-AopfvE.js.map +1 -0
  149. package/dist/{data-list-top-WGUY167p.cjs → data-list-top-DFnudSA_.cjs} +13 -21
  150. package/dist/data-list-top-DFnudSA_.cjs.map +1 -0
  151. package/dist/{data-panel-BQVTKo86.js → data-panel-BWgExbHs.js} +2 -2
  152. package/dist/{data-panel-BQVTKo86.js.map → data-panel-BWgExbHs.js.map} +1 -1
  153. package/dist/{data-panel-XPXrhYJI.cjs → data-panel-C_BqhzeL.cjs} +2 -2
  154. package/dist/{data-panel-XPXrhYJI.cjs.map → data-panel-C_BqhzeL.cjs.map} +1 -1
  155. package/dist/{date-time-range-picker-C-t3Kdpk.js → date-time-range-picker-Bnviv7s-.js} +2 -2
  156. package/dist/{date-time-range-picker-C-t3Kdpk.js.map → date-time-range-picker-Bnviv7s-.js.map} +1 -1
  157. package/dist/{date-time-range-picker-BCzvSYx3.cjs → date-time-range-picker-sT5qAW-_.cjs} +2 -2
  158. package/dist/{date-time-range-picker-BCzvSYx3.cjs.map → date-time-range-picker-sT5qAW-_.cjs.map} +1 -1
  159. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js +16 -0
  160. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js.map +1 -0
  161. package/dist/domains/capabilities/hooks/use-feedback-available.d.ts +2 -0
  162. package/dist/domains/capabilities/hooks/use-feedback-available.es.js +12 -0
  163. package/dist/domains/capabilities/hooks/use-feedback-available.es.js.map +1 -0
  164. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js +20 -0
  165. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js.map +1 -0
  166. package/dist/domains/capabilities/hooks/use-observability-capabilities.d.ts +2 -0
  167. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js +16 -0
  168. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js.map +1 -0
  169. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js +16 -0
  170. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js.map +1 -0
  171. package/dist/domains/capabilities/hooks/use-trace-query-available.d.ts +2 -0
  172. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js +12 -0
  173. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js.map +1 -0
  174. package/dist/domains/capabilities/hooks.cjs.js +14 -0
  175. package/dist/domains/capabilities/hooks.cjs.js.map +1 -0
  176. package/dist/domains/capabilities/hooks.d.ts +2 -0
  177. package/dist/domains/capabilities/hooks.es.js +4 -0
  178. package/dist/domains/capabilities/hooks.es.js.map +1 -0
  179. package/dist/domains/capabilities.cjs.js +14 -0
  180. package/dist/domains/capabilities.cjs.js.map +1 -0
  181. package/dist/domains/capabilities.d.ts +2 -0
  182. package/dist/domains/capabilities.es.js +4 -0
  183. package/dist/domains/capabilities.es.js.map +1 -0
  184. package/dist/domains/chat/attachments/attachment-kind.es.js +1 -1
  185. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  186. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  187. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  188. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  189. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  190. package/dist/domains/chat/components/section-label.es.js +1 -1
  191. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  192. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  193. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +1 -1
  194. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +1 -1
  195. package/dist/domains/chat/messages/reasoning.cjs.js +4 -3
  196. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  197. package/dist/domains/chat/messages/reasoning.es.js +4 -3
  198. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  199. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +2 -2
  200. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
  201. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +2 -2
  202. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
  203. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +1 -1
  204. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  205. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  206. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  207. package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
  208. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  209. package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
  210. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  211. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  212. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  213. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  214. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  215. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  216. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +3 -3
  217. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  218. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +3 -3
  219. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  220. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +5 -3
  221. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  222. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +5 -3
  223. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  224. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +11 -8
  225. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  226. package/dist/domains/chat/tools/badges/observation-renderer.es.js +11 -8
  227. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  228. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -6
  229. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  230. package/dist/domains/logs/components/log-data-panel.es.js +3 -6
  231. package/dist/domains/logs/components/log-data-panel.es.js.map +1 -1
  232. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  233. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  234. package/dist/domains/logs/components/no-logs-info.cjs.js +3 -4
  235. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  236. package/dist/domains/logs/components/no-logs-info.es.js +3 -4
  237. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  238. package/dist/domains/memory/components/flame-graph.cjs.js +7 -5
  239. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  240. package/dist/domains/memory/components/flame-graph.es.js +8 -6
  241. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  242. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  243. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  244. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -5
  245. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  246. package/dist/domains/memory/components/observation-detail-view.es.js +4 -5
  247. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  248. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  249. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  250. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  251. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  252. package/dist/domains/memory/lib/timeline.cjs.js +0 -9
  253. package/dist/domains/memory/lib/timeline.cjs.js.map +1 -1
  254. package/dist/domains/memory/lib/timeline.es.js +1 -9
  255. package/dist/domains/memory/lib/timeline.es.js.map +1 -1
  256. package/dist/domains/metrics/components/bar-list.cjs.js +4 -4
  257. package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
  258. package/dist/domains/metrics/components/bar-list.es.js +4 -4
  259. package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
  260. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  261. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  262. package/dist/domains/metrics/components/kpi-card-view.cjs.js.map +1 -1
  263. package/dist/domains/metrics/components/kpi-card-view.es.js.map +1 -1
  264. package/dist/domains/metrics/components/memory-card-view.cjs.js +6 -5
  265. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  266. package/dist/domains/metrics/components/memory-card-view.es.js +5 -4
  267. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  268. package/dist/domains/metrics/components/metrics-utils.cjs.js +0 -15
  269. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  270. package/dist/domains/metrics/components/metrics-utils.es.js +1 -14
  271. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  272. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +5 -4
  273. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  274. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +3 -2
  275. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  276. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  277. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  278. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -3
  279. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
  280. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -3
  281. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
  282. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +3 -2
  283. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  284. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +3 -2
  285. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  286. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +3 -2
  287. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
  288. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -3
  289. package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
  290. package/dist/domains/metrics/components.cjs.js +0 -2
  291. package/dist/domains/metrics/components.cjs.js.map +1 -1
  292. package/dist/domains/metrics/components.es.js +1 -1
  293. package/dist/domains/metrics/hooks/use-metrics.cjs.js +3 -3
  294. package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -1
  295. package/dist/domains/metrics/hooks/use-metrics.es.js +3 -3
  296. package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -1
  297. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js +5 -5
  298. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js.map +1 -1
  299. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js +5 -5
  300. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js.map +1 -1
  301. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js +6 -7
  302. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js.map +1 -1
  303. package/dist/domains/metrics/hooks/use-scores-metrics.es.js +6 -7
  304. package/dist/domains/metrics/hooks/use-scores-metrics.es.js.map +1 -1
  305. package/dist/domains/metrics/metrics-interval.cjs.js +4 -2
  306. package/dist/domains/metrics/metrics-interval.cjs.js.map +1 -1
  307. package/dist/domains/metrics/metrics-interval.es.js +4 -2
  308. package/dist/domains/metrics/metrics-interval.es.js.map +1 -1
  309. package/dist/domains/metrics.cjs.js +0 -2
  310. package/dist/domains/metrics.cjs.js.map +1 -1
  311. package/dist/domains/metrics.es.js +1 -1
  312. package/dist/domains/traces/components/no-traces-info.cjs.js +3 -4
  313. package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
  314. package/dist/domains/traces/components/no-traces-info.es.js +3 -4
  315. package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
  316. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  317. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  318. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  319. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  320. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  321. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  322. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -2
  323. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  324. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -2
  325. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  326. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  327. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  328. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  329. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  330. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
  331. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
  332. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  333. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  334. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  335. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  336. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  337. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  338. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -2
  339. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -1
  340. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -2
  341. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +1 -1
  342. package/dist/domains/traces/components/span-summary-description.cjs.js +6 -4
  343. package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
  344. package/dist/domains/traces/components/span-summary-description.es.js +7 -5
  345. package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
  346. package/dist/domains/traces/components/span-timeline-row.cjs.js +3 -4
  347. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  348. package/dist/domains/traces/components/span-timeline-row.es.js +3 -4
  349. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  350. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +6 -11
  351. package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
  352. package/dist/domains/traces/components/span-timing-hover-card.es.js +6 -11
  353. package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
  354. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  355. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  356. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  357. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  358. package/dist/domains/traces/components/timeline-timing-col.cjs.js +3 -4
  359. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  360. package/dist/domains/traces/components/timeline-timing-col.es.js +3 -4
  361. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  362. package/dist/domains/traces/components/trace-columns-menu.cjs.js +21 -18
  363. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  364. package/dist/domains/traces/components/trace-columns-menu.es.js +21 -18
  365. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  366. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  367. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  368. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  369. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  370. package/dist/domains/traces/components/trace-span-timeline.cjs.js +10 -4
  371. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  372. package/dist/domains/traces/components/trace-span-timeline.es.js +10 -4
  373. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  374. package/dist/domains/traces/components/trace-span-tree.cjs.js +3 -4
  375. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  376. package/dist/domains/traces/components/trace-span-tree.es.js +3 -4
  377. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  378. package/dist/domains/traces/components/trace-summary-description.cjs.js +13 -10
  379. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  380. package/dist/domains/traces/components/trace-summary-description.es.js +13 -10
  381. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  382. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  383. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  384. package/dist/domains/traces/components/traces-list-view.cjs.js +12 -10
  385. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  386. package/dist/domains/traces/components/traces-list-view.es.js +12 -10
  387. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  388. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  389. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  390. package/dist/domains/traces/hooks/use-branch.cjs.js +0 -1
  391. package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -1
  392. package/dist/domains/traces/hooks/use-branch.es.js +0 -1
  393. package/dist/domains/traces/hooks/use-branch.es.js.map +1 -1
  394. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +0 -1
  395. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +1 -1
  396. package/dist/domains/traces/hooks/use-trace-light-spans.es.js +0 -1
  397. package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +1 -1
  398. package/dist/domains/traces/hooks/use-trace-query.cjs.js +63 -3
  399. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  400. package/dist/domains/traces/hooks/use-trace-query.es.js +61 -4
  401. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  402. package/dist/domains/traces/hooks/use-trace-search.cjs.js +0 -1
  403. package/dist/domains/traces/hooks/use-trace-search.cjs.js.map +1 -1
  404. package/dist/domains/traces/hooks/use-trace-search.es.js +0 -1
  405. package/dist/domains/traces/hooks/use-trace-search.es.js.map +1 -1
  406. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +0 -1
  407. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  408. package/dist/domains/traces/hooks/use-trace-spans.es.js +0 -1
  409. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  410. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +42 -0
  411. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -0
  412. package/dist/domains/traces/hooks/use-traces-list-source.d.ts +2 -0
  413. package/dist/domains/traces/hooks/use-traces-list-source.es.js +38 -0
  414. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -0
  415. package/dist/domains/traces/hooks.cjs.js +2 -0
  416. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  417. package/dist/domains/traces/hooks.es.js +1 -0
  418. package/dist/domains/traces/hooks.es.js.map +1 -1
  419. package/dist/domains/traces/trace-filters.cjs.js +10 -1
  420. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  421. package/dist/domains/traces/trace-filters.es.js +10 -1
  422. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  423. package/dist/domains/traces/utils/span-utils.cjs.js +4 -36
  424. package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
  425. package/dist/domains/traces/utils/span-utils.es.js +4 -32
  426. package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
  427. package/dist/domains/traces/utils.cjs.js +1 -1
  428. package/dist/domains/traces/utils.es.js +1 -1
  429. package/dist/domains/traces.cjs.js +3 -1
  430. package/dist/domains/traces.cjs.js.map +1 -1
  431. package/dist/domains/traces.es.js +2 -1
  432. package/dist/domains/traces.es.js.map +1 -1
  433. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  434. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  435. package/dist/ee/signals/components/entity-index-model.cjs.js +3 -2
  436. package/dist/ee/signals/components/entity-index-model.cjs.js.map +1 -1
  437. package/dist/ee/signals/components/entity-index-model.es.js +3 -2
  438. package/dist/ee/signals/components/entity-index-model.es.js.map +1 -1
  439. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -2
  440. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -2
  441. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  442. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  443. package/dist/ee/signals/signal-formatting.cjs.js +6 -34
  444. package/dist/ee/signals/signal-formatting.cjs.js.map +1 -1
  445. package/dist/ee/signals/signal-formatting.es.js +6 -34
  446. package/dist/ee/signals/signal-formatting.es.js.map +1 -1
  447. package/dist/ee/signals/snapshot-timeline-data.cjs.js +1 -1
  448. package/dist/ee/signals/snapshot-timeline-data.cjs.js.map +1 -1
  449. package/dist/ee/signals/snapshot-timeline-data.es.js +1 -1
  450. package/dist/ee/signals/snapshot-timeline-data.es.js.map +1 -1
  451. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  452. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  453. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  454. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  455. package/dist/field-block-error-msg-Y0fi0HUC.js +22 -0
  456. package/dist/field-block-error-msg-Y0fi0HUC.js.map +1 -0
  457. package/dist/field-block-error-msg-oudJz2Hx.cjs +24 -0
  458. package/dist/field-block-error-msg-oudJz2Hx.cjs.map +1 -0
  459. package/dist/{field-error-id-DyWx33Fu.js → field-error-id-DD7OARLU.js} +2 -13
  460. package/dist/field-error-id-DD7OARLU.js.map +1 -0
  461. package/dist/{field-error-id-6EfqmQ4C.cjs → field-error-id-V_WejsRL.cjs} +4 -15
  462. package/dist/field-error-id-V_WejsRL.cjs.map +1 -0
  463. package/dist/hooks/use-elapsed-time.cjs.js +25 -0
  464. package/dist/hooks/use-elapsed-time.cjs.js.map +1 -0
  465. package/dist/hooks/use-elapsed-time.d.ts +2 -0
  466. package/dist/hooks/use-elapsed-time.es.js +21 -0
  467. package/dist/hooks/use-elapsed-time.es.js.map +1 -0
  468. package/dist/inline-code-BW6W121s.js +13 -0
  469. package/dist/inline-code-BW6W121s.js.map +1 -0
  470. package/dist/inline-code-CSwG-x8D.cjs +15 -0
  471. package/dist/inline-code-CSwG-x8D.cjs.map +1 -0
  472. package/dist/layout/tabbed-container.cjs.js +3 -3
  473. package/dist/layout/tabbed-container.es.js +3 -3
  474. package/dist/{list-search-S1mco9Bl.cjs → list-search-CsYQX8qR.cjs} +2 -2
  475. package/dist/{list-search-S1mco9Bl.cjs.map → list-search-CsYQX8qR.cjs.map} +1 -1
  476. package/dist/{list-search-FJ1O5F3S.js → list-search-D1FD8FCL.js} +2 -2
  477. package/dist/{list-search-FJ1O5F3S.js.map → list-search-D1FD8FCL.js.map} +1 -1
  478. package/dist/{logs-data-list-CgDcNIvS.js → logs-data-list-BKE5vYZR.js} +3 -3
  479. package/dist/{logs-data-list-CgDcNIvS.js.map → logs-data-list-BKE5vYZR.js.map} +1 -1
  480. package/dist/{logs-data-list-BHvJOeec.cjs → logs-data-list-lJK0yGYj.cjs} +3 -3
  481. package/dist/{logs-data-list-BHvJOeec.cjs.map → logs-data-list-lJK0yGYj.cjs.map} +1 -1
  482. package/dist/new/settings.cjs.js +2 -2
  483. package/dist/new/settings.es.js +2 -2
  484. package/dist/{schemes-C9EhSOkB.js → schemes-CGK3gQJ6.js} +2 -2
  485. package/dist/{schemes-C9EhSOkB.js.map → schemes-CGK3gQJ6.js.map} +1 -1
  486. package/dist/{search-field-block-fU3tStmB.js → search-field-block-Dj2KJyjQ.js} +2 -2
  487. package/dist/{search-field-block-fU3tStmB.js.map → search-field-block-Dj2KJyjQ.js.map} +1 -1
  488. package/dist/{search-field-block-7-ufp4uG.cjs → search-field-block-K_e_S9WY.cjs} +2 -2
  489. package/dist/{search-field-block-7-ufp4uG.cjs.map → search-field-block-K_e_S9WY.cjs.map} +1 -1
  490. package/dist/{section-B9OLuEq3.js → section-Bi0g7cn6.js} +2 -2
  491. package/dist/{section-B9OLuEq3.js.map → section-Bi0g7cn6.js.map} +1 -1
  492. package/dist/{section-CTihfzmc.cjs → section-p9vCSmPq.cjs} +2 -2
  493. package/dist/{section-CTihfzmc.cjs.map → section-p9vCSmPq.cjs.map} +1 -1
  494. package/dist/{select-field-block-BfiHq9t6.js → select-field-block-BF8v698d.js} +2 -2
  495. package/dist/{select-field-block-BfiHq9t6.js.map → select-field-block-BF8v698d.js.map} +1 -1
  496. package/dist/{select-field-block-DJo2cX9Y.cjs → select-field-block-CaGjpIKM.cjs} +2 -2
  497. package/dist/{select-field-block-DJo2cX9Y.cjs.map → select-field-block-CaGjpIKM.cjs.map} +1 -1
  498. package/dist/{settings-row-BoAuUUuH.cjs → settings-row-Cr8gaO5a.cjs} +14 -4
  499. package/dist/settings-row-Cr8gaO5a.cjs.map +1 -0
  500. package/dist/{settings-row-B2IekRyH.js → settings-row-Cr9DsBSX.js} +14 -4
  501. package/dist/settings-row-Cr9DsBSX.js.map +1 -0
  502. package/dist/{span-payload-primitives-Buq9V8nK.js → span-payload-primitives-Dmzm3mb2.js} +2 -2
  503. package/dist/{span-payload-primitives-Buq9V8nK.js.map → span-payload-primitives-Dmzm3mb2.js.map} +1 -1
  504. package/dist/{span-payload-primitives-CjlNH9C-.cjs → span-payload-primitives-Dq8WqqNm.cjs} +2 -2
  505. package/dist/{span-payload-primitives-CjlNH9C-.cjs.map → span-payload-primitives-Dq8WqqNm.cjs.map} +1 -1
  506. package/dist/src/domains/capabilities/hooks/index.d.ts +3 -0
  507. package/dist/src/domains/capabilities/hooks/use-feedback-available.d.ts +8 -0
  508. package/dist/src/domains/capabilities/hooks/use-observability-capabilities.d.ts +22 -0
  509. package/dist/src/domains/capabilities/hooks/use-trace-query-available.d.ts +8 -0
  510. package/dist/src/domains/capabilities/index.d.ts +1 -0
  511. package/dist/src/domains/chat/messages/reasoning.d.ts +3 -1
  512. package/dist/src/domains/chat/messages/renderers/reasoning-part-renderer.d.ts +3 -1
  513. package/dist/src/domains/chat/stories/reasoning.stories.d.ts +1 -1
  514. package/dist/src/domains/memory/lib/timeline.d.ts +0 -1
  515. package/dist/src/domains/metrics/components/index.d.ts +1 -1
  516. package/dist/src/domains/metrics/components/kpi-card-view.d.ts +2 -1
  517. package/dist/src/domains/metrics/components/metrics-utils.d.ts +0 -2
  518. package/dist/src/domains/traces/components/trace-columns-menu.d.ts +3 -1
  519. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +1 -1
  520. package/dist/src/domains/traces/hooks/index.d.ts +1 -0
  521. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +19 -2
  522. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +46 -0
  523. package/dist/src/domains/traces/trace-filters.d.ts +6 -1
  524. package/dist/src/domains/traces/utils/index.d.ts +1 -1
  525. package/dist/src/domains/traces/utils/span-utils.d.ts +1 -6
  526. package/dist/src/ds/components/Card/Card.d.ts +2 -2
  527. package/dist/src/ds/components/CompactNumber/compact-number.d.ts +6 -0
  528. package/dist/src/ds/components/CompactNumber/compact-number.stories.d.ts +7 -0
  529. package/dist/src/ds/components/CompactNumber/index.d.ts +1 -0
  530. package/dist/src/ds/components/DataList/data-list-cells.d.ts +4 -3
  531. package/dist/src/ds/components/InlineCode/index.d.ts +1 -0
  532. package/dist/src/ds/components/InlineCode/inline-code.d.ts +3 -0
  533. package/dist/src/ds/components/InlineCode/inline-code.stories.d.ts +13 -0
  534. package/dist/src/ds/components/ItemList/item-list-date-cell.d.ts +3 -2
  535. package/dist/src/ds/components/RelativeTimestamp/index.d.ts +1 -0
  536. package/dist/src/ds/components/RelativeTimestamp/relative-timestamp.d.ts +6 -0
  537. package/dist/src/ds/components/RelativeTimestamp/relative-timestamp.stories.d.ts +7 -0
  538. package/dist/src/ds/components/StatusIndicators/status-dot-styles.d.ts +31 -2
  539. package/dist/src/ds/components/StatusIndicators/status-dot.stories.d.ts +3 -4
  540. package/dist/src/ds/components/StatusIndicators/status.d.ts +2 -3
  541. package/dist/src/ds/components/StatusIndicators/status.stories.d.ts +2 -1
  542. package/dist/src/ds/components/Txt/Txt.d.ts +5 -1
  543. package/dist/src/ds/new/settings/settings-row.d.ts +3 -1
  544. package/dist/src/ds/new/settings/settings.stories.d.ts +1 -0
  545. package/dist/src/hooks/stories/state/use-elapsed-time.stories.d.ts +17 -0
  546. package/dist/src/hooks/use-elapsed-time.d.ts +2 -0
  547. package/dist/src/lib/cost.d.ts +6 -0
  548. package/dist/src/utils/cost.d.ts +1 -0
  549. package/dist/src/utils/date-format.d.ts +28 -0
  550. package/dist/src/utils/duration.d.ts +7 -1
  551. package/dist/src/utils/relative-time.d.ts +7 -0
  552. package/dist/style.css +25 -4
  553. package/dist/{text-field-block-DGIM1i3Z.js → text-field-block-BYPiO9h4.js} +2 -2
  554. package/dist/{text-field-block-DGIM1i3Z.js.map → text-field-block-BYPiO9h4.js.map} +1 -1
  555. package/dist/{text-field-block-DePCgDOh.cjs → text-field-block-CRh8sRXP.cjs} +2 -2
  556. package/dist/{text-field-block-DePCgDOh.cjs.map → text-field-block-CRh8sRXP.cjs.map} +1 -1
  557. package/dist/{tool-call-Bs-9Cah5.js → tool-call-CIeNEYpK.js} +2 -2
  558. package/dist/{tool-call-Bs-9Cah5.js.map → tool-call-CIeNEYpK.js.map} +1 -1
  559. package/dist/{tool-call-C0JeHe8Z.cjs → tool-call-CnEm3eE0.cjs} +2 -2
  560. package/dist/{tool-call-C0JeHe8Z.cjs.map → tool-call-CnEm3eE0.cjs.map} +1 -1
  561. package/dist/{traces-data-list-D3k50j4n.cjs → traces-data-list-C5KZesk6.cjs} +4 -4
  562. package/dist/{traces-data-list-D3k50j4n.cjs.map → traces-data-list-C5KZesk6.cjs.map} +1 -1
  563. package/dist/{traces-data-list-B5MkMMBi.js → traces-data-list-CdWW9J6z.js} +4 -4
  564. package/dist/{traces-data-list-B5MkMMBi.js.map → traces-data-list-CdWW9J6z.js.map} +1 -1
  565. package/dist/utils/cost.cjs.js +40 -0
  566. package/dist/utils/cost.cjs.js.map +1 -0
  567. package/dist/utils/cost.d.ts +2 -0
  568. package/dist/utils/cost.es.js +34 -0
  569. package/dist/utils/cost.es.js.map +1 -0
  570. package/dist/utils/date-format.cjs.js +99 -0
  571. package/dist/utils/date-format.cjs.js.map +1 -0
  572. package/dist/utils/date-format.d.ts +2 -0
  573. package/dist/utils/date-format.es.js +91 -0
  574. package/dist/utils/date-format.es.js.map +1 -0
  575. package/dist/utils/duration.cjs.js +19 -2
  576. package/dist/utils/duration.cjs.js.map +1 -1
  577. package/dist/utils/duration.es.js +18 -3
  578. package/dist/utils/duration.es.js.map +1 -1
  579. package/dist/utils/file.es.js +2 -2
  580. package/dist/utils/relative-time.cjs.js +12 -0
  581. package/dist/utils/relative-time.cjs.js.map +1 -0
  582. package/dist/utils/relative-time.d.ts +2 -0
  583. package/dist/utils/relative-time.es.js +8 -0
  584. package/dist/utils/relative-time.es.js.map +1 -0
  585. package/package.json +8 -8
  586. package/dist/Txt-B4-2nLaI.cjs.map +0 -1
  587. package/dist/Txt-DTh3Pa_a.js.map +0 -1
  588. package/dist/data-list-top-DpbOA3uw.js.map +0 -1
  589. package/dist/data-list-top-WGUY167p.cjs.map +0 -1
  590. package/dist/field-error-id-6EfqmQ4C.cjs.map +0 -1
  591. package/dist/field-error-id-DyWx33Fu.js.map +0 -1
  592. package/dist/settings-row-B2IekRyH.js.map +0 -1
  593. package/dist/settings-row-BoAuUUuH.cjs.map +0 -1
  594. package/dist/src/ds/components/Table/utils.d.ts +0 -4
@@ -1,6 +1,7 @@
1
+ import { ReactNode } from 'react';
1
2
  export interface KpiCardViewProps {
2
3
  label: string;
3
- value: string | null;
4
+ value: ReactNode;
4
5
  prevValue?: string;
5
6
  changePct?: number | null;
6
7
  isLoading: boolean;
@@ -1,5 +1,3 @@
1
- export declare function formatCompact(n: number): string;
2
- export declare function formatCost(value: number, unit?: string | null): string;
3
1
  export declare const METRICS_DATA_LIST_PROPS: {
4
2
  className: string;
5
3
  mask: {
@@ -4,6 +4,8 @@ type TraceColumnsMenuProps = {
4
4
  /** Top-level metadata keys observed on traces in the current time range, offered in the picker. */
5
5
  availableMetadataKeys?: readonly string[];
6
6
  usageDisabledReason?: string;
7
+ /** When false (server without the trace-query API), metadata columns can't be added. Defaults to true. */
8
+ withQueryTrace?: boolean;
7
9
  onToggleColumn: (column: TraceOptionalColumn) => void;
8
10
  onAddCustomColumn: (field: TraceCustomColumn) => void;
9
11
  onRemoveCustomColumn: (field: TraceCustomColumn) => void;
@@ -11,5 +13,5 @@ type TraceColumnsMenuProps = {
11
13
  onRemoveMetadataColumn: (key: string) => void;
12
14
  onReset: () => void;
13
15
  };
14
- export declare function TraceColumnsMenu({ preferences, availableMetadataKeys, usageDisabledReason, onToggleColumn, onAddCustomColumn, onRemoveCustomColumn, onAddMetadataColumn, onRemoveMetadataColumn, onReset, }: TraceColumnsMenuProps): import("react").JSX.Element;
16
+ export declare function TraceColumnsMenu({ preferences, availableMetadataKeys, usageDisabledReason, withQueryTrace, onToggleColumn, onAddCustomColumn, onRemoveCustomColumn, onAddMetadataColumn, onRemoveMetadataColumn, onReset, }: TraceColumnsMenuProps): import("react").JSX.Element;
15
17
  export {};
@@ -20,7 +20,7 @@ declare const meta: {
20
20
  initialSpanId?: string | null | undefined;
21
21
  onPrevious?: (() => void) | undefined;
22
22
  onNext?: (() => void) | undefined;
23
- size?: "md" | "full" | "half" | "wide" | undefined;
23
+ size?: "md" | "half" | "wide" | "full" | undefined;
24
24
  depth?: 3 | 1 | 2 | undefined;
25
25
  headerSlot?: import('react').ReactNode;
26
26
  title?: string | undefined;
@@ -8,6 +8,7 @@ export { useTraceSearch, type UseTraceSearchResult } from './use-trace-search';
8
8
  export { useTraceSpans } from './use-trace-spans';
9
9
  export { useTraces } from './use-traces';
10
10
  export { useTraceQuery, type UseTraceQueryArgs, type UseTraceQueryReturn, type TraceQueryArgs, } from './use-trace-query';
11
+ export { useTracesListSource, type UseTracesListSourceArgs } from './use-traces-list-source';
11
12
  export { useTags } from './use-tags';
12
13
  export { useTraceMetadataFilterFields, type TraceMetadataFilterField, type TraceQueryDiscoveryTimeRange, } from './use-trace-metadata-filter-fields';
13
14
  export { useEntityNames } from './use-entity-names';
@@ -1,6 +1,10 @@
1
- import { QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';
1
+ import { MastraClient, QueryTracesKeysetInput, TraceQueryKeysetTraceResponse } from '@mastra/client-js';
2
+ import { buildTraceListFilters } from '../trace-filters';
2
3
  export declare const TRACE_QUERY_PER_PAGE = 25;
3
4
  type TraceQueryTrace = TraceQueryKeysetTraceResponse['traces'][number];
5
+ type LegacyTraceListFilters = ReturnType<typeof buildTraceListFilters>;
6
+ type ListTracesLightResponse = Awaited<ReturnType<MastraClient['listTracesLight']>>;
7
+ type LightSpanRecord = ListTracesLightResponse['spans'][number];
4
8
  export type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;
5
9
  export interface UseTraceQueryArgs {
6
10
  query: TraceQueryArgs | undefined;
@@ -8,6 +12,10 @@ export interface UseTraceQueryArgs {
8
12
  enabled?: boolean;
9
13
  refetchInterval?: number | false;
10
14
  refetchOnWindowFocus?: boolean;
15
+ /** When false, lists traces through the legacy `listTracesLight` endpoint instead of the trace-query API. */
16
+ withQueryTrace?: boolean;
17
+ /** Filters for the legacy endpoint, as built by `buildTraceListFilters`. Only read when `withQueryTrace` is false. */
18
+ legacyFilters?: LegacyTraceListFilters;
11
19
  }
12
20
  export interface UseTraceQueryReturn {
13
21
  data: TraceQueryTrace[] | undefined;
@@ -27,6 +35,15 @@ export declare function getTraceQueryNextPageParam(lastPage: TraceQueryKeysetTra
27
35
  export declare function selectTraceQueryTraces(data: {
28
36
  pages: TraceQueryKeysetTraceResponse[];
29
37
  }): TraceQueryTrace[];
38
+ /** Maps a legacy light root span to a trace-query row. The light record carries no
39
+ * thread/resource/environment, so those stay null. Running spans have no `endedAt` and may carry a
40
+ * status outside the query API's enum; both are kept as-is (the list view handles them), hence the
41
+ * assertion at this compatibility boundary. */
42
+ export declare function lightSpanToTraceQueryTrace(span: LightSpanRecord): TraceQueryTrace;
43
+ export declare function selectLegacyTraceQueryTraces(data: {
44
+ pages: ListTracesLightResponse[];
45
+ }): TraceQueryTrace[];
46
+ export declare function getLegacyTraceQueryNextPageParam(lastPage: ListTracesLightResponse): number | undefined;
30
47
  /** Queries traces with cursor pagination and viewport-driven loading. */
31
- export declare function useTraceQuery({ query, limit, enabled, refetchInterval, refetchOnWindowFocus, }: UseTraceQueryArgs): UseTraceQueryReturn;
48
+ export declare function useTraceQuery({ query, limit, enabled, refetchInterval, refetchOnWindowFocus, withQueryTrace, legacyFilters, }: UseTraceQueryArgs): UseTraceQueryReturn;
32
49
  export {};
@@ -0,0 +1,46 @@
1
+ import { TraceQueryArgs, UseTraceQueryArgs } from './use-trace-query';
2
+ export interface UseTracesListSourceArgs {
3
+ query: (now: Date) => TraceQueryArgs;
4
+ orderBy?: TraceQueryArgs['orderBy'];
5
+ rolling?: boolean;
6
+ initialAutoRefetch?: boolean;
7
+ withQueryTrace?: boolean;
8
+ legacyFilters?: UseTraceQueryArgs['legacyFilters'];
9
+ enabled?: boolean;
10
+ }
11
+ export declare function useTracesListSource({ query: buildQuery, orderBy, rolling, initialAutoRefetch, withQueryTrace, legacyFilters, enabled, }: UseTracesListSourceArgs): {
12
+ rows: import('..').TracesListViewTrace[];
13
+ autoRefetch: boolean;
14
+ setAutoRefetch: import('react').Dispatch<import('react').SetStateAction<boolean>>;
15
+ data: {
16
+ traceId: string;
17
+ rootSpanId: string;
18
+ name: string;
19
+ entityId: string | null;
20
+ parentSpanId: string | null;
21
+ createdAt: string;
22
+ metadata: {
23
+ [x: string]: unknown;
24
+ } | null;
25
+ inputPreview: string | null;
26
+ threadId: string | null;
27
+ resourceId: string | null;
28
+ startedAt: string;
29
+ endedAt: string;
30
+ entityName: string | null;
31
+ entityType: string | null;
32
+ environment: string | null;
33
+ status: "success" | "error";
34
+ }[] | undefined;
35
+ hasNextPage: boolean;
36
+ isFetchingNextPage: boolean;
37
+ fetchNextPage: () => void;
38
+ isLoading: boolean;
39
+ isFetching: boolean;
40
+ isRefetching: boolean;
41
+ fetchStatus: "idle" | "fetching" | "paused";
42
+ isError: boolean;
43
+ error: Error | null;
44
+ refetch: () => void;
45
+ setEndOfListElement: (node: HTMLDivElement | null) => void;
46
+ };
@@ -136,7 +136,7 @@ export declare const traceFilterFieldColor: (fieldId: string) => string;
136
136
  * `running` status, so no chip advertises a filter that has no effect. Hidden
137
137
  * fields are never offered in the input's field step but still label existing
138
138
  * (e.g. scoped, read-only) chips. */
139
- export declare function createTraceFilterBarFields({ availableRootEntityNames, availableEnvironments, hiddenFieldIds, metadataFields, valueSuggestions, }: {
139
+ export declare function createTraceFilterBarFields({ availableRootEntityNames, availableEnvironments, hiddenFieldIds, metadataFields, valueSuggestions, withQueryTrace, }: {
140
140
  availableRootEntityNames: string[];
141
141
  availableEnvironments: string[];
142
142
  hiddenFieldIds?: readonly string[];
@@ -144,6 +144,11 @@ export declare function createTraceFilterBarFields({ availableRootEntityNames, a
144
144
  metadataFields?: readonly TraceMetadataFilterField[];
145
145
  /** Builds a lazy value resolver for a related-scope field (`spans.model`, …). Absent → free text. */
146
146
  valueSuggestions?: (scope: TraceQueryRelatedScope, path: string) => FilterBarSuggestionsResolver;
147
+ /**
148
+ * When false, only fields the legacy list endpoint (`buildTraceListFilters`) can express are offered, each with
149
+ * the `is` operator only: no related-scope (`spans.*`, `scores.*`, `feedback.*`) or metadata fields.
150
+ */
151
+ withQueryTrace?: boolean;
147
152
  }): FilterBarField[];
148
153
  /** One FilterBar item per token, keyed by field id so chip order == URL order.
149
154
  * Empty values ('' / []) are kept: that's a pending chip whose field was just
@@ -2,4 +2,4 @@ export { filterSpansKeepingAncestors } from './filter-spans-keeping-ancestors';
2
2
  export { flattenToSearchText } from './flatten-to-search-text';
3
3
  export { selectSearchableSpans, toSearchableSpans } from './to-searchable-spans';
4
4
  export { getSpanTimingLayout, type SpanTimingLayout } from './span-timing';
5
- export { formatSpanDuration, getInputPreview, isTokenLimitExceeded, getTokenLimitMessage } from './span-utils';
5
+ export { getSpanDurationMs, getInputPreview, isTokenLimitExceeded, getTokenLimitMessage } from './span-utils';
@@ -1,10 +1,5 @@
1
1
  import { SpanRecord } from '../types';
2
- export declare function formatSpanDuration(startedAt: Date | string | null | undefined, endedAt: Date | string | null | undefined): string | undefined;
3
- export declare function formatSpanDurationExact(startedAt: Date | string | null | undefined, endedAt: Date | string | null | undefined): string | undefined;
4
- /** `X.XXX s`, matching the timeline timing column. */
5
- export declare function formatSpanDurationSeconds(startedAt: Date | string | null | undefined, endedAt: Date | string | null | undefined): string | undefined;
6
- export declare function formatSpanTimestamp(value: Date | string | null | undefined): string | undefined;
7
- export declare function formatSpanTimestampExact(value: Date | string | null | undefined): string | undefined;
2
+ export declare function getSpanDurationMs(startedAt: Date | string | null | undefined, endedAt: Date | string | null | undefined): number | undefined;
8
3
  /**
9
4
  * Extract a truncated text preview from a span's input field.
10
5
  * Agent traces store `input` as an array of message objects.
@@ -26,11 +26,11 @@ export declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps &
26
26
  export type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
27
27
  export declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
28
28
  declare const cardContentVariants: (props?: ({
29
- density?: "default" | "compact" | null | undefined;
29
+ density?: "compact" | "default" | null | undefined;
30
30
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
31
31
  export type CardContentProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardContentVariants>;
32
32
  export declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
33
- density?: "default" | "compact" | null | undefined;
33
+ density?: "compact" | "default" | null | undefined;
34
34
  } & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
35
35
  export type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;
36
36
  export declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,6 @@
1
+ import { CompactNumberFormatOptions } from '../../../lib/cost';
2
+ export interface CompactNumberProps extends CompactNumberFormatOptions {
3
+ value: number;
4
+ className?: string;
5
+ }
6
+ export declare function CompactNumber({ value, currency, className }: CompactNumberProps): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { CompactNumber } from './compact-number';
3
+ declare const meta: Meta<typeof CompactNumber>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof CompactNumber>;
6
+ export declare const Default: Story;
7
+ export declare const Money: Story;
@@ -0,0 +1 @@
1
+ export * from './compact-number';
@@ -39,12 +39,13 @@ export type DataListNumberCellProps = DataListCellProps & {
39
39
  * primary metric in a row (e.g. a total or headline number).
40
40
  */
41
41
  highlight?: boolean;
42
+ font?: 'sans' | 'mono';
42
43
  };
43
44
  /**
44
45
  * Right-aligned numeric cell with tabular figures, for metric and summary
45
46
  * tables. Pass `highlight` for the emphasized column.
46
47
  */
47
- export declare function DataListNumberCell({ children, className, highlight, ...rest }: DataListNumberCellProps): import("react").JSX.Element;
48
+ export declare function DataListNumberCell({ children, className, highlight, font, ...rest }: DataListNumberCellProps): import("react").JSX.Element;
48
49
  export interface DataListIdCellProps {
49
50
  id: string;
50
51
  }
@@ -65,12 +66,12 @@ export declare function DataListSelectCell({ checked, onToggle, disabled, ...res
65
66
  export interface DataListDateCellProps {
66
67
  timestamp: Date | string;
67
68
  }
68
- /** Compact date cell — `Today` or `MMM dd` (e.g. `May 19`). */
69
+ /** Compact date cell — `Today`, `May 19` or `May 19, 2025`. */
69
70
  export declare function DataListDateCell({ timestamp }: DataListDateCellProps): import("react").JSX.Element;
70
71
  export interface DataListCreatedCellProps {
71
72
  timestamp: Date | string;
72
73
  }
73
- /** Compact date + time cell — always `MMM d HH:mm:ss` (e.g. `Aug 31 13:07:47`), 24h, no milliseconds. */
74
+ /** Locale-aware date and time cell with second precision. */
74
75
  export declare function DataListCreatedCell({ timestamp }: DataListCreatedCellProps): import("react").JSX.Element;
75
76
  export interface DataListTimeCellProps {
76
77
  timestamp: Date | string;
@@ -0,0 +1 @@
1
+ export * from './inline-code';
@@ -0,0 +1,3 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export type InlineCodeProps = HTMLAttributes<HTMLElement>;
3
+ export declare const InlineCode: ({ className, ...props }: InlineCodeProps) => import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { InlineCode } from './inline-code';
3
+ declare const meta: Meta<typeof InlineCode>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof InlineCode>;
6
+ export declare const Default: Story;
7
+ /**
8
+ * Inline code takes the size of the text around it, so one component works in body copy,
9
+ * captions, and table cells.
10
+ */
11
+ export declare const InText: Story;
12
+ /** Code that runs past one line is a highlighted `CodeBlock`, not inline code. */
13
+ export declare const WithCodeBlock: Story;
@@ -1,6 +1,7 @@
1
+ import { DatePreset } from '../../../utils/date-format';
1
2
  export type ItemListDateCellProps = {
2
3
  date: Date | string | null;
3
4
  className?: string;
4
- withTime?: boolean;
5
+ preset?: DatePreset;
5
6
  };
6
- export declare function ItemListDateCell({ date, className, withTime }: ItemListDateCellProps): import("react").JSX.Element;
7
+ export declare function ItemListDateCell({ date, className, preset }: ItemListDateCellProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './relative-timestamp';
@@ -0,0 +1,6 @@
1
+ import { DateInput } from '../../../utils/date-format';
2
+ export interface RelativeTimestampProps {
3
+ value: DateInput;
4
+ className?: string;
5
+ }
6
+ export declare function RelativeTimestamp({ value, className }: RelativeTimestampProps): import("react").JSX.Element | null;
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { RelativeTimestamp } from './relative-timestamp';
3
+ declare const meta: Meta<typeof RelativeTimestamp>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof RelativeTimestamp>;
6
+ export declare const Default: Story;
7
+ export declare const Scale: Story;
@@ -1,5 +1,5 @@
1
- export type StatusTone = 'success' | 'progress' | 'error' | 'idle' | 'neutral';
2
- export type StatusDotGlyph = 'circle' | 'square' | 'dashed';
1
+ export type StatusTone = 'success' | 'progress' | 'error' | 'neutral';
2
+ export type StatusDotGlyph = 'filled' | 'ring';
3
3
  export type StatusPresentation = {
4
4
  label: string;
5
5
  tone: StatusTone;
@@ -7,5 +7,34 @@ export type StatusPresentation = {
7
7
  description: string;
8
8
  };
9
9
  export type StatusPresentationFn<T> = (status: T | null) => StatusPresentation;
10
+ export type DeployState = 'ready' | 'building' | 'idle' | 'queued' | 'stopped' | 'error';
11
+ export declare const deployStates: {
12
+ ready: {
13
+ label: string;
14
+ tone: "success";
15
+ };
16
+ building: {
17
+ label: string;
18
+ tone: "progress";
19
+ };
20
+ idle: {
21
+ label: string;
22
+ tone: "neutral";
23
+ glyph: "ring";
24
+ };
25
+ queued: {
26
+ label: string;
27
+ tone: "neutral";
28
+ glyph: "ring";
29
+ };
30
+ stopped: {
31
+ label: string;
32
+ tone: "neutral";
33
+ };
34
+ error: {
35
+ label: string;
36
+ tone: "error";
37
+ };
38
+ };
10
39
  export declare function statusToneFill(tone: StatusTone): string;
11
40
  export declare function statusDotClass({ tone, glyph }: Pick<StatusPresentation, 'tone' | 'glyph'>, className?: string): string;
@@ -1,9 +1,8 @@
1
1
  import { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { StatusDot } from './status-dot';
3
- declare const STATUSES: readonly ["success", "progress", "error", "idle", "stopped", "unknown"];
4
- type StoryStatus = (typeof STATUSES)[number];
5
- declare const meta: Meta<typeof StatusDot<StoryStatus>>;
3
+ import { DeployState } from './status-dot-styles';
4
+ declare const meta: Meta<typeof StatusDot<DeployState>>;
6
5
  export default meta;
7
6
  type Story = StoryObj<typeof meta>;
8
7
  export declare const Default: Story;
9
- export declare const Tones: Story;
8
+ export declare const States: Story;
@@ -1,7 +1,6 @@
1
- import { ComponentPropsWithoutRef, ReactNode } from 'react';
1
+ import { ComponentPropsWithoutRef } from 'react';
2
2
  import { StatusPresentation } from './status-dot-styles';
3
3
  export type StatusProps = Omit<ComponentPropsWithoutRef<'span'>, 'children'> & {
4
4
  presentation: StatusPresentation;
5
- children?: ReactNode;
6
5
  };
7
- export declare function Status({ presentation, children, className, ...props }: StatusProps): import("react").JSX.Element;
6
+ export declare function Status({ presentation, className, ...props }: StatusProps): import("react").JSX.Element;
@@ -4,4 +4,5 @@ declare const meta: Meta<typeof Status>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof meta>;
6
6
  export declare const Default: Story;
7
- export declare const TextSlot: Story;
7
+ export declare const Inherited: Story;
8
+ export declare const InContext: Story;
@@ -5,12 +5,16 @@ export interface TxtProps extends HTMLAttributes<HTMLDivElement | HTMLLabelEleme
5
5
  ref?: Ref<HTMLElement>;
6
6
  variant?: TextRole;
7
7
  tone?: keyof typeof tones;
8
- font?: 'mono';
8
+ font?: keyof typeof fonts;
9
9
  htmlFor?: string;
10
10
  className?: string;
11
11
  title?: string;
12
12
  children?: ReactNode;
13
13
  }
14
+ declare const fonts: {
15
+ body: string;
16
+ mono: string;
17
+ };
14
18
  declare const tones: {
15
19
  ink: string;
16
20
  muted: string;
@@ -6,10 +6,12 @@ export type SettingsRowProps = Omit<ComponentProps<'div'>, 'children'> & {
6
6
  children?: ReactNode;
7
7
  tone?: 'default' | 'destructive';
8
8
  viewOnly?: boolean;
9
+ required?: boolean;
10
+ errorMsg?: ReactNode;
9
11
  };
10
12
  type SettingsRowLayoutProps = SettingsRowProps & {
11
13
  layout: 'factory' | 'standalone' | 'section';
12
14
  };
13
- export declare function SettingsRowLayout({ label, description, htmlFor, children, className, layout, tone, viewOnly, ...props }: SettingsRowLayoutProps): import("react").JSX.Element;
15
+ export declare function SettingsRowLayout({ label, description, htmlFor, children, className, layout, tone, viewOnly, required, errorMsg, ...props }: SettingsRowLayoutProps): import("react").JSX.Element;
14
16
  export declare function SettingsRow(props: SettingsRowProps): import("react").JSX.Element;
15
17
  export {};
@@ -296,5 +296,6 @@ type Story = StoryObj<typeof meta>;
296
296
  export declare const General: Story;
297
297
  export declare const Connection: Story;
298
298
  export declare const Permissions: Story;
299
+ export declare const Validation: Story;
299
300
  export declare const Page: Story;
300
301
  export declare const PageHeaderOnly: Story;
@@ -0,0 +1,17 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ declare function ElapsedTimeDemo(): import("react").JSX.Element;
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof ElapsedTimeDemo;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ };
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ /** Milliseconds elapsed since `isActive` became true (or since `startTime`), refreshed every 100ms. */
2
+ export declare function useElapsedTime(isActive: boolean, startTime?: number): number;
@@ -0,0 +1,6 @@
1
+ export interface CompactNumberFormatOptions {
2
+ currency?: string;
3
+ }
4
+ export declare function formatCompactNumber(value: number, { currency }?: CompactNumberFormatOptions): string;
5
+ export declare function formatFullNumber(value: number, { currency }?: CompactNumberFormatOptions): string;
6
+ export declare function formatCost(value: number, unit?: string | null): string;
@@ -0,0 +1 @@
1
+ export * from '../lib/cost';
@@ -0,0 +1,28 @@
1
+ export type DateInput = Date | string | number | null | undefined;
2
+ export type DatePreset = 'date' | 'date-time' | 'date-time-seconds' | 'time' | 'time-seconds' | 'relative-time';
3
+ type FormatOptions = {
4
+ locale?: string;
5
+ now?: Date | number;
6
+ timeZone?: string;
7
+ };
8
+ export declare function toDate(value: DateInput): Date | undefined;
9
+ /** Short absolute date without time: `Sep 24` this year, `Sep 24, 2025` otherwise. */
10
+ export declare function formatShortDate(value: DateInput, { locale, now, timeZone }?: FormatOptions): string | undefined;
11
+ /**
12
+ * Uses the browser locale unless `locale` is given.
13
+ * - `date`: date only; omits the year when it matches `now` in the requested timezone
14
+ * - `date-time`: date, year and time to minutes, including historical dates
15
+ * - `date-time-seconds`: date, year and time to seconds
16
+ * - `time`: time to minutes, without a date
17
+ * - `time-seconds`: time to seconds, without a date
18
+ * - `relative-time`: short relative label; delegates to `date` at seven days
19
+ */
20
+ export declare function formatDate(value: DateInput, preset: DatePreset, options?: FormatOptions): string | undefined;
21
+ /** Locale-aware compact date range, e.g. `Sep 2 – 5, 2026`. */
22
+ export declare function formatDateRange(start: DateInput, end: DateInput, options?: Omit<FormatOptions, 'now'>): string | undefined;
23
+ /** Date and time down to milliseconds, for trace debugging. `withDate: false` keeps only the time. */
24
+ export declare function formatTimestampPrecise(value: DateInput, { locale, withDate }?: {
25
+ locale?: string;
26
+ withDate?: boolean;
27
+ }): string | undefined;
28
+ export {};
@@ -1 +1,7 @@
1
- export declare function formatDuration(durationMs: number): string | undefined;
1
+ export declare function formatDuration(durationMs: number | null | undefined, { signed }?: {
2
+ signed?: boolean;
3
+ }): string | undefined;
4
+ /** Millisecond-precise duration for span timelines: `123 ms`, `1.234 s`. */
5
+ export declare function formatDurationPrecise(durationMs: number | null | undefined): string | undefined;
6
+ /** Live counter label with a fixed decimal so the width stays stable: `3.2s`. */
7
+ export declare function formatElapsed(elapsedMs: number): string;
@@ -0,0 +1,7 @@
1
+ import { DateInput } from './date-format';
2
+ /** Short relative label (`5m ago`, `in 5m`); falls back to an absolute date beyond 7 days. */
3
+ export declare function formatRelativeTime(value: DateInput, options?: {
4
+ now?: Date | number;
5
+ locale?: string;
6
+ timeZone?: string;
7
+ }): string | undefined;
package/dist/style.css CHANGED
@@ -561,6 +561,14 @@
561
561
  border-color: var(--border);
562
562
  }
563
563
 
564
+ :where(code, samp, pre, .font-mono) {
565
+ font-size-adjust: var(--font-mono-size-adjust, none);
566
+ }
567
+
568
+ kbd {
569
+ font-size-adjust: none;
570
+ }
571
+
564
572
  body {
565
573
  background-color: var(--sidebar);
566
574
  color: var(--foreground);
@@ -1643,6 +1651,10 @@
1643
1651
  margin-top: calc(var(--spacing) * .5);
1644
1652
  }
1645
1653
 
1654
+ .mt-0\.75 {
1655
+ margin-top: calc(var(--spacing) * .75);
1656
+ }
1657
+
1646
1658
  .mt-1 {
1647
1659
  margin-top: var(--spacing);
1648
1660
  }
@@ -4565,7 +4577,7 @@
4565
4577
  }
4566
4578
  }
4567
4579
 
4568
- .border-notice-destructive\/20 {
4580
+ .border-notice-destructive, .border-notice-destructive\/20 {
4569
4581
  border-color: var(--color-notice-destructive);
4570
4582
  }
4571
4583
 
@@ -4585,7 +4597,7 @@
4585
4597
  }
4586
4598
  }
4587
4599
 
4588
- .border-notice-success\/20 {
4600
+ .border-notice-success, .border-notice-success\/20 {
4589
4601
  border-color: var(--color-notice-success);
4590
4602
  }
4591
4603
 
@@ -4595,7 +4607,7 @@
4595
4607
  }
4596
4608
  }
4597
4609
 
4598
- .border-notice-warning\/20 {
4610
+ .border-notice-warning, .border-notice-warning\/20 {
4599
4611
  border-color: var(--color-notice-warning);
4600
4612
  }
4601
4613
 
@@ -5365,7 +5377,7 @@
5365
5377
  }
5366
5378
  }
5367
5379
 
5368
- .bg-notice-info, .bg-notice-info\/20 {
5380
+ .bg-notice-info\/20 {
5369
5381
  background-color: var(--color-notice-info);
5370
5382
  }
5371
5383
 
@@ -5680,6 +5692,11 @@
5680
5692
  mask-image: linear-gradient(#000, #000), linear-gradient(#000 40%, #0000), linear-gradient(to top, #000 40%, #0000);
5681
5693
  }
5682
5694
 
5695
+ .box-decoration-clone {
5696
+ -webkit-box-decoration-break: clone;
5697
+ box-decoration-break: clone;
5698
+ }
5699
+
5683
5700
  .bg-size-\[0\%_1px\] {
5684
5701
  background-size: 0% 1px;
5685
5702
  }
@@ -10582,6 +10599,10 @@
10582
10599
  display: none;
10583
10600
  }
10584
10601
 
10602
+ .sm\:inline {
10603
+ display: inline;
10604
+ }
10605
+
10585
10606
  .sm\:inline-flex {
10586
10607
  display: inline-flex;
10587
10608
  }
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { I as Input } from './input-CHghVv3k.js';
3
- import { F as FieldBlock, f as fieldErrorId } from './field-error-id-DyWx33Fu.js';
3
+ import { F as FieldBlock, f as fieldErrorId } from './field-error-id-DD7OARLU.js';
4
4
  import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
5
5
 
6
6
  function TextFieldBlock({
@@ -52,4 +52,4 @@ function TextFieldBlock({
52
52
  }
53
53
 
54
54
  export { TextFieldBlock as T };
55
- //# sourceMappingURL=text-field-block-DGIM1i3Z.js.map
55
+ //# sourceMappingURL=text-field-block-BYPiO9h4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field-block-DGIM1i3Z.js","sources":["../src/ds/components/FormFieldBlocks/fields/text-field-block.tsx"],"sourcesContent":["import { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { fieldErrorId } from '../block/field-error-id';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type TextFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Omit<InputProps, 'name' | 'size'> & {\n name: string;\n labelIsHidden?: boolean;\n label?: FieldBlockLabelProps['children'];\n labelSize?: FieldBlockLabelProps['size'];\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n size?: InputProps['size'];\n };\n\nexport function TextFieldBlock({\n name,\n value,\n label,\n labelIsHidden = false,\n labelColumnWidth,\n helpText,\n error,\n errorMsg,\n required = false,\n disabled = false,\n labelSize,\n layout = 'vertical',\n placeholder,\n size = 'md',\n testId,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: TextFieldBlockProps) {\n const describedBy =\n [ariaDescribedBy, errorMsg ? fieldErrorId(name) : undefined].filter(Boolean).join(' ') || undefined;\n\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'bigger'}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {!labelIsHidden && layout === 'vertical' ? (\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'default'}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <FieldBlock.Column className=\"gap-1\">\n <Input\n id={`input-${name}`}\n name={name}\n disabled={disabled}\n required={required}\n value={value}\n placeholder={placeholder}\n data-testid={testId}\n size={size}\n error={error || Boolean(errorMsg)}\n aria-describedby={describedBy}\n {...props}\n />\n {helpText || errorMsg ? <FieldBlock.Message name={name} helpText={helpText} errorMsg={errorMsg} /> : null}\n </FieldBlock.Column>\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":[],"mappings":";;;;;AAqBO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT,WAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,MAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,CAAC,eAAA,EAAiB,QAAA,GAAW,aAAa,IAAI,CAAA,GAAI,MAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,MAAA;AAE5F,EAAA,4BACG,UAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,YAAA,uBACT,UAAA,CAAW,MAAA,EAAX,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,UAAoB,IAAA,EAAM,SAAA,IAAa,UACtF,QAAA,EAAA,aAAA,mBAAgB,GAAA,CAAC,kBAAgB,QAAA,EAAA,KAAA,EAAM,CAAA,GAAoB,KAAA,EAC9D,CAAA,EACF,CAAA,GACE,IAAA;AAAA,oBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,CAAC,aAAA,IAAiB,MAAA,KAAW,UAAA,mBAC5B,GAAA,CAAC,WAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,IAAA,EAAM,SAAA,IAAa,SAAA,EACtF,iBACH,CAAA,GACE,IAAA;AAAA,sBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EAAkB,WAAU,OAAA,EAC3B,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI,SAAS,IAAI,CAAA,CAAA;AAAA,YACjB,IAAA;AAAA,YACA,QAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA;AAAA,YACA,WAAA;AAAA,YACA,aAAA,EAAa,MAAA;AAAA,YACb,IAAA;AAAA,YACA,KAAA,EAAO,KAAA,IAAS,OAAA,CAAQ,QAAQ,CAAA;AAAA,YAChC,kBAAA,EAAkB,WAAA;AAAA,YACjB,GAAG;AAAA;AAAA,SACN;AAAA,QACC,QAAA,IAAY,2BAAW,GAAA,CAAC,UAAA,CAAW,SAAX,EAAmB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,CAAA,GAAK;AAAA,OAAA,EACvG;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"text-field-block-BYPiO9h4.js","sources":["../src/ds/components/FormFieldBlocks/fields/text-field-block.tsx"],"sourcesContent":["import { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { fieldErrorId } from '../block/field-error-id';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type TextFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Omit<InputProps, 'name' | 'size'> & {\n name: string;\n labelIsHidden?: boolean;\n label?: FieldBlockLabelProps['children'];\n labelSize?: FieldBlockLabelProps['size'];\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n size?: InputProps['size'];\n };\n\nexport function TextFieldBlock({\n name,\n value,\n label,\n labelIsHidden = false,\n labelColumnWidth,\n helpText,\n error,\n errorMsg,\n required = false,\n disabled = false,\n labelSize,\n layout = 'vertical',\n placeholder,\n size = 'md',\n testId,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: TextFieldBlockProps) {\n const describedBy =\n [ariaDescribedBy, errorMsg ? fieldErrorId(name) : undefined].filter(Boolean).join(' ') || undefined;\n\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'bigger'}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {!labelIsHidden && layout === 'vertical' ? (\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'default'}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <FieldBlock.Column className=\"gap-1\">\n <Input\n id={`input-${name}`}\n name={name}\n disabled={disabled}\n required={required}\n value={value}\n placeholder={placeholder}\n data-testid={testId}\n size={size}\n error={error || Boolean(errorMsg)}\n aria-describedby={describedBy}\n {...props}\n />\n {helpText || errorMsg ? <FieldBlock.Message name={name} helpText={helpText} errorMsg={errorMsg} /> : null}\n </FieldBlock.Column>\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":[],"mappings":";;;;;AAqBO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT,WAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,MAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,CAAC,eAAA,EAAiB,QAAA,GAAW,aAAa,IAAI,CAAA,GAAI,MAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,MAAA;AAE5F,EAAA,4BACG,UAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,YAAA,uBACT,UAAA,CAAW,MAAA,EAAX,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,UAAoB,IAAA,EAAM,SAAA,IAAa,UACtF,QAAA,EAAA,aAAA,mBAAgB,GAAA,CAAC,kBAAgB,QAAA,EAAA,KAAA,EAAM,CAAA,GAAoB,KAAA,EAC9D,CAAA,EACF,CAAA,GACE,IAAA;AAAA,oBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,CAAC,aAAA,IAAiB,MAAA,KAAW,UAAA,mBAC5B,GAAA,CAAC,WAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,IAAA,EAAM,SAAA,IAAa,SAAA,EACtF,iBACH,CAAA,GACE,IAAA;AAAA,sBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EAAkB,WAAU,OAAA,EAC3B,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI,SAAS,IAAI,CAAA,CAAA;AAAA,YACjB,IAAA;AAAA,YACA,QAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA;AAAA,YACA,WAAA;AAAA,YACA,aAAA,EAAa,MAAA;AAAA,YACb,IAAA;AAAA,YACA,KAAA,EAAO,KAAA,IAAS,OAAA,CAAQ,QAAQ,CAAA;AAAA,YAChC,kBAAA,EAAkB,WAAA;AAAA,YACjB,GAAG;AAAA;AAAA,SACN;AAAA,QACC,QAAA,IAAY,2BAAW,GAAA,CAAC,UAAA,CAAW,SAAX,EAAmB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,CAAA,GAAK;AAAA,OAAA,EACvG;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}