@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
@@ -6,12 +6,13 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const observability = require('@mastra/core/observability');
7
7
  const domains_traces_components_spanPayload_spanPayloadAttachment = require('./span-payload-attachment.cjs.js');
8
8
  const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
9
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
9
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
10
10
  const domains_traces_components_spanPayload_spanPayloadProcessor = require('./span-payload-processor.cjs.js');
11
11
  const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
12
12
  const domains_chat_messages_reasoning = require('../../../chat/messages/reasoning.cjs.js');
13
13
  const Card = require('../../../../Card-BbwF20OW.cjs');
14
14
  const dataKeysAndValues = require('../../../../data-keys-and-values-CMJ9zHKm.cjs');
15
+ const inlineCode = require('../../../../inline-code-CSwG-x8D.cjs');
15
16
  const Notice = require('../../../../Notice-AUNd8fqT.cjs');
16
17
 
17
18
  function SpanTextRenderer({ value }) {
@@ -40,7 +41,7 @@ function SpanAgentRunResultRenderer({ value }) {
40
41
  value.tripwire.reason && /* @__PURE__ */ jsxRuntime.jsx(Notice.Notice.Message, { children: value.tripwire.reason }),
41
42
  value.tripwire.processorId && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-caption", children: [
42
43
  "Processor ",
43
- /* @__PURE__ */ jsxRuntime.jsx("code", { className: "font-mono", children: value.tripwire.processorId })
44
+ /* @__PURE__ */ jsxRuntime.jsx(inlineCode.InlineCode, { children: value.tripwire.processorId })
44
45
  ] })
45
46
  ] }),
46
47
  typeof value.text === "string" && value.text.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_spanPayload_spanPayloadTool.SpanPayloadMarkdown, { children: value.text }),
@@ -1 +1 @@
1
- {"version":3,"file":"span-output-renderers.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-output-renderers.tsx"],"sourcesContent":["import { describeSpanOutput } from '@mastra/core/observability';\nimport type {\n AgentRunResult,\n InterruptedSpanOutput,\n ModelGenerationResult,\n ModelStepResult,\n SpanOutputDescription,\n} from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadAttachment } from './span-payload-attachment';\nimport { SpanPayloadJson } from './span-payload-json';\nimport {\n SpanPayloadCollapsible,\n SpanPayloadField,\n SpanPayloadMarkdown,\n SpanPayloadToolCalls,\n} from './span-payload-primitives';\nimport { SpanPayloadProcessor } from './span-payload-processor';\nimport { asCoreSpan, hasItems, pickRenderer } from './span-payload-registry';\nimport type { PayloadRegistry } from './span-payload-registry';\nimport { Reasoning } from '@/domains/chat/messages/reasoning';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\n\nfunction SpanTextRenderer({ value }: { value: string }) {\n return <SpanPayloadMarkdown>{value}</SpanPayloadMarkdown>;\n}\n\nfunction SpanInterruptedRenderer({ value }: { value: InterruptedSpanOutput }) {\n const title = value.status === 'suspended' ? 'Suspended' : 'Aborted';\n const hasTarget = value.toolName !== undefined || value.toolCallId !== undefined;\n return (\n <div data-slot=\"span-interrupted\" data-status={value.status} className=\"flex flex-col gap-3\">\n <Notice variant=\"warning\" title={title}>\n {value.reason && <Notice.Message>{value.reason}</Notice.Message>}\n </Notice>\n {hasTarget && (\n <DataKeysAndValues>\n {value.toolName !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{value.toolName}</DataKeysAndValues.Value>\n </>\n )}\n {value.toolCallId !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool call id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyValue={value.toolCallId}>\n {value.toolCallId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </DataKeysAndValues>\n )}\n </div>\n );\n}\n\nfunction SpanAgentRunResultRenderer({ value }: { value: AgentRunResult }) {\n return (\n <div data-slot=\"span-agent-run-result\" className=\"flex flex-col gap-3\">\n {value.tripwire && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {value.tripwire.reason && <Notice.Message>{value.tripwire.reason}</Notice.Message>}\n {value.tripwire.processorId && (\n <div className=\"text-caption\">\n Processor <code className=\"font-mono\">{value.tripwire.processorId}</code>\n </div>\n )}\n </Notice>\n )}\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelGenerationResultRenderer({ value }: { value: ModelGenerationResult }) {\n return (\n <div data-slot=\"span-model-generation-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {typeof value.reasoningText === 'string' && <Reasoning text={value.reasoningText} />}\n {value.reasoning !== undefined && (\n <SpanPayloadCollapsible label=\"Reasoning details\">\n <SpanPayloadJson value={value.reasoning} />\n </SpanPayloadCollapsible>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {hasItems(value.sources) && (\n <SpanPayloadCollapsible label={`Sources (${value.sources.length})`}>\n <SpanPayloadJson value={value.sources} />\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.warnings) && (\n <SpanPayloadCollapsible label={`Warnings (${value.warnings.length})`}>\n <SpanPayloadJson value={value.warnings} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelStepResultRenderer({ value }: { value: ModelStepResult }) {\n return (\n <div data-slot=\"span-model-step-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.steps) && (\n <SpanPayloadCollapsible label={`Steps (${value.steps.length})`}>\n <SpanPayloadJson value={value.steps} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\n/** One renderer per `describeSpanOutput` tag; see `SPAN_INPUT_RENDERERS`. */\nconst SPAN_OUTPUT_RENDERERS = {\n interrupted: SpanInterruptedRenderer,\n 'agent-run-result': SpanAgentRunResultRenderer,\n 'model-generation-result': SpanModelGenerationResultRenderer,\n 'model-step-result': SpanModelStepResultRenderer,\n processor: SpanPayloadProcessor,\n text: SpanTextRenderer,\n json: SpanPayloadJson,\n} satisfies PayloadRegistry<SpanOutputDescription>;\n\nexport interface SpanOutputRendererProps {\n span: SpanRecord;\n}\n\n/** Renders a span's output through the registry; `null` when the span recorded none. */\nexport function SpanOutputRenderer({ span }: SpanOutputRendererProps) {\n const description = describeSpanOutput(asCoreSpan(span));\n if (!description) return null;\n if (description.type === 'json') return <SpanPayloadJson value={description.value} />;\n const Renderer = pickRenderer(SPAN_OUTPUT_RENDERERS, description);\n return (\n <Card data-slot=\"span-output-card\" className=\"min-w-0\">\n <CardContent>\n <Renderer value={description.value} />\n </CardContent>\n </Card>\n );\n}\n"],"names":["jsx","SpanPayloadMarkdown","jsxs","Notice","DataKeysAndValues","Fragment","SpanPayloadField","SpanPayloadJson","hasItems","SpanPayloadCollapsible","SpanPayloadAttachment","Reasoning","SpanPayloadToolCalls","SpanPayloadProcessor","describeSpanOutput","asCoreSpan","pickRenderer","Card","CardContent"],"mappings":"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"}
1
+ {"version":3,"file":"span-output-renderers.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-output-renderers.tsx"],"sourcesContent":["import { describeSpanOutput } from '@mastra/core/observability';\nimport type {\n AgentRunResult,\n InterruptedSpanOutput,\n ModelGenerationResult,\n ModelStepResult,\n SpanOutputDescription,\n} from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadAttachment } from './span-payload-attachment';\nimport { SpanPayloadJson } from './span-payload-json';\nimport {\n SpanPayloadCollapsible,\n SpanPayloadField,\n SpanPayloadMarkdown,\n SpanPayloadToolCalls,\n} from './span-payload-primitives';\nimport { SpanPayloadProcessor } from './span-payload-processor';\nimport { asCoreSpan, hasItems, pickRenderer } from './span-payload-registry';\nimport type { PayloadRegistry } from './span-payload-registry';\nimport { Reasoning } from '@/domains/chat/messages/reasoning';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { InlineCode } from '@/ds/components/InlineCode/inline-code';\nimport { Notice } from '@/ds/components/Notice';\n\nfunction SpanTextRenderer({ value }: { value: string }) {\n return <SpanPayloadMarkdown>{value}</SpanPayloadMarkdown>;\n}\n\nfunction SpanInterruptedRenderer({ value }: { value: InterruptedSpanOutput }) {\n const title = value.status === 'suspended' ? 'Suspended' : 'Aborted';\n const hasTarget = value.toolName !== undefined || value.toolCallId !== undefined;\n return (\n <div data-slot=\"span-interrupted\" data-status={value.status} className=\"flex flex-col gap-3\">\n <Notice variant=\"warning\" title={title}>\n {value.reason && <Notice.Message>{value.reason}</Notice.Message>}\n </Notice>\n {hasTarget && (\n <DataKeysAndValues>\n {value.toolName !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{value.toolName}</DataKeysAndValues.Value>\n </>\n )}\n {value.toolCallId !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool call id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyValue={value.toolCallId}>\n {value.toolCallId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </DataKeysAndValues>\n )}\n </div>\n );\n}\n\nfunction SpanAgentRunResultRenderer({ value }: { value: AgentRunResult }) {\n return (\n <div data-slot=\"span-agent-run-result\" className=\"flex flex-col gap-3\">\n {value.tripwire && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {value.tripwire.reason && <Notice.Message>{value.tripwire.reason}</Notice.Message>}\n {value.tripwire.processorId && (\n <div className=\"text-caption\">\n Processor <InlineCode>{value.tripwire.processorId}</InlineCode>\n </div>\n )}\n </Notice>\n )}\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelGenerationResultRenderer({ value }: { value: ModelGenerationResult }) {\n return (\n <div data-slot=\"span-model-generation-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {typeof value.reasoningText === 'string' && <Reasoning text={value.reasoningText} />}\n {value.reasoning !== undefined && (\n <SpanPayloadCollapsible label=\"Reasoning details\">\n <SpanPayloadJson value={value.reasoning} />\n </SpanPayloadCollapsible>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {hasItems(value.sources) && (\n <SpanPayloadCollapsible label={`Sources (${value.sources.length})`}>\n <SpanPayloadJson value={value.sources} />\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.warnings) && (\n <SpanPayloadCollapsible label={`Warnings (${value.warnings.length})`}>\n <SpanPayloadJson value={value.warnings} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelStepResultRenderer({ value }: { value: ModelStepResult }) {\n return (\n <div data-slot=\"span-model-step-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.steps) && (\n <SpanPayloadCollapsible label={`Steps (${value.steps.length})`}>\n <SpanPayloadJson value={value.steps} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\n/** One renderer per `describeSpanOutput` tag; see `SPAN_INPUT_RENDERERS`. */\nconst SPAN_OUTPUT_RENDERERS = {\n interrupted: SpanInterruptedRenderer,\n 'agent-run-result': SpanAgentRunResultRenderer,\n 'model-generation-result': SpanModelGenerationResultRenderer,\n 'model-step-result': SpanModelStepResultRenderer,\n processor: SpanPayloadProcessor,\n text: SpanTextRenderer,\n json: SpanPayloadJson,\n} satisfies PayloadRegistry<SpanOutputDescription>;\n\nexport interface SpanOutputRendererProps {\n span: SpanRecord;\n}\n\n/** Renders a span's output through the registry; `null` when the span recorded none. */\nexport function SpanOutputRenderer({ span }: SpanOutputRendererProps) {\n const description = describeSpanOutput(asCoreSpan(span));\n if (!description) return null;\n if (description.type === 'json') return <SpanPayloadJson value={description.value} />;\n const Renderer = pickRenderer(SPAN_OUTPUT_RENDERERS, description);\n return (\n <Card data-slot=\"span-output-card\" className=\"min-w-0\">\n <CardContent>\n <Renderer value={description.value} />\n </CardContent>\n </Card>\n );\n}\n"],"names":["jsx","SpanPayloadMarkdown","jsxs","Notice","DataKeysAndValues","Fragment","InlineCode","SpanPayloadField","SpanPayloadJson","hasItems","SpanPayloadCollapsible","SpanPayloadAttachment","Reasoning","SpanPayloadToolCalls","SpanPayloadProcessor","describeSpanOutput","asCoreSpan","pickRenderer","Card","CardContent"],"mappings":"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"}
@@ -2,12 +2,13 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { describeSpanOutput } from '@mastra/core/observability';
3
3
  import { SpanPayloadAttachment } from './span-payload-attachment.es.js';
4
4
  import { SpanPayloadJson } from './span-payload-json.es.js';
5
- import { a as SpanPayloadMarkdown, S as SpanPayloadField, b as SpanPayloadToolCalls, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-Buq9V8nK.js';
5
+ import { a as SpanPayloadMarkdown, S as SpanPayloadField, b as SpanPayloadToolCalls, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-Dmzm3mb2.js';
6
6
  import { SpanPayloadProcessor } from './span-payload-processor.es.js';
7
7
  import { asCoreSpan, pickRenderer, hasItems } from './span-payload-registry.es.js';
8
8
  import { Reasoning } from '../../../chat/messages/reasoning.es.js';
9
9
  import { C as Card, a as CardContent } from '../../../../Card-DmT57Pve.js';
10
10
  import { D as DataKeysAndValues } from '../../../../data-keys-and-values-BTYDB-K2.js';
11
+ import { I as InlineCode } from '../../../../inline-code-BW6W121s.js';
11
12
  import { N as Notice } from '../../../../Notice-WT8G4OA6.js';
12
13
 
13
14
  function SpanTextRenderer({ value }) {
@@ -36,7 +37,7 @@ function SpanAgentRunResultRenderer({ value }) {
36
37
  value.tripwire.reason && /* @__PURE__ */ jsx(Notice.Message, { children: value.tripwire.reason }),
37
38
  value.tripwire.processorId && /* @__PURE__ */ jsxs("div", { className: "text-caption", children: [
38
39
  "Processor ",
39
- /* @__PURE__ */ jsx("code", { className: "font-mono", children: value.tripwire.processorId })
40
+ /* @__PURE__ */ jsx(InlineCode, { children: value.tripwire.processorId })
40
41
  ] })
41
42
  ] }),
42
43
  typeof value.text === "string" && value.text.length > 0 && /* @__PURE__ */ jsx(SpanPayloadMarkdown, { children: value.text }),
@@ -1 +1 @@
1
- {"version":3,"file":"span-output-renderers.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-output-renderers.tsx"],"sourcesContent":["import { describeSpanOutput } from '@mastra/core/observability';\nimport type {\n AgentRunResult,\n InterruptedSpanOutput,\n ModelGenerationResult,\n ModelStepResult,\n SpanOutputDescription,\n} from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadAttachment } from './span-payload-attachment';\nimport { SpanPayloadJson } from './span-payload-json';\nimport {\n SpanPayloadCollapsible,\n SpanPayloadField,\n SpanPayloadMarkdown,\n SpanPayloadToolCalls,\n} from './span-payload-primitives';\nimport { SpanPayloadProcessor } from './span-payload-processor';\nimport { asCoreSpan, hasItems, pickRenderer } from './span-payload-registry';\nimport type { PayloadRegistry } from './span-payload-registry';\nimport { Reasoning } from '@/domains/chat/messages/reasoning';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\n\nfunction SpanTextRenderer({ value }: { value: string }) {\n return <SpanPayloadMarkdown>{value}</SpanPayloadMarkdown>;\n}\n\nfunction SpanInterruptedRenderer({ value }: { value: InterruptedSpanOutput }) {\n const title = value.status === 'suspended' ? 'Suspended' : 'Aborted';\n const hasTarget = value.toolName !== undefined || value.toolCallId !== undefined;\n return (\n <div data-slot=\"span-interrupted\" data-status={value.status} className=\"flex flex-col gap-3\">\n <Notice variant=\"warning\" title={title}>\n {value.reason && <Notice.Message>{value.reason}</Notice.Message>}\n </Notice>\n {hasTarget && (\n <DataKeysAndValues>\n {value.toolName !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{value.toolName}</DataKeysAndValues.Value>\n </>\n )}\n {value.toolCallId !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool call id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyValue={value.toolCallId}>\n {value.toolCallId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </DataKeysAndValues>\n )}\n </div>\n );\n}\n\nfunction SpanAgentRunResultRenderer({ value }: { value: AgentRunResult }) {\n return (\n <div data-slot=\"span-agent-run-result\" className=\"flex flex-col gap-3\">\n {value.tripwire && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {value.tripwire.reason && <Notice.Message>{value.tripwire.reason}</Notice.Message>}\n {value.tripwire.processorId && (\n <div className=\"text-caption\">\n Processor <code className=\"font-mono\">{value.tripwire.processorId}</code>\n </div>\n )}\n </Notice>\n )}\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelGenerationResultRenderer({ value }: { value: ModelGenerationResult }) {\n return (\n <div data-slot=\"span-model-generation-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {typeof value.reasoningText === 'string' && <Reasoning text={value.reasoningText} />}\n {value.reasoning !== undefined && (\n <SpanPayloadCollapsible label=\"Reasoning details\">\n <SpanPayloadJson value={value.reasoning} />\n </SpanPayloadCollapsible>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {hasItems(value.sources) && (\n <SpanPayloadCollapsible label={`Sources (${value.sources.length})`}>\n <SpanPayloadJson value={value.sources} />\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.warnings) && (\n <SpanPayloadCollapsible label={`Warnings (${value.warnings.length})`}>\n <SpanPayloadJson value={value.warnings} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelStepResultRenderer({ value }: { value: ModelStepResult }) {\n return (\n <div data-slot=\"span-model-step-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.steps) && (\n <SpanPayloadCollapsible label={`Steps (${value.steps.length})`}>\n <SpanPayloadJson value={value.steps} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\n/** One renderer per `describeSpanOutput` tag; see `SPAN_INPUT_RENDERERS`. */\nconst SPAN_OUTPUT_RENDERERS = {\n interrupted: SpanInterruptedRenderer,\n 'agent-run-result': SpanAgentRunResultRenderer,\n 'model-generation-result': SpanModelGenerationResultRenderer,\n 'model-step-result': SpanModelStepResultRenderer,\n processor: SpanPayloadProcessor,\n text: SpanTextRenderer,\n json: SpanPayloadJson,\n} satisfies PayloadRegistry<SpanOutputDescription>;\n\nexport interface SpanOutputRendererProps {\n span: SpanRecord;\n}\n\n/** Renders a span's output through the registry; `null` when the span recorded none. */\nexport function SpanOutputRenderer({ span }: SpanOutputRendererProps) {\n const description = describeSpanOutput(asCoreSpan(span));\n if (!description) return null;\n if (description.type === 'json') return <SpanPayloadJson value={description.value} />;\n const Renderer = pickRenderer(SPAN_OUTPUT_RENDERERS, description);\n return (\n <Card data-slot=\"span-output-card\" className=\"min-w-0\">\n <CardContent>\n <Renderer value={description.value} />\n </CardContent>\n </Card>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"span-output-renderers.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-output-renderers.tsx"],"sourcesContent":["import { describeSpanOutput } from '@mastra/core/observability';\nimport type {\n AgentRunResult,\n InterruptedSpanOutput,\n ModelGenerationResult,\n ModelStepResult,\n SpanOutputDescription,\n} from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadAttachment } from './span-payload-attachment';\nimport { SpanPayloadJson } from './span-payload-json';\nimport {\n SpanPayloadCollapsible,\n SpanPayloadField,\n SpanPayloadMarkdown,\n SpanPayloadToolCalls,\n} from './span-payload-primitives';\nimport { SpanPayloadProcessor } from './span-payload-processor';\nimport { asCoreSpan, hasItems, pickRenderer } from './span-payload-registry';\nimport type { PayloadRegistry } from './span-payload-registry';\nimport { Reasoning } from '@/domains/chat/messages/reasoning';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { InlineCode } from '@/ds/components/InlineCode/inline-code';\nimport { Notice } from '@/ds/components/Notice';\n\nfunction SpanTextRenderer({ value }: { value: string }) {\n return <SpanPayloadMarkdown>{value}</SpanPayloadMarkdown>;\n}\n\nfunction SpanInterruptedRenderer({ value }: { value: InterruptedSpanOutput }) {\n const title = value.status === 'suspended' ? 'Suspended' : 'Aborted';\n const hasTarget = value.toolName !== undefined || value.toolCallId !== undefined;\n return (\n <div data-slot=\"span-interrupted\" data-status={value.status} className=\"flex flex-col gap-3\">\n <Notice variant=\"warning\" title={title}>\n {value.reason && <Notice.Message>{value.reason}</Notice.Message>}\n </Notice>\n {hasTarget && (\n <DataKeysAndValues>\n {value.toolName !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{value.toolName}</DataKeysAndValues.Value>\n </>\n )}\n {value.toolCallId !== undefined && (\n <>\n <DataKeysAndValues.Key>Tool call id</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyValue={value.toolCallId}>\n {value.toolCallId}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n )}\n </DataKeysAndValues>\n )}\n </div>\n );\n}\n\nfunction SpanAgentRunResultRenderer({ value }: { value: AgentRunResult }) {\n return (\n <div data-slot=\"span-agent-run-result\" className=\"flex flex-col gap-3\">\n {value.tripwire && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {value.tripwire.reason && <Notice.Message>{value.tripwire.reason}</Notice.Message>}\n {value.tripwire.processorId && (\n <div className=\"text-caption\">\n Processor <InlineCode>{value.tripwire.processorId}</InlineCode>\n </div>\n )}\n </Notice>\n )}\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelGenerationResultRenderer({ value }: { value: ModelGenerationResult }) {\n return (\n <div data-slot=\"span-model-generation-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {typeof value.reasoningText === 'string' && <Reasoning text={value.reasoningText} />}\n {value.reasoning !== undefined && (\n <SpanPayloadCollapsible label=\"Reasoning details\">\n <SpanPayloadJson value={value.reasoning} />\n </SpanPayloadCollapsible>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {hasItems(value.sources) && (\n <SpanPayloadCollapsible label={`Sources (${value.sources.length})`}>\n <SpanPayloadJson value={value.sources} />\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.files) && (\n <SpanPayloadCollapsible label={`Files (${value.files.length})`}>\n {value.files.map((file, index) => (\n <SpanPayloadAttachment key={index} value={file} />\n ))}\n </SpanPayloadCollapsible>\n )}\n {hasItems(value.warnings) && (\n <SpanPayloadCollapsible label={`Warnings (${value.warnings.length})`}>\n <SpanPayloadJson value={value.warnings} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\nfunction SpanModelStepResultRenderer({ value }: { value: ModelStepResult }) {\n return (\n <div data-slot=\"span-model-step-result\" className=\"flex flex-col gap-3\">\n {typeof value.text === 'string' && value.text.length > 0 && (\n <SpanPayloadMarkdown>{value.text}</SpanPayloadMarkdown>\n )}\n {hasItems(value.toolCalls) && (\n <SpanPayloadField label={`Tool calls (${value.toolCalls.length})`}>\n <SpanPayloadToolCalls toolCalls={value.toolCalls} />\n </SpanPayloadField>\n )}\n {value.object !== undefined && (\n <SpanPayloadField label=\"Object\">\n <SpanPayloadJson value={value.object} />\n </SpanPayloadField>\n )}\n {hasItems(value.steps) && (\n <SpanPayloadCollapsible label={`Steps (${value.steps.length})`}>\n <SpanPayloadJson value={value.steps} />\n </SpanPayloadCollapsible>\n )}\n </div>\n );\n}\n\n/** One renderer per `describeSpanOutput` tag; see `SPAN_INPUT_RENDERERS`. */\nconst SPAN_OUTPUT_RENDERERS = {\n interrupted: SpanInterruptedRenderer,\n 'agent-run-result': SpanAgentRunResultRenderer,\n 'model-generation-result': SpanModelGenerationResultRenderer,\n 'model-step-result': SpanModelStepResultRenderer,\n processor: SpanPayloadProcessor,\n text: SpanTextRenderer,\n json: SpanPayloadJson,\n} satisfies PayloadRegistry<SpanOutputDescription>;\n\nexport interface SpanOutputRendererProps {\n span: SpanRecord;\n}\n\n/** Renders a span's output through the registry; `null` when the span recorded none. */\nexport function SpanOutputRenderer({ span }: SpanOutputRendererProps) {\n const description = describeSpanOutput(asCoreSpan(span));\n if (!description) return null;\n if (description.type === 'json') return <SpanPayloadJson value={description.value} />;\n const Renderer = pickRenderer(SPAN_OUTPUT_RENDERERS, description);\n return (\n <Card data-slot=\"span-output-card\" className=\"min-w-0\">\n <CardContent>\n <Renderer value={description.value} />\n </CardContent>\n </Card>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ function SpanPayloadJson({ value, className }) {
16
16
  "data-slot": "span-payload-json",
17
17
  className: utils_cn.cn(
18
18
  primitives_raisedSurface.raisedSurfaceStyle,
19
- "max-h-[30vh] overflow-y-auto rounded-lg p-3 font-mono text-caption text-wrap break-all text-muted-foreground",
19
+ "max-h-[30vh] overflow-y-auto rounded-lg p-3 text-caption text-wrap break-all text-muted-foreground",
20
20
  className
21
21
  )
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-json.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-json.tsx"],"sourcesContent":["import { Code } from '@/ds/components/Code/code';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface SpanPayloadJsonProps {\n value: unknown;\n className?: string;\n}\n\n/** Fallback renderer: pretty-printed JSON for any payload core does not describe in more detail. */\nexport function SpanPayloadJson({ value, className }: SpanPayloadJsonProps) {\n return (\n <Code\n code={JSON.stringify(value ?? null, null, 2)}\n lang=\"json\"\n data-slot=\"span-payload-json\"\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-y-auto rounded-lg p-3 font-mono text-caption text-wrap break-all text-muted-foreground',\n className,\n )}\n />\n );\n}\n"],"names":["jsx","Code","cn","raisedSurfaceStyle"],"mappings":";;;;;;;;;AAUO,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,EAAU,EAAyB;AAC1E,EAAA,uBACEA,cAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,IAAS,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,MAC3C,IAAA,EAAK,MAAA;AAAA,MACL,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAWC,WAAA;AAAA,QACTC,2CAAA;AAAA,QACA,8GAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"span-payload-json.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-json.tsx"],"sourcesContent":["import { Code } from '@/ds/components/Code/code';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface SpanPayloadJsonProps {\n value: unknown;\n className?: string;\n}\n\n/** Fallback renderer: pretty-printed JSON for any payload core does not describe in more detail. */\nexport function SpanPayloadJson({ value, className }: SpanPayloadJsonProps) {\n return (\n <Code\n code={JSON.stringify(value ?? null, null, 2)}\n lang=\"json\"\n data-slot=\"span-payload-json\"\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-y-auto rounded-lg p-3 text-caption text-wrap break-all text-muted-foreground',\n className,\n )}\n />\n );\n}\n"],"names":["jsx","Code","cn","raisedSurfaceStyle"],"mappings":";;;;;;;;;AAUO,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,EAAU,EAAyB;AAC1E,EAAA,uBACEA,cAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,IAAS,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,MAC3C,IAAA,EAAK,MAAA;AAAA,MACL,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAWC,WAAA;AAAA,QACTC,2CAAA;AAAA,QACA,oGAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;;;;"}
@@ -12,7 +12,7 @@ function SpanPayloadJson({ value, className }) {
12
12
  "data-slot": "span-payload-json",
13
13
  className: cn(
14
14
  raisedSurfaceStyle,
15
- "max-h-[30vh] overflow-y-auto rounded-lg p-3 font-mono text-caption text-wrap break-all text-muted-foreground",
15
+ "max-h-[30vh] overflow-y-auto rounded-lg p-3 text-caption text-wrap break-all text-muted-foreground",
16
16
  className
17
17
  )
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-json.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-json.tsx"],"sourcesContent":["import { Code } from '@/ds/components/Code/code';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface SpanPayloadJsonProps {\n value: unknown;\n className?: string;\n}\n\n/** Fallback renderer: pretty-printed JSON for any payload core does not describe in more detail. */\nexport function SpanPayloadJson({ value, className }: SpanPayloadJsonProps) {\n return (\n <Code\n code={JSON.stringify(value ?? null, null, 2)}\n lang=\"json\"\n data-slot=\"span-payload-json\"\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-y-auto rounded-lg p-3 font-mono text-caption text-wrap break-all text-muted-foreground',\n className,\n )}\n />\n );\n}\n"],"names":[],"mappings":";;;;;AAUO,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,EAAU,EAAyB;AAC1E,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,IAAS,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,MAC3C,IAAA,EAAK,MAAA;AAAA,MACL,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kBAAA;AAAA,QACA,8GAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"span-payload-json.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-payload-json.tsx"],"sourcesContent":["import { Code } from '@/ds/components/Code/code';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface SpanPayloadJsonProps {\n value: unknown;\n className?: string;\n}\n\n/** Fallback renderer: pretty-printed JSON for any payload core does not describe in more detail. */\nexport function SpanPayloadJson({ value, className }: SpanPayloadJsonProps) {\n return (\n <Code\n code={JSON.stringify(value ?? null, null, 2)}\n lang=\"json\"\n data-slot=\"span-payload-json\"\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-y-auto rounded-lg p-3 text-caption text-wrap break-all text-muted-foreground',\n className,\n )}\n />\n );\n}\n"],"names":[],"mappings":";;;;;AAUO,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,EAAU,EAAyB;AAC1E,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,MAAM,IAAA,CAAK,SAAA,CAAU,KAAA,IAAS,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,MAC3C,IAAA,EAAK,MAAA;AAAA,MACL,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kBAAA;AAAA,QACA,oGAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;;;;"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_traces_components_spanPayload_spanPayloadAttachment = require('./span-payload-attachment.cjs.js');
7
7
  const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
8
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
8
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
9
9
  const domains_chat_messages_reasoning = require('../../../chat/messages/reasoning.cjs.js');
10
10
  const message = require('../../../../message-D9b33Pf_.cjs');
11
11
 
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { SpanPayloadAttachment } from './span-payload-attachment.es.js';
3
3
  import { SpanPayloadJson } from './span-payload-json.es.js';
4
- import { d as SpanPayloadLabel, a as SpanPayloadMarkdown, e as SpanPayloadTool } from '../../../../span-payload-primitives-Buq9V8nK.js';
4
+ import { d as SpanPayloadLabel, a as SpanPayloadMarkdown, e as SpanPayloadTool } from '../../../../span-payload-primitives-Dmzm3mb2.js';
5
5
  import { Reasoning } from '../../../chat/messages/reasoning.es.js';
6
6
  import { M as Message } from '../../../../message-Cs8NW-MR.js';
7
7
 
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  require('react/jsx-runtime');
6
6
  require('lucide-react');
7
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
7
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
8
8
  require('../../../../collapsible-BFSJouuI.cjs');
9
9
  require('../../../../markdown-renderer-DtH58325.cjs');
10
10
 
@@ -1,6 +1,6 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'lucide-react';
3
- export { c as SpanPayloadCollapsible, S as SpanPayloadField, d as SpanPayloadLabel, a as SpanPayloadMarkdown, b as SpanPayloadToolCalls } from '../../../../span-payload-primitives-Buq9V8nK.js';
3
+ export { c as SpanPayloadCollapsible, S as SpanPayloadField, d as SpanPayloadLabel, a as SpanPayloadMarkdown, b as SpanPayloadToolCalls } from '../../../../span-payload-primitives-Dmzm3mb2.js';
4
4
  import '../../../../collapsible-DhhP5p1j.js';
5
5
  import '../../../../markdown-renderer-Ces7VyRK.js';
6
6
  //# sourceMappingURL=span-payload-primitives.es.js.map
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
8
8
  const domains_traces_components_spanPayload_spanPayloadMessages = require('./span-payload-messages.cjs.js');
9
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
9
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
10
10
  const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
11
11
  const dataKeysAndValues = require('../../../../data-keys-and-values-CMJ9zHKm.cjs');
12
12
 
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Fragment } from 'react';
3
3
  import { SpanPayloadJson } from './span-payload-json.es.js';
4
4
  import { SpanPayloadMessages } from './span-payload-messages.es.js';
5
- import { S as SpanPayloadField, b as SpanPayloadToolCalls, a as SpanPayloadMarkdown, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-Buq9V8nK.js';
5
+ import { S as SpanPayloadField, b as SpanPayloadToolCalls, a as SpanPayloadMarkdown, c as SpanPayloadCollapsible } from '../../../../span-payload-primitives-Dmzm3mb2.js';
6
6
  import { hasItems } from './span-payload-registry.es.js';
7
7
  import { D as DataKeysAndValues } from '../../../../data-keys-and-values-BTYDB-K2.js';
8
8
 
@@ -4,9 +4,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  require('react/jsx-runtime');
6
6
  require('./span-payload-json.cjs.js');
7
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
7
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
8
8
  require('../../../chat/components/badge-wrapper.cjs.js');
9
- require('../../../../tool-call-C0JeHe8Z.cjs');
9
+ require('../../../../tool-call-CnEm3eE0.cjs');
10
10
  require('../../../../tool-presentation-BGWx2mEc.cjs');
11
11
 
12
12
 
@@ -1,7 +1,7 @@
1
1
  import 'react/jsx-runtime';
2
2
  import './span-payload-json.es.js';
3
- export { e as SpanPayloadTool } from '../../../../span-payload-primitives-Buq9V8nK.js';
3
+ export { e as SpanPayloadTool } from '../../../../span-payload-primitives-Dmzm3mb2.js';
4
4
  import '../../../chat/components/badge-wrapper.es.js';
5
- import '../../../../tool-call-Bs-9Cah5.js';
5
+ import '../../../../tool-call-CIeNEYpK.js';
6
6
  import '../../../../tool-presentation-D-smNbXC.js';
7
7
  //# sourceMappingURL=span-payload-tool.es.js.map
@@ -6,11 +6,12 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const observability = require('@mastra/core/observability');
7
7
  const domains_traces_components_spanPayload_spanPayloadJson = require('./span-payload-json.cjs.js');
8
8
  const domains_traces_components_spanPayload_spanPayloadMessages = require('./span-payload-messages.cjs.js');
9
- const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-CjlNH9C-.cjs');
9
+ const domains_traces_components_spanPayload_spanPayloadTool = require('../../../../span-payload-primitives-Dq8WqqNm.cjs');
10
10
  const domains_traces_components_spanPayload_spanPayloadRegistry = require('./span-payload-registry.cjs.js');
11
11
  const Card = require('../../../../Card-BbwF20OW.cjs');
12
12
  const dataKeysAndValues = require('../../../../data-keys-and-values-CMJ9zHKm.cjs');
13
13
  const Notice = require('../../../../Notice-AUNd8fqT.cjs');
14
+ const Txt = require('../../../../Txt-DPmEpNbp.cjs');
14
15
  const utils_duration = require('../../../../utils/duration.cjs.js');
15
16
 
16
17
  const MUTATION_LABELS = {
@@ -65,7 +66,7 @@ function SpanProcessorAttributes({ span }) {
65
66
  ] }),
66
67
  hookDuration && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
67
68
  /* @__PURE__ */ jsxRuntime.jsx(dataKeysAndValues.DataKeysAndValues.Key, { children: "Hook duration" }),
68
- /* @__PURE__ */ jsxRuntime.jsx(dataKeysAndValues.DataKeysAndValues.Value, { children: hookDuration })
69
+ /* @__PURE__ */ jsxRuntime.jsx(dataKeysAndValues.DataKeysAndValues.Value, { children: /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "body-sm", font: "mono", children: hookDuration }) })
69
70
  ] })
70
71
  ] }),
71
72
  tripwireAbort && /* @__PURE__ */ jsxRuntime.jsxs(Notice.Notice, { variant: "destructive", title: "Tripwire", children: [
@@ -1 +1 @@
1
- {"version":3,"file":"span-processor-attributes.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-processor-attributes.tsx"],"sourcesContent":["import { describeProcessorPipeline } from '@mastra/core/observability';\nimport type { ProcessorPipelineDescription } from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadMessages } from './span-payload-messages';\nimport { SpanPayloadCollapsible, SpanPayloadField } from './span-payload-primitives';\nimport { asCoreSpan } from './span-payload-registry';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\nimport { formatDuration } from '@/utils/duration';\n\n/** Mutation kinds as actions a reader recognises. */\nconst MUTATION_LABELS: Record<string, string> = {\n add: 'Added messages',\n addSystem: 'Added system message',\n removeByIds: 'Removed messages',\n clear: 'Cleared messages',\n};\n\nfunction Mutations({ mutations }: { mutations: NonNullable<ProcessorPipelineDescription['messageListMutations']> }) {\n return (\n <ul data-slot=\"span-processor-mutations\" className=\"flex flex-col gap-1.5\">\n {mutations.map((mutation, index) => {\n if (typeof mutation !== 'object' || mutation === null) {\n return (\n <li key={index}>\n <SpanPayloadJson value={mutation} />\n </li>\n );\n }\n const detail = [\n mutation.source,\n mutation.tag,\n mutation.count !== undefined ? `${mutation.count} message${mutation.count === 1 ? '' : 's'}` : undefined,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <li key={index} className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-2 text-body text-foreground\">\n <span>{MUTATION_LABELS[mutation.type] ?? mutation.type}</span>\n {detail && <span className=\"text-meta text-placeholder\">{detail}</span>}\n </div>\n {mutation.message !== undefined && <SpanPayloadMessages value={[mutation.message]} />}\n {mutation.ids && mutation.ids.length > 0 && (\n <SpanPayloadCollapsible label={`Removed ids (${mutation.ids.length})`}>\n <SpanPayloadJson value={mutation.ids} />\n </SpanPayloadCollapsible>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport interface SpanProcessorAttributesProps {\n span: SpanRecord;\n}\n\n/**\n * The runner-owned attributes of a processor span, as labelled values.\n * `describeProcessorPipeline` decides which keys are known, so \"Other attributes\"\n * holds only what this view does not show.\n */\nexport function SpanProcessorAttributes({ span }: SpanProcessorAttributesProps) {\n const pipeline = describeProcessorPipeline(asCoreSpan(span));\n if (!pipeline) return null;\n\n const { phaseLabel, executor, processorIndex, hookDurationMs, messageListMutations, tripwireAbort, rest } = pipeline;\n const processorName = span.entityName ?? span.entityId;\n const hookDuration = hookDurationMs === undefined ? undefined : formatDuration(hookDurationMs);\n\n return (\n <Card data-slot=\"span-processor-attributes-card\" className=\"min-w-0\">\n <CardContent>\n <div data-slot=\"span-processor-attributes\" className=\"flex flex-col gap-3\">\n <DataKeysAndValues>\n {processorName && (\n <>\n <DataKeysAndValues.Key>Processor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorName}</DataKeysAndValues.Value>\n </>\n )}\n <>\n <DataKeysAndValues.Key>Phase</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{phaseLabel}</DataKeysAndValues.Value>\n </>\n {executor && (\n <>\n <DataKeysAndValues.Key>Executor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{executor === 'workflow' ? 'Workflow' : 'Legacy'}</DataKeysAndValues.Value>\n </>\n )}\n {processorIndex !== undefined && (\n <>\n <DataKeysAndValues.Key>Pipeline position</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorIndex + 1}</DataKeysAndValues.Value>\n </>\n )}\n {hookDuration && (\n <>\n <DataKeysAndValues.Key>Hook duration</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{hookDuration}</DataKeysAndValues.Value>\n </>\n )}\n </DataKeysAndValues>\n\n {tripwireAbort && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {tripwireAbort.reason && <Notice.Message>{tripwireAbort.reason}</Notice.Message>}\n {tripwireAbort.retry !== undefined && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>Retry</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{tripwireAbort.retry ? 'Yes' : 'No'}</DataKeysAndValues.Value>\n </DataKeysAndValues>\n )}\n {tripwireAbort.metadata !== undefined && (\n <SpanPayloadCollapsible label=\"Metadata\">\n <SpanPayloadJson value={tripwireAbort.metadata} />\n </SpanPayloadCollapsible>\n )}\n </Notice>\n )}\n\n {messageListMutations && messageListMutations.length > 0 && (\n <SpanPayloadField label=\"Message list changes\">\n <Mutations mutations={messageListMutations} />\n </SpanPayloadField>\n )}\n\n {rest && (\n <SpanPayloadCollapsible label=\"Other attributes\">\n <SpanPayloadJson value={rest} />\n </SpanPayloadCollapsible>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n"],"names":["jsx","SpanPayloadJson","jsxs","SpanPayloadMessages","SpanPayloadCollapsible","describeProcessorPipeline","asCoreSpan","formatDuration","Card","CardContent","DataKeysAndValues","Fragment","Notice","SpanPayloadField"],"mappings":"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"}
1
+ {"version":3,"file":"span-processor-attributes.cjs.js","sources":["../../../../../src/domains/traces/components/span-payload/span-processor-attributes.tsx"],"sourcesContent":["import { describeProcessorPipeline } from '@mastra/core/observability';\nimport type { ProcessorPipelineDescription } from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadMessages } from './span-payload-messages';\nimport { SpanPayloadCollapsible, SpanPayloadField } from './span-payload-primitives';\nimport { asCoreSpan } from './span-payload-registry';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { formatDuration } from '@/utils/duration';\n\n/** Mutation kinds as actions a reader recognises. */\nconst MUTATION_LABELS: Record<string, string> = {\n add: 'Added messages',\n addSystem: 'Added system message',\n removeByIds: 'Removed messages',\n clear: 'Cleared messages',\n};\n\nfunction Mutations({ mutations }: { mutations: NonNullable<ProcessorPipelineDescription['messageListMutations']> }) {\n return (\n <ul data-slot=\"span-processor-mutations\" className=\"flex flex-col gap-1.5\">\n {mutations.map((mutation, index) => {\n if (typeof mutation !== 'object' || mutation === null) {\n return (\n <li key={index}>\n <SpanPayloadJson value={mutation} />\n </li>\n );\n }\n const detail = [\n mutation.source,\n mutation.tag,\n mutation.count !== undefined ? `${mutation.count} message${mutation.count === 1 ? '' : 's'}` : undefined,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <li key={index} className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-2 text-body text-foreground\">\n <span>{MUTATION_LABELS[mutation.type] ?? mutation.type}</span>\n {detail && <span className=\"text-meta text-placeholder\">{detail}</span>}\n </div>\n {mutation.message !== undefined && <SpanPayloadMessages value={[mutation.message]} />}\n {mutation.ids && mutation.ids.length > 0 && (\n <SpanPayloadCollapsible label={`Removed ids (${mutation.ids.length})`}>\n <SpanPayloadJson value={mutation.ids} />\n </SpanPayloadCollapsible>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport interface SpanProcessorAttributesProps {\n span: SpanRecord;\n}\n\n/**\n * The runner-owned attributes of a processor span, as labelled values.\n * `describeProcessorPipeline` decides which keys are known, so \"Other attributes\"\n * holds only what this view does not show.\n */\nexport function SpanProcessorAttributes({ span }: SpanProcessorAttributesProps) {\n const pipeline = describeProcessorPipeline(asCoreSpan(span));\n if (!pipeline) return null;\n\n const { phaseLabel, executor, processorIndex, hookDurationMs, messageListMutations, tripwireAbort, rest } = pipeline;\n const processorName = span.entityName ?? span.entityId;\n const hookDuration = hookDurationMs === undefined ? undefined : formatDuration(hookDurationMs);\n\n return (\n <Card data-slot=\"span-processor-attributes-card\" className=\"min-w-0\">\n <CardContent>\n <div data-slot=\"span-processor-attributes\" className=\"flex flex-col gap-3\">\n <DataKeysAndValues>\n {processorName && (\n <>\n <DataKeysAndValues.Key>Processor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorName}</DataKeysAndValues.Value>\n </>\n )}\n <>\n <DataKeysAndValues.Key>Phase</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{phaseLabel}</DataKeysAndValues.Value>\n </>\n {executor && (\n <>\n <DataKeysAndValues.Key>Executor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{executor === 'workflow' ? 'Workflow' : 'Legacy'}</DataKeysAndValues.Value>\n </>\n )}\n {processorIndex !== undefined && (\n <>\n <DataKeysAndValues.Key>Pipeline position</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorIndex + 1}</DataKeysAndValues.Value>\n </>\n )}\n {hookDuration && (\n <>\n <DataKeysAndValues.Key>Hook duration</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>\n <Txt as=\"span\" variant=\"body-sm\" font=\"mono\">\n {hookDuration}\n </Txt>\n </DataKeysAndValues.Value>\n </>\n )}\n </DataKeysAndValues>\n\n {tripwireAbort && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {tripwireAbort.reason && <Notice.Message>{tripwireAbort.reason}</Notice.Message>}\n {tripwireAbort.retry !== undefined && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>Retry</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{tripwireAbort.retry ? 'Yes' : 'No'}</DataKeysAndValues.Value>\n </DataKeysAndValues>\n )}\n {tripwireAbort.metadata !== undefined && (\n <SpanPayloadCollapsible label=\"Metadata\">\n <SpanPayloadJson value={tripwireAbort.metadata} />\n </SpanPayloadCollapsible>\n )}\n </Notice>\n )}\n\n {messageListMutations && messageListMutations.length > 0 && (\n <SpanPayloadField label=\"Message list changes\">\n <Mutations mutations={messageListMutations} />\n </SpanPayloadField>\n )}\n\n {rest && (\n <SpanPayloadCollapsible label=\"Other attributes\">\n <SpanPayloadJson value={rest} />\n </SpanPayloadCollapsible>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n"],"names":["jsx","SpanPayloadJson","jsxs","SpanPayloadMessages","SpanPayloadCollapsible","describeProcessorPipeline","asCoreSpan","formatDuration","Card","CardContent","DataKeysAndValues","Fragment","Txt","Notice","SpanPayloadField"],"mappings":"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"}
@@ -2,11 +2,12 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { describeProcessorPipeline } from '@mastra/core/observability';
3
3
  import { SpanPayloadJson } from './span-payload-json.es.js';
4
4
  import { SpanPayloadMessages } from './span-payload-messages.es.js';
5
- import { c as SpanPayloadCollapsible, S as SpanPayloadField } from '../../../../span-payload-primitives-Buq9V8nK.js';
5
+ import { c as SpanPayloadCollapsible, S as SpanPayloadField } from '../../../../span-payload-primitives-Dmzm3mb2.js';
6
6
  import { asCoreSpan } from './span-payload-registry.es.js';
7
7
  import { C as Card, a as CardContent } from '../../../../Card-DmT57Pve.js';
8
8
  import { D as DataKeysAndValues } from '../../../../data-keys-and-values-BTYDB-K2.js';
9
9
  import { N as Notice } from '../../../../Notice-WT8G4OA6.js';
10
+ import { T as Txt } from '../../../../Txt-BP1SRHmL.js';
10
11
  import { formatDuration } from '../../../../utils/duration.es.js';
11
12
 
12
13
  const MUTATION_LABELS = {
@@ -61,7 +62,7 @@ function SpanProcessorAttributes({ span }) {
61
62
  ] }),
62
63
  hookDuration && /* @__PURE__ */ jsxs(Fragment, { children: [
63
64
  /* @__PURE__ */ jsx(DataKeysAndValues.Key, { children: "Hook duration" }),
64
- /* @__PURE__ */ jsx(DataKeysAndValues.Value, { children: hookDuration })
65
+ /* @__PURE__ */ jsx(DataKeysAndValues.Value, { children: /* @__PURE__ */ jsx(Txt, { as: "span", variant: "body-sm", font: "mono", children: hookDuration }) })
65
66
  ] })
66
67
  ] }),
67
68
  tripwireAbort && /* @__PURE__ */ jsxs(Notice, { variant: "destructive", title: "Tripwire", children: [
@@ -1 +1 @@
1
- {"version":3,"file":"span-processor-attributes.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-processor-attributes.tsx"],"sourcesContent":["import { describeProcessorPipeline } from '@mastra/core/observability';\nimport type { ProcessorPipelineDescription } from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadMessages } from './span-payload-messages';\nimport { SpanPayloadCollapsible, SpanPayloadField } from './span-payload-primitives';\nimport { asCoreSpan } from './span-payload-registry';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\nimport { formatDuration } from '@/utils/duration';\n\n/** Mutation kinds as actions a reader recognises. */\nconst MUTATION_LABELS: Record<string, string> = {\n add: 'Added messages',\n addSystem: 'Added system message',\n removeByIds: 'Removed messages',\n clear: 'Cleared messages',\n};\n\nfunction Mutations({ mutations }: { mutations: NonNullable<ProcessorPipelineDescription['messageListMutations']> }) {\n return (\n <ul data-slot=\"span-processor-mutations\" className=\"flex flex-col gap-1.5\">\n {mutations.map((mutation, index) => {\n if (typeof mutation !== 'object' || mutation === null) {\n return (\n <li key={index}>\n <SpanPayloadJson value={mutation} />\n </li>\n );\n }\n const detail = [\n mutation.source,\n mutation.tag,\n mutation.count !== undefined ? `${mutation.count} message${mutation.count === 1 ? '' : 's'}` : undefined,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <li key={index} className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-2 text-body text-foreground\">\n <span>{MUTATION_LABELS[mutation.type] ?? mutation.type}</span>\n {detail && <span className=\"text-meta text-placeholder\">{detail}</span>}\n </div>\n {mutation.message !== undefined && <SpanPayloadMessages value={[mutation.message]} />}\n {mutation.ids && mutation.ids.length > 0 && (\n <SpanPayloadCollapsible label={`Removed ids (${mutation.ids.length})`}>\n <SpanPayloadJson value={mutation.ids} />\n </SpanPayloadCollapsible>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport interface SpanProcessorAttributesProps {\n span: SpanRecord;\n}\n\n/**\n * The runner-owned attributes of a processor span, as labelled values.\n * `describeProcessorPipeline` decides which keys are known, so \"Other attributes\"\n * holds only what this view does not show.\n */\nexport function SpanProcessorAttributes({ span }: SpanProcessorAttributesProps) {\n const pipeline = describeProcessorPipeline(asCoreSpan(span));\n if (!pipeline) return null;\n\n const { phaseLabel, executor, processorIndex, hookDurationMs, messageListMutations, tripwireAbort, rest } = pipeline;\n const processorName = span.entityName ?? span.entityId;\n const hookDuration = hookDurationMs === undefined ? undefined : formatDuration(hookDurationMs);\n\n return (\n <Card data-slot=\"span-processor-attributes-card\" className=\"min-w-0\">\n <CardContent>\n <div data-slot=\"span-processor-attributes\" className=\"flex flex-col gap-3\">\n <DataKeysAndValues>\n {processorName && (\n <>\n <DataKeysAndValues.Key>Processor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorName}</DataKeysAndValues.Value>\n </>\n )}\n <>\n <DataKeysAndValues.Key>Phase</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{phaseLabel}</DataKeysAndValues.Value>\n </>\n {executor && (\n <>\n <DataKeysAndValues.Key>Executor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{executor === 'workflow' ? 'Workflow' : 'Legacy'}</DataKeysAndValues.Value>\n </>\n )}\n {processorIndex !== undefined && (\n <>\n <DataKeysAndValues.Key>Pipeline position</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorIndex + 1}</DataKeysAndValues.Value>\n </>\n )}\n {hookDuration && (\n <>\n <DataKeysAndValues.Key>Hook duration</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{hookDuration}</DataKeysAndValues.Value>\n </>\n )}\n </DataKeysAndValues>\n\n {tripwireAbort && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {tripwireAbort.reason && <Notice.Message>{tripwireAbort.reason}</Notice.Message>}\n {tripwireAbort.retry !== undefined && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>Retry</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{tripwireAbort.retry ? 'Yes' : 'No'}</DataKeysAndValues.Value>\n </DataKeysAndValues>\n )}\n {tripwireAbort.metadata !== undefined && (\n <SpanPayloadCollapsible label=\"Metadata\">\n <SpanPayloadJson value={tripwireAbort.metadata} />\n </SpanPayloadCollapsible>\n )}\n </Notice>\n )}\n\n {messageListMutations && messageListMutations.length > 0 && (\n <SpanPayloadField label=\"Message list changes\">\n <Mutations mutations={messageListMutations} />\n </SpanPayloadField>\n )}\n\n {rest && (\n <SpanPayloadCollapsible label=\"Other attributes\">\n <SpanPayloadJson value={rest} />\n </SpanPayloadCollapsible>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAaA,MAAM,eAAA,GAA0C;AAAA,EAC9C,GAAA,EAAK,gBAAA;AAAA,EACL,SAAA,EAAW,sBAAA;AAAA,EACX,WAAA,EAAa,kBAAA;AAAA,EACb,KAAA,EAAO;AACT,CAAA;AAEA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAU,EAAqF;AAClH,EAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EAAG,WAAA,EAAU,0BAAA,EAA2B,SAAA,EAAU,yBAChD,QAAA,EAAA,SAAA,CAAU,GAAA,CAAI,CAAC,QAAA,EAAU,KAAA,KAAU;AAClC,IAAA,IAAI,OAAO,QAAA,KAAa,QAAA,IAAY,QAAA,KAAa,IAAA,EAAM;AACrD,MAAA,2BACG,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAO,QAAA,EAAU,KAD3B,KAET,CAAA;AAAA,IAEJ;AACA,IAAA,MAAM,MAAA,GAAS;AAAA,MACb,QAAA,CAAS,MAAA;AAAA,MACT,QAAA,CAAS,GAAA;AAAA,MACT,QAAA,CAAS,KAAA,KAAU,MAAA,GAAY,CAAA,EAAG,QAAA,CAAS,KAAK,CAAA,QAAA,EAAW,QAAA,CAAS,KAAA,KAAU,CAAA,GAAI,EAAA,GAAK,GAAG,CAAA,CAAA,GAAK;AAAA,KACjG,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,KAAK,CAAA;AAEb,IAAA,uBACE,IAAA,CAAC,IAAA,EAAA,EAAe,SAAA,EAAU,qBAAA,EACxB,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,6DAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAM,QAAA,EAAA,eAAA,CAAgB,QAAA,CAAS,IAAI,CAAA,IAAK,SAAS,IAAA,EAAK,CAAA;AAAA,QACtD,MAAA,oBAAU,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,8BAA8B,QAAA,EAAA,MAAA,EAAO;AAAA,OAAA,EAClE,CAAA;AAAA,MACC,QAAA,CAAS,YAAY,MAAA,oBAAa,GAAA,CAAC,uBAAoB,KAAA,EAAO,CAAC,QAAA,CAAS,OAAO,CAAA,EAAG,CAAA;AAAA,MAClF,SAAS,GAAA,IAAO,QAAA,CAAS,IAAI,MAAA,GAAS,CAAA,wBACpC,sBAAA,EAAA,EAAuB,KAAA,EAAO,gBAAgB,QAAA,CAAS,GAAA,CAAI,MAAM,CAAA,CAAA,CAAA,EAChE,QAAA,kBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAO,QAAA,CAAS,KAAK,CAAA,EACxC;AAAA,KAAA,EAAA,EATK,KAWT,CAAA;AAAA,EAEJ,CAAC,CAAA,EACH,CAAA;AAEJ;AAWO,SAAS,uBAAA,CAAwB,EAAE,IAAA,EAAK,EAAiC;AAC9E,EAAA,MAAM,QAAA,GAAW,yBAAA,CAA0B,UAAA,CAAW,IAAI,CAAC,CAAA;AAC3D,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,MAAM,EAAE,YAAY,QAAA,EAAU,cAAA,EAAgB,gBAAgB,oBAAA,EAAsB,aAAA,EAAe,MAAK,GAAI,QAAA;AAC5G,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,UAAA,IAAc,IAAA,CAAK,QAAA;AAC9C,EAAA,MAAM,YAAA,GAAe,cAAA,KAAmB,MAAA,GAAY,MAAA,GAAY,eAAe,cAAc,CAAA;AAE7F,EAAA,uBACE,GAAA,CAAC,IAAA,EAAA,EAAK,WAAA,EAAU,gCAAA,EAAiC,SAAA,EAAU,SAAA,EACzD,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,2BAAA,EAA4B,WAAU,qBAAA,EACnD,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,iBAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,aAAA,oBACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,WAAA,EAAS,CAAA;AAAA,wBAChC,GAAA,CAAC,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,QAAA,EAAA,aAAA,EAAc;AAAA,OAAA,EAC1C,CAAA;AAAA,sBAEF,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,wBAC5B,GAAA,CAAC,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,QAAA,EAAA,UAAA,EAAW;AAAA,OAAA,EACvC,CAAA;AAAA,MACC,4BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,4BAC9B,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,QAAA,EAAA,QAAA,KAAa,UAAA,GAAa,aAAa,QAAA,EAAS;AAAA,OAAA,EAC5E,CAAA;AAAA,MAED,cAAA,KAAmB,0BAClB,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,mBAAA,EAAiB,CAAA;AAAA,wBACxC,GAAA,CAAC,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,2BAAiB,CAAA,EAAE;AAAA,OAAA,EAC/C,CAAA;AAAA,MAED,gCACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,wBACpC,GAAA,CAAC,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,QAAA,EAAA,YAAA,EAAa;AAAA,OAAA,EACzC;AAAA,KAAA,EAEJ,CAAA;AAAA,IAEC,iCACC,IAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,aAAA,EAAc,OAAM,UAAA,EACjC,QAAA,EAAA;AAAA,MAAA,aAAA,CAAc,0BAAU,GAAA,CAAC,MAAA,CAAO,OAAA,EAAP,EAAgB,wBAAc,MAAA,EAAO,CAAA;AAAA,MAC9D,aAAA,CAAc,KAAA,KAAU,MAAA,oBACvB,IAAA,CAAC,iBAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,iBAAA,CAAkB,GAAA,EAAlB,EAAsB,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,4BAC3B,iBAAA,CAAkB,KAAA,EAAlB,EAAyB,QAAA,EAAA,aAAA,CAAc,KAAA,GAAQ,QAAQ,IAAA,EAAK;AAAA,OAAA,EAC/D,CAAA;AAAA,MAED,aAAA,CAAc,QAAA,KAAa,MAAA,oBAC1B,GAAA,CAAC,sBAAA,EAAA,EAAuB,KAAA,EAAM,UAAA,EAC5B,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,aAAA,CAAc,QAAA,EAAU,CAAA,EAClD;AAAA,KAAA,EAEJ,CAAA;AAAA,IAGD,oBAAA,IAAwB,oBAAA,CAAqB,MAAA,GAAS,CAAA,oBACrD,GAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAM,sBAAA,EACtB,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,oBAAA,EAAsB,CAAA,EAC9C,CAAA;AAAA,IAGD,IAAA,wBACE,sBAAA,EAAA,EAAuB,KAAA,EAAM,oBAC5B,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,IAAA,EAAM,CAAA,EAChC;AAAA,GAAA,EAEJ,GACF,CAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"span-processor-attributes.es.js","sources":["../../../../../src/domains/traces/components/span-payload/span-processor-attributes.tsx"],"sourcesContent":["import { describeProcessorPipeline } from '@mastra/core/observability';\nimport type { ProcessorPipelineDescription } from '@mastra/core/observability';\nimport type { SpanRecord } from '../../types';\nimport { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadMessages } from './span-payload-messages';\nimport { SpanPayloadCollapsible, SpanPayloadField } from './span-payload-primitives';\nimport { asCoreSpan } from './span-payload-registry';\nimport { Card, CardContent } from '@/ds/components/Card';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { Notice } from '@/ds/components/Notice';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { formatDuration } from '@/utils/duration';\n\n/** Mutation kinds as actions a reader recognises. */\nconst MUTATION_LABELS: Record<string, string> = {\n add: 'Added messages',\n addSystem: 'Added system message',\n removeByIds: 'Removed messages',\n clear: 'Cleared messages',\n};\n\nfunction Mutations({ mutations }: { mutations: NonNullable<ProcessorPipelineDescription['messageListMutations']> }) {\n return (\n <ul data-slot=\"span-processor-mutations\" className=\"flex flex-col gap-1.5\">\n {mutations.map((mutation, index) => {\n if (typeof mutation !== 'object' || mutation === null) {\n return (\n <li key={index}>\n <SpanPayloadJson value={mutation} />\n </li>\n );\n }\n const detail = [\n mutation.source,\n mutation.tag,\n mutation.count !== undefined ? `${mutation.count} message${mutation.count === 1 ? '' : 's'}` : undefined,\n ]\n .filter(Boolean)\n .join(' · ');\n\n return (\n <li key={index} className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center gap-2 text-body text-foreground\">\n <span>{MUTATION_LABELS[mutation.type] ?? mutation.type}</span>\n {detail && <span className=\"text-meta text-placeholder\">{detail}</span>}\n </div>\n {mutation.message !== undefined && <SpanPayloadMessages value={[mutation.message]} />}\n {mutation.ids && mutation.ids.length > 0 && (\n <SpanPayloadCollapsible label={`Removed ids (${mutation.ids.length})`}>\n <SpanPayloadJson value={mutation.ids} />\n </SpanPayloadCollapsible>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport interface SpanProcessorAttributesProps {\n span: SpanRecord;\n}\n\n/**\n * The runner-owned attributes of a processor span, as labelled values.\n * `describeProcessorPipeline` decides which keys are known, so \"Other attributes\"\n * holds only what this view does not show.\n */\nexport function SpanProcessorAttributes({ span }: SpanProcessorAttributesProps) {\n const pipeline = describeProcessorPipeline(asCoreSpan(span));\n if (!pipeline) return null;\n\n const { phaseLabel, executor, processorIndex, hookDurationMs, messageListMutations, tripwireAbort, rest } = pipeline;\n const processorName = span.entityName ?? span.entityId;\n const hookDuration = hookDurationMs === undefined ? undefined : formatDuration(hookDurationMs);\n\n return (\n <Card data-slot=\"span-processor-attributes-card\" className=\"min-w-0\">\n <CardContent>\n <div data-slot=\"span-processor-attributes\" className=\"flex flex-col gap-3\">\n <DataKeysAndValues>\n {processorName && (\n <>\n <DataKeysAndValues.Key>Processor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorName}</DataKeysAndValues.Value>\n </>\n )}\n <>\n <DataKeysAndValues.Key>Phase</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{phaseLabel}</DataKeysAndValues.Value>\n </>\n {executor && (\n <>\n <DataKeysAndValues.Key>Executor</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{executor === 'workflow' ? 'Workflow' : 'Legacy'}</DataKeysAndValues.Value>\n </>\n )}\n {processorIndex !== undefined && (\n <>\n <DataKeysAndValues.Key>Pipeline position</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{processorIndex + 1}</DataKeysAndValues.Value>\n </>\n )}\n {hookDuration && (\n <>\n <DataKeysAndValues.Key>Hook duration</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>\n <Txt as=\"span\" variant=\"body-sm\" font=\"mono\">\n {hookDuration}\n </Txt>\n </DataKeysAndValues.Value>\n </>\n )}\n </DataKeysAndValues>\n\n {tripwireAbort && (\n <Notice variant=\"destructive\" title=\"Tripwire\">\n {tripwireAbort.reason && <Notice.Message>{tripwireAbort.reason}</Notice.Message>}\n {tripwireAbort.retry !== undefined && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>Retry</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{tripwireAbort.retry ? 'Yes' : 'No'}</DataKeysAndValues.Value>\n </DataKeysAndValues>\n )}\n {tripwireAbort.metadata !== undefined && (\n <SpanPayloadCollapsible label=\"Metadata\">\n <SpanPayloadJson value={tripwireAbort.metadata} />\n </SpanPayloadCollapsible>\n )}\n </Notice>\n )}\n\n {messageListMutations && messageListMutations.length > 0 && (\n <SpanPayloadField label=\"Message list changes\">\n <Mutations mutations={messageListMutations} />\n </SpanPayloadField>\n )}\n\n {rest && (\n <SpanPayloadCollapsible label=\"Other attributes\">\n <SpanPayloadJson value={rest} />\n </SpanPayloadCollapsible>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -5,13 +5,15 @@ 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 domains_traces_utils_spanUtils = require('../utils/span-utils.cjs.js');
8
- const dataPanel = require('../../../data-panel-XPXrhYJI.cjs');
8
+ const dataPanel = require('../../../data-panel-C_BqhzeL.cjs');
9
9
  const utils_truncateString = require('../../../utils/truncate-string.cjs.js');
10
+ const utils_dateFormat = require('../../../utils/date-format.cjs.js');
11
+ const utils_duration = require('../../../utils/duration.cjs.js');
10
12
 
11
13
  function SpanSummaryDescription({ span }) {
12
- const startedAt = domains_traces_utils_spanUtils.formatSpanTimestamp(span.startedAt);
13
- const exactStartedAt = domains_traces_utils_spanUtils.formatSpanTimestampExact(span.startedAt);
14
- const duration = domains_traces_utils_spanUtils.formatSpanDurationSeconds(span.startedAt, span.endedAt);
14
+ const startedAt = utils_dateFormat.formatDate(span.startedAt, "time");
15
+ const exactStartedAt = utils_dateFormat.formatTimestampPrecise(span.startedAt);
16
+ const duration = utils_duration.formatDurationPrecise(domains_traces_utils_spanUtils.getSpanDurationMs(span.startedAt, span.endedAt));
15
17
  return /* @__PURE__ */ jsxRuntime.jsxs(dataPanel.DataPanel.Metadata, { children: [
16
18
  startedAt && exactStartedAt && /* @__PURE__ */ jsxRuntime.jsx(dataPanel.DataPanel.Meta, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CalendarClockIcon, {}), tooltip: `Started at ${exactStartedAt}`, children: startedAt }),
17
19
  duration && /* @__PURE__ */ jsxRuntime.jsx(dataPanel.DataPanel.Meta, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TimerIcon, {}), tooltip: `Duration ${duration}`, children: duration }),
@@ -1 +1 @@
1
- {"version":3,"file":"span-summary-description.cjs.js","sources":["../../../../src/domains/traces/components/span-summary-description.tsx"],"sourcesContent":["import { CalendarClockIcon, HashIcon, TimerIcon } from 'lucide-react';\nimport { formatSpanDurationSeconds, formatSpanTimestamp, formatSpanTimestampExact } from '../utils/span-utils';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface SpanSummaryDescriptionProps {\n span: {\n startedAt: Date | string;\n endedAt?: Date | string | null;\n runId?: string | null;\n };\n}\n\n/** Compact span timing + run metadata shown under the span side-panel heading. */\nexport function SpanSummaryDescription({ span }: SpanSummaryDescriptionProps) {\n const startedAt = formatSpanTimestamp(span.startedAt);\n const exactStartedAt = formatSpanTimestampExact(span.startedAt);\n const duration = formatSpanDurationSeconds(span.startedAt, span.endedAt);\n\n return (\n <DataPanel.Metadata>\n {startedAt && exactStartedAt && (\n <DataPanel.Meta icon={<CalendarClockIcon />} tooltip={`Started at ${exactStartedAt}`}>\n {startedAt}\n </DataPanel.Meta>\n )}\n {duration && (\n <DataPanel.Meta icon={<TimerIcon />} tooltip={`Duration ${duration}`}>\n {duration}\n </DataPanel.Meta>\n )}\n {span.runId && (\n <DataPanel.Meta icon={<HashIcon />} tooltip={`Run Id ${span.runId}`}>\n {truncateString(span.runId, 8)}\n </DataPanel.Meta>\n )}\n </DataPanel.Metadata>\n );\n}\n"],"names":["formatSpanTimestamp","formatSpanTimestampExact","formatSpanDurationSeconds","jsxs","DataPanel","jsx","CalendarClockIcon","TimerIcon","HashIcon"],"mappings":";;;;;;;;;;AAcO,SAAS,sBAAA,CAAuB,EAAE,IAAA,EAAK,EAAgC;AAC5E,EAAA,MAAM,SAAA,GAAYA,kDAAA,CAAoB,IAAA,CAAK,SAAS,CAAA;AACpD,EAAA,MAAM,cAAA,GAAiBC,uDAAA,CAAyB,IAAA,CAAK,SAAS,CAAA;AAC9D,EAAA,MAAM,QAAA,GAAWC,wDAAA,CAA0B,IAAA,CAAK,SAAA,EAAW,KAAK,OAAO,CAAA;AAEvE,EAAA,uBACEC,eAAA,CAACC,mBAAA,CAAU,QAAA,EAAV,EACE,QAAA,EAAA;AAAA,IAAA,SAAA,IAAa,cAAA,oBACZC,cAAA,CAACD,mBAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAMC,cAAA,CAACC,6BAAA,EAAA,EAAkB,CAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,cAAc,IAC/E,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,IAED,QAAA,oBACCD,cAAA,CAACD,mBAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAMC,cAAA,CAACE,qBAAA,EAAA,EAAU,CAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,QAAQ,IAC/D,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,IAED,KAAK,KAAA,oBACJF,cAAA,CAACD,oBAAU,IAAA,EAAV,EAAe,sBAAMC,cAAA,CAACG,oBAAA,EAAA,EAAS,GAAI,OAAA,EAAS,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA,EAC9D,8CAAe,IAAA,CAAK,KAAA,EAAO,CAAC,CAAA,EAC/B;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"span-summary-description.cjs.js","sources":["../../../../src/domains/traces/components/span-summary-description.tsx"],"sourcesContent":["import { CalendarClockIcon, HashIcon, TimerIcon } from 'lucide-react';\nimport { getSpanDurationMs } from '../utils/span-utils';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { truncateString } from '@/lib/truncate-string';\nimport { formatDate, formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport interface SpanSummaryDescriptionProps {\n span: {\n startedAt: Date | string;\n endedAt?: Date | string | null;\n runId?: string | null;\n };\n}\n\n/** Compact span timing + run metadata shown under the span side-panel heading. */\nexport function SpanSummaryDescription({ span }: SpanSummaryDescriptionProps) {\n const startedAt = formatDate(span.startedAt, 'time');\n const exactStartedAt = formatTimestampPrecise(span.startedAt);\n const duration = formatDurationPrecise(getSpanDurationMs(span.startedAt, span.endedAt));\n\n return (\n <DataPanel.Metadata>\n {startedAt && exactStartedAt && (\n <DataPanel.Meta icon={<CalendarClockIcon />} tooltip={`Started at ${exactStartedAt}`}>\n {startedAt}\n </DataPanel.Meta>\n )}\n {duration && (\n <DataPanel.Meta icon={<TimerIcon />} tooltip={`Duration ${duration}`}>\n {duration}\n </DataPanel.Meta>\n )}\n {span.runId && (\n <DataPanel.Meta icon={<HashIcon />} tooltip={`Run Id ${span.runId}`}>\n {truncateString(span.runId, 8)}\n </DataPanel.Meta>\n )}\n </DataPanel.Metadata>\n );\n}\n"],"names":["formatDate","formatTimestampPrecise","formatDurationPrecise","getSpanDurationMs","jsxs","DataPanel","jsx","CalendarClockIcon","TimerIcon","HashIcon"],"mappings":";;;;;;;;;;;;AAgBO,SAAS,sBAAA,CAAuB,EAAE,IAAA,EAAK,EAAgC;AAC5E,EAAA,MAAM,SAAA,GAAYA,2BAAA,CAAW,IAAA,CAAK,SAAA,EAAW,MAAM,CAAA;AACnD,EAAA,MAAM,cAAA,GAAiBC,uCAAA,CAAuB,IAAA,CAAK,SAAS,CAAA;AAC5D,EAAA,MAAM,WAAWC,oCAAA,CAAsBC,gDAAA,CAAkB,KAAK,SAAA,EAAW,IAAA,CAAK,OAAO,CAAC,CAAA;AAEtF,EAAA,uBACEC,eAAA,CAACC,mBAAA,CAAU,QAAA,EAAV,EACE,QAAA,EAAA;AAAA,IAAA,SAAA,IAAa,cAAA,oBACZC,cAAA,CAACD,mBAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAMC,cAAA,CAACC,6BAAA,EAAA,EAAkB,CAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,cAAc,IAC/E,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,IAED,QAAA,oBACCD,cAAA,CAACD,mBAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAMC,cAAA,CAACE,qBAAA,EAAA,EAAU,CAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,QAAQ,IAC/D,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,IAED,KAAK,KAAA,oBACJF,cAAA,CAACD,oBAAU,IAAA,EAAV,EAAe,sBAAMC,cAAA,CAACG,oBAAA,EAAA,EAAS,GAAI,OAAA,EAAS,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA,EAC9D,8CAAe,IAAA,CAAK,KAAA,EAAO,CAAC,CAAA,EAC/B;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
@@ -1,13 +1,15 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { CalendarClockIcon, TimerIcon, HashIcon } from 'lucide-react';
3
- import { formatSpanTimestamp, formatSpanTimestampExact, formatSpanDurationSeconds } from '../utils/span-utils.es.js';
4
- import { D as DataPanel } from '../../../data-panel-BQVTKo86.js';
3
+ import { getSpanDurationMs } from '../utils/span-utils.es.js';
4
+ import { D as DataPanel } from '../../../data-panel-BWgExbHs.js';
5
5
  import { truncateString } from '../../../utils/truncate-string.es.js';
6
+ import { formatDate, formatTimestampPrecise } from '../../../utils/date-format.es.js';
7
+ import { formatDurationPrecise } from '../../../utils/duration.es.js';
6
8
 
7
9
  function SpanSummaryDescription({ span }) {
8
- const startedAt = formatSpanTimestamp(span.startedAt);
9
- const exactStartedAt = formatSpanTimestampExact(span.startedAt);
10
- const duration = formatSpanDurationSeconds(span.startedAt, span.endedAt);
10
+ const startedAt = formatDate(span.startedAt, "time");
11
+ const exactStartedAt = formatTimestampPrecise(span.startedAt);
12
+ const duration = formatDurationPrecise(getSpanDurationMs(span.startedAt, span.endedAt));
11
13
  return /* @__PURE__ */ jsxs(DataPanel.Metadata, { children: [
12
14
  startedAt && exactStartedAt && /* @__PURE__ */ jsx(DataPanel.Meta, { icon: /* @__PURE__ */ jsx(CalendarClockIcon, {}), tooltip: `Started at ${exactStartedAt}`, children: startedAt }),
13
15
  duration && /* @__PURE__ */ jsx(DataPanel.Meta, { icon: /* @__PURE__ */ jsx(TimerIcon, {}), tooltip: `Duration ${duration}`, children: duration }),
@@ -1 +1 @@
1
- {"version":3,"file":"span-summary-description.es.js","sources":["../../../../src/domains/traces/components/span-summary-description.tsx"],"sourcesContent":["import { CalendarClockIcon, HashIcon, TimerIcon } from 'lucide-react';\nimport { formatSpanDurationSeconds, formatSpanTimestamp, formatSpanTimestampExact } from '../utils/span-utils';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface SpanSummaryDescriptionProps {\n span: {\n startedAt: Date | string;\n endedAt?: Date | string | null;\n runId?: string | null;\n };\n}\n\n/** Compact span timing + run metadata shown under the span side-panel heading. */\nexport function SpanSummaryDescription({ span }: SpanSummaryDescriptionProps) {\n const startedAt = formatSpanTimestamp(span.startedAt);\n const exactStartedAt = formatSpanTimestampExact(span.startedAt);\n const duration = formatSpanDurationSeconds(span.startedAt, span.endedAt);\n\n return (\n <DataPanel.Metadata>\n {startedAt && exactStartedAt && (\n <DataPanel.Meta icon={<CalendarClockIcon />} tooltip={`Started at ${exactStartedAt}`}>\n {startedAt}\n </DataPanel.Meta>\n )}\n {duration && (\n <DataPanel.Meta icon={<TimerIcon />} tooltip={`Duration ${duration}`}>\n {duration}\n </DataPanel.Meta>\n )}\n {span.runId && (\n <DataPanel.Meta icon={<HashIcon />} tooltip={`Run Id ${span.runId}`}>\n {truncateString(span.runId, 8)}\n </DataPanel.Meta>\n )}\n </DataPanel.Metadata>\n );\n}\n"],"names":[],"mappings":";;;;;;AAcO,SAAS,sBAAA,CAAuB,EAAE,IAAA,EAAK,EAAgC;AAC5E,EAAA,MAAM,SAAA,GAAY,mBAAA,CAAoB,IAAA,CAAK,SAAS,CAAA;AACpD,EAAA,MAAM,cAAA,GAAiB,wBAAA,CAAyB,IAAA,CAAK,SAAS,CAAA;AAC9D,EAAA,MAAM,QAAA,GAAW,yBAAA,CAA0B,IAAA,CAAK,SAAA,EAAW,KAAK,OAAO,CAAA;AAEvE,EAAA,uBACE,IAAA,CAAC,SAAA,CAAU,QAAA,EAAV,EACE,QAAA,EAAA;AAAA,IAAA,SAAA,IAAa,cAAA,oBACZ,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAM,GAAA,CAAC,iBAAA,EAAA,EAAkB,CAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,cAAc,IAC/E,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,IAED,QAAA,oBACC,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,QAAQ,IAC/D,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,IAED,KAAK,KAAA,oBACJ,GAAA,CAAC,UAAU,IAAA,EAAV,EAAe,sBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,GAAI,OAAA,EAAS,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA,EAC9D,yBAAe,IAAA,CAAK,KAAA,EAAO,CAAC,CAAA,EAC/B;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"span-summary-description.es.js","sources":["../../../../src/domains/traces/components/span-summary-description.tsx"],"sourcesContent":["import { CalendarClockIcon, HashIcon, TimerIcon } from 'lucide-react';\nimport { getSpanDurationMs } from '../utils/span-utils';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { truncateString } from '@/lib/truncate-string';\nimport { formatDate, formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport interface SpanSummaryDescriptionProps {\n span: {\n startedAt: Date | string;\n endedAt?: Date | string | null;\n runId?: string | null;\n };\n}\n\n/** Compact span timing + run metadata shown under the span side-panel heading. */\nexport function SpanSummaryDescription({ span }: SpanSummaryDescriptionProps) {\n const startedAt = formatDate(span.startedAt, 'time');\n const exactStartedAt = formatTimestampPrecise(span.startedAt);\n const duration = formatDurationPrecise(getSpanDurationMs(span.startedAt, span.endedAt));\n\n return (\n <DataPanel.Metadata>\n {startedAt && exactStartedAt && (\n <DataPanel.Meta icon={<CalendarClockIcon />} tooltip={`Started at ${exactStartedAt}`}>\n {startedAt}\n </DataPanel.Meta>\n )}\n {duration && (\n <DataPanel.Meta icon={<TimerIcon />} tooltip={`Duration ${duration}`}>\n {duration}\n </DataPanel.Meta>\n )}\n {span.runId && (\n <DataPanel.Meta icon={<HashIcon />} tooltip={`Run Id ${span.runId}`}>\n {truncateString(span.runId, 8)}\n </DataPanel.Meta>\n )}\n </DataPanel.Metadata>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAgBO,SAAS,sBAAA,CAAuB,EAAE,IAAA,EAAK,EAAgC;AAC5E,EAAA,MAAM,SAAA,GAAY,UAAA,CAAW,IAAA,CAAK,SAAA,EAAW,MAAM,CAAA;AACnD,EAAA,MAAM,cAAA,GAAiB,sBAAA,CAAuB,IAAA,CAAK,SAAS,CAAA;AAC5D,EAAA,MAAM,WAAW,qBAAA,CAAsB,iBAAA,CAAkB,KAAK,SAAA,EAAW,IAAA,CAAK,OAAO,CAAC,CAAA;AAEtF,EAAA,uBACE,IAAA,CAAC,SAAA,CAAU,QAAA,EAAV,EACE,QAAA,EAAA;AAAA,IAAA,SAAA,IAAa,cAAA,oBACZ,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAM,GAAA,CAAC,iBAAA,EAAA,EAAkB,CAAA,EAAI,OAAA,EAAS,CAAA,WAAA,EAAc,cAAc,IAC/E,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,IAED,QAAA,oBACC,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV,EAAe,IAAA,kBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,CAAA,EAAI,OAAA,EAAS,CAAA,SAAA,EAAY,QAAQ,IAC/D,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,IAED,KAAK,KAAA,oBACJ,GAAA,CAAC,UAAU,IAAA,EAAV,EAAe,sBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,GAAI,OAAA,EAAS,CAAA,OAAA,EAAU,KAAK,KAAK,CAAA,CAAA,EAC9D,yBAAe,IAAA,CAAK,KAAA,EAAO,CAAC,CAAA,EAC/B;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}