@mastra/playground-ui 68.0.0 → 69.0.0-alpha.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.
- package/README.md +80 -8
- package/dist/AgentIndicator-Dnv_1hvF.js +1995 -0
- package/dist/AgentIndicator-Dnv_1hvF.js.map +1 -0
- package/dist/AgentIndicator-zCokR2zb.cjs +2012 -0
- package/dist/AgentIndicator-zCokR2zb.cjs.map +1 -0
- package/dist/{AttachmentCard-DbGp7TYl.js → AttachmentCard-Bt3-QAxJ.js} +3 -3
- package/dist/{AttachmentCard-DbGp7TYl.js.map → AttachmentCard-Bt3-QAxJ.js.map} +1 -1
- package/dist/{AttachmentCard-CciBqu7E.cjs → AttachmentCard-BycDEelL.cjs} +3 -3
- package/dist/{AttachmentCard-CciBqu7E.cjs.map → AttachmentCard-BycDEelL.cjs.map} +1 -1
- package/dist/{Avatar-Dj8aP7OI.js → Avatar-DOoEXudh.js} +3 -3
- package/dist/{Avatar-Dj8aP7OI.js.map → Avatar-DOoEXudh.js.map} +1 -1
- package/dist/{Avatar-Iiqjad9K.cjs → Avatar-Dxpc0YUx.cjs} +3 -3
- package/dist/{Avatar-Iiqjad9K.cjs.map → Avatar-Dxpc0YUx.cjs.map} +1 -1
- package/dist/{Badge-aVu5iGAF.js → Badge-C7NnqmMx.js} +3 -3
- package/dist/{Badge-aVu5iGAF.js.map → Badge-C7NnqmMx.js.map} +1 -1
- package/dist/{Badge-DZ6r6bcw.cjs → Badge-DqaMg7Gy.cjs} +3 -3
- package/dist/{Badge-DZ6r6bcw.cjs.map → Badge-DqaMg7Gy.cjs.map} +1 -1
- package/dist/{Button-DLcMcuUL.cjs → Button-BfICfyxD.cjs} +5 -5
- package/dist/Button-BfICfyxD.cjs.map +1 -0
- package/dist/{Button-CLXTbAY8.js → Button-Bi7aXd_G.js} +5 -5
- package/dist/Button-Bi7aXd_G.js.map +1 -0
- package/dist/{Card-C6iEBgVq.cjs → Card-C9oCXvxU.cjs} +3 -3
- package/dist/{Card-C6iEBgVq.cjs.map → Card-C9oCXvxU.cjs.map} +1 -1
- package/dist/{Card-LU1aWO7U.js → Card-ClDoUQNb.js} +3 -3
- package/dist/{Card-LU1aWO7U.js.map → Card-ClDoUQNb.js.map} +1 -1
- package/dist/{CodeEditor-CLzs0yVc.cjs → CodeEditor-DHIDfP5g.cjs} +8 -8
- package/dist/{CodeEditor-CLzs0yVc.cjs.map → CodeEditor-DHIDfP5g.cjs.map} +1 -1
- package/dist/{CodeEditor-COnz9c6B.js → CodeEditor-ZoBu3Gjw.js} +8 -8
- package/dist/{CodeEditor-COnz9c6B.js.map → CodeEditor-ZoBu3Gjw.js.map} +1 -1
- package/dist/{Comment-0n98b_f_.js → Comment-2q9SomE2.js} +5 -5
- package/dist/{Comment-0n98b_f_.js.map → Comment-2q9SomE2.js.map} +1 -1
- package/dist/{Comment-Cg0f7eLa.cjs → Comment-rQxuMDQv.cjs} +6 -6
- package/dist/{Comment-Cg0f7eLa.cjs.map → Comment-rQxuMDQv.cjs.map} +1 -1
- package/dist/{Composer-D1gF-0jZ.js → Composer-bVE8qK52.js} +19 -14
- package/dist/Composer-bVE8qK52.js.map +1 -0
- package/dist/{Composer-BcueJvdX.cjs → Composer-u1K6edoZ.cjs} +18 -13
- package/dist/Composer-u1K6edoZ.cjs.map +1 -0
- package/dist/{DataCodeSection-CFxXsQWH.cjs → DataCodeSection-7SvRJj6f.cjs} +8 -8
- package/dist/{DataCodeSection-CFxXsQWH.cjs.map → DataCodeSection-7SvRJj6f.cjs.map} +1 -1
- package/dist/{DataCodeSection-PY9XEg2C.js → DataCodeSection-CTodi9wg.js} +8 -8
- package/dist/{DataCodeSection-PY9XEg2C.js.map → DataCodeSection-CTodi9wg.js.map} +1 -1
- package/dist/{DataDetailsPanel-DiyjEXqK.cjs → DataDetailsPanel-BDoD6pxx.cjs} +7 -7
- package/dist/{DataDetailsPanel-DiyjEXqK.cjs.map → DataDetailsPanel-BDoD6pxx.cjs.map} +1 -1
- package/dist/{DataDetailsPanel-CohEKPm4.js → DataDetailsPanel-BU05psHL.js} +7 -7
- package/dist/{DataDetailsPanel-CohEKPm4.js.map → DataDetailsPanel-BU05psHL.js.map} +1 -1
- package/dist/{DataKeysAndValues-PwOmGxyp.js → DataKeysAndValues-B56je3sK.js} +2 -2
- package/dist/{DataKeysAndValues-PwOmGxyp.js.map → DataKeysAndValues-B56je3sK.js.map} +1 -1
- package/dist/{DataKeysAndValues-DsH6AbAo.cjs → DataKeysAndValues-BbKeVxrQ.cjs} +2 -2
- package/dist/{DataKeysAndValues-DsH6AbAo.cjs.map → DataKeysAndValues-BbKeVxrQ.cjs.map} +1 -1
- package/dist/{DataList-CUhRQAv6.js → DataList-B7ho6PrJ.js} +8 -8
- package/dist/{DataList-CUhRQAv6.js.map → DataList-B7ho6PrJ.js.map} +1 -1
- package/dist/{DataList-Cj0mfk19.cjs → DataList-DTIdllb-.cjs} +8 -8
- package/dist/{DataList-Cj0mfk19.cjs.map → DataList-DTIdllb-.cjs.map} +1 -1
- package/dist/{DataPanel-Coc9h35I.cjs → DataPanel-BRRAvWYQ.cjs} +10 -10
- package/dist/{DataPanel-Coc9h35I.cjs.map → DataPanel-BRRAvWYQ.cjs.map} +1 -1
- package/dist/{DataPanel-IgB9D5PO.js → DataPanel-pVr5LVaK.js} +10 -10
- package/dist/{DataPanel-IgB9D5PO.js.map → DataPanel-pVr5LVaK.js.map} +1 -1
- package/dist/{Dialog-BvWF9HE-.cjs → Dialog-Duy3M1ny.cjs} +3 -3
- package/dist/{Dialog-BvWF9HE-.cjs.map → Dialog-Duy3M1ny.cjs.map} +1 -1
- package/dist/{Dialog-DaWtxwd9.js → Dialog-OBPu3rl2.js} +3 -3
- package/dist/{Dialog-DaWtxwd9.js.map → Dialog-OBPu3rl2.js.map} +1 -1
- package/dist/{EmptyState-DxDHlYqD.cjs → EmptyState-Dc-sP95H.cjs} +2 -2
- package/dist/{EmptyState-DxDHlYqD.cjs.map → EmptyState-Dc-sP95H.cjs.map} +1 -1
- package/dist/{EmptyState-P-Gy898T.js → EmptyState-i88y1x75.js} +2 -2
- package/dist/{EmptyState-P-Gy898T.js.map → EmptyState-i88y1x75.js.map} +1 -1
- package/dist/{ErrorBoundary-B5GjmA6V.cjs → ErrorBoundary-Bwoum0sT.cjs} +3 -3
- package/dist/{ErrorBoundary-B5GjmA6V.cjs.map → ErrorBoundary-Bwoum0sT.cjs.map} +1 -1
- package/dist/{ErrorBoundary-Cat3KU86.js → ErrorBoundary-BzmaWe2y.js} +3 -3
- package/dist/{ErrorBoundary-Cat3KU86.js.map → ErrorBoundary-BzmaWe2y.js.map} +1 -1
- package/dist/{FilterBar-PSQ1OwqH.js → FilterBar-Kmn6gMgO.js} +14 -15
- package/dist/FilterBar-Kmn6gMgO.js.map +1 -0
- package/dist/{FilterBar-BSP2UTjc.cjs → FilterBar-jBz6yaNu.cjs} +13 -14
- package/dist/FilterBar-jBz6yaNu.cjs.map +1 -0
- package/dist/{LogsDataList-BI2C5OJz.js → LogsDataList-Cdo_U0Ei.js} +5 -5
- package/dist/{LogsDataList-BI2C5OJz.js.map → LogsDataList-Cdo_U0Ei.js.map} +1 -1
- package/dist/{LogsDataList-CCIfUPGo.cjs → LogsDataList-z0Y2X8P5.cjs} +5 -5
- package/dist/{LogsDataList-CCIfUPGo.cjs.map → LogsDataList-z0Y2X8P5.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-y65WGBhC.cjs → MarkdownRenderer-CUYpmuPh.cjs} +6 -6
- package/dist/{MarkdownRenderer-y65WGBhC.cjs.map → MarkdownRenderer-CUYpmuPh.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-CI30RqdB.js → MarkdownRenderer-CY8LGt-l.js} +6 -6
- package/dist/{MarkdownRenderer-CI30RqdB.js.map → MarkdownRenderer-CY8LGt-l.js.map} +1 -1
- package/dist/MarkdownRenderer.css +77 -6
- package/dist/{Message-jj56lxNL.cjs → Message-CgO_SxI4.cjs} +20 -9
- package/dist/Message-CgO_SxI4.cjs.map +1 -0
- package/dist/{Message-CWzi5F_Q.js → Message-DnnCoSef.js} +20 -9
- package/dist/{Message-CWzi5F_Q.js.map → Message-DnnCoSef.js.map} +1 -1
- package/dist/{MessageScroller-CGsfTd1Z.cjs → MessageScroller-D-mK1uuu.cjs} +50 -26
- package/dist/MessageScroller-D-mK1uuu.cjs.map +1 -0
- package/dist/{MessageScroller-DvaKlm4O.js → MessageScroller-nV_zBF3H.js} +50 -26
- package/dist/MessageScroller-nV_zBF3H.js.map +1 -0
- package/dist/Metadata-5GJlO4GU.cjs +32 -0
- package/dist/Metadata-5GJlO4GU.cjs.map +1 -0
- package/dist/Metadata-DlVgmRTA.js +27 -0
- package/dist/Metadata-DlVgmRTA.js.map +1 -0
- package/dist/{MetricsCard-BEwiS7Pe.cjs → MetricsCard-DojbLiEx.cjs} +19 -6
- package/dist/MetricsCard-DojbLiEx.cjs.map +1 -0
- package/dist/{MetricsCard-ua6C6b8a.js → MetricsCard-kAqSCPPe.js} +20 -7
- package/dist/MetricsCard-kAqSCPPe.js.map +1 -0
- package/dist/{MetricsKpiCard-OHbAElTl.js → MetricsKpiCard-1blTbzUs.js} +6 -6
- package/dist/{MetricsKpiCard-OHbAElTl.js.map → MetricsKpiCard-1blTbzUs.js.map} +1 -1
- package/dist/{MetricsKpiCard-By_-sagx.cjs → MetricsKpiCard-C_9GvRAp.cjs} +6 -6
- package/dist/{MetricsKpiCard-By_-sagx.cjs.map → MetricsKpiCard-C_9GvRAp.cjs.map} +1 -1
- package/dist/{MetricsLineChart-4SwxBbQx.js → MetricsLineChart-4w5lpH63.js} +3 -3
- package/dist/{MetricsLineChart-4SwxBbQx.js.map → MetricsLineChart-4w5lpH63.js.map} +1 -1
- package/dist/{MetricsLineChart-tZxsauau.cjs → MetricsLineChart-BnY9JKzc.cjs} +3 -3
- package/dist/{MetricsLineChart-tZxsauau.cjs.map → MetricsLineChart-BnY9JKzc.cjs.map} +1 -1
- package/dist/{MetricsStackedBarChart-D2QyS4-z.js → MetricsStackedBarChart-Bmk0OjYp.js} +7 -7
- package/dist/{MetricsStackedBarChart-D2QyS4-z.js.map → MetricsStackedBarChart-Bmk0OjYp.js.map} +1 -1
- package/dist/{MetricsStackedBarChart-CDLE76IB.cjs → MetricsStackedBarChart-CJQF99sc.cjs} +7 -7
- package/dist/{MetricsStackedBarChart-CDLE76IB.cjs.map → MetricsStackedBarChart-CJQF99sc.cjs.map} +1 -1
- package/dist/{MetricsTable-BSl81oNe.cjs → MetricsTable-CvMoo2vg.cjs} +3 -3
- package/dist/{MetricsTable-BSl81oNe.cjs.map → MetricsTable-CvMoo2vg.cjs.map} +1 -1
- package/dist/{MetricsTable-DID6LRoP.js → MetricsTable-DIjbD5Xk.js} +3 -3
- package/dist/{MetricsTable-DID6LRoP.js.map → MetricsTable-DIjbD5Xk.js.map} +1 -1
- package/dist/{Notice-JZ7SW7q6.cjs → Notice-B_KjMmA6.cjs} +3 -3
- package/dist/{Notice-JZ7SW7q6.cjs.map → Notice-B_KjMmA6.cjs.map} +1 -1
- package/dist/{Notice-C-8oOZZF.js → Notice-OSlG42lD.js} +2 -2
- package/dist/{Notice-C-8oOZZF.js.map → Notice-OSlG42lD.js.map} +1 -1
- package/dist/{PageLayout-DFRzcnkf.cjs → PageLayout-C0Fo3ZQC.cjs} +3 -3
- package/dist/{PageLayout-DFRzcnkf.cjs.map → PageLayout-C0Fo3ZQC.cjs.map} +1 -1
- package/dist/{PageLayout-CyM_Op3c.js → PageLayout-DLll7ZwB.js} +3 -3
- package/dist/{PageLayout-CyM_Op3c.js.map → PageLayout-DLll7ZwB.js.map} +1 -1
- package/dist/{SankeyChart-E68mYEs2.js → SankeyChart-lkM5cpOC.js} +3 -3
- package/dist/{SankeyChart-E68mYEs2.js.map → SankeyChart-lkM5cpOC.js.map} +1 -1
- package/dist/{SankeyChart-DHeJ45KN.cjs → SankeyChart-m50vrsBS.cjs} +3 -3
- package/dist/{SankeyChart-DHeJ45KN.cjs.map → SankeyChart-m50vrsBS.cjs.map} +1 -1
- package/dist/{Section-CyGQZR7U.cjs → Section-B8MIbDDs.cjs} +3 -3
- package/dist/{Section-CyGQZR7U.cjs.map → Section-B8MIbDDs.cjs.map} +1 -1
- package/dist/{Section-CWFQ8jNS.js → Section-C9Fgv-IF.js} +3 -3
- package/dist/{Section-CWFQ8jNS.js.map → Section-C9Fgv-IF.js.map} +1 -1
- package/dist/{ShareBar-3Z5np-NY.cjs → ShareBar-DERy_egz.cjs} +2 -2
- package/dist/{ShareBar-3Z5np-NY.cjs.map → ShareBar-DERy_egz.cjs.map} +1 -1
- package/dist/{ShareBar-D6dWWl4C.js → ShareBar-KrzzdcyI.js} +2 -2
- package/dist/{ShareBar-D6dWWl4C.js.map → ShareBar-KrzzdcyI.js.map} +1 -1
- package/dist/{Tree-BplQcY8u.cjs → Tree-Caz4FTCU.cjs} +3 -3
- package/dist/{Tree-BplQcY8u.cjs.map → Tree-Caz4FTCU.cjs.map} +1 -1
- package/dist/{Tree-CoLkeBCL.js → Tree-od43gLMO.js} +3 -3
- package/dist/{Tree-CoLkeBCL.js.map → Tree-od43gLMO.js.map} +1 -1
- package/dist/{Txt-BM6TVV_c.js → Txt-5efBsb2p.js} +2 -2
- package/dist/{Txt-BM6TVV_c.js.map → Txt-5efBsb2p.js.map} +1 -1
- package/dist/{Txt-BnoSqxKE.cjs → Txt-_00wWxTd.cjs} +2 -2
- package/dist/{Txt-BnoSqxKE.cjs.map → Txt-_00wWxTd.cjs.map} +1 -1
- package/dist/{Workflow-DSWQ-ROz.cjs → Workflow-XR5L-3cJ.cjs} +15 -14
- package/dist/Workflow-XR5L-3cJ.cjs.map +1 -0
- package/dist/{Workflow-C3SlEdP-.js → Workflow-mIbUYdv0.js} +15 -14
- package/dist/Workflow-mIbUYdv0.js.map +1 -0
- package/dist/{activity-CcQZeDYi.cjs → activity-BprmG6yH.cjs} +10 -10
- package/dist/activity-BprmG6yH.cjs.map +1 -0
- package/dist/{activity-C8Ql81WM.js → activity-ClFChYfl.js} +10 -10
- package/dist/activity-ClFChYfl.js.map +1 -0
- package/dist/annotations.css +8 -0
- package/dist/{ask-user-DPznrqGO.js → ask-user-D4ezQ6pt.js} +5 -5
- package/dist/{ask-user-DPznrqGO.js.map → ask-user-D4ezQ6pt.js.map} +1 -1
- package/dist/{ask-user-C1p2PEYe.cjs → ask-user-DcnUNMM5.cjs} +5 -5
- package/dist/{ask-user-C1p2PEYe.cjs.map → ask-user-DcnUNMM5.cjs.map} +1 -1
- package/dist/{buttons-group-DkFlnMiL.js → buttons-group-DA_wORqQ.js} +2 -2
- package/dist/{buttons-group-DkFlnMiL.js.map → buttons-group-DA_wORqQ.js.map} +1 -1
- package/dist/{buttons-group-Dc6R7YSs.cjs → buttons-group-DM6_Kohs.cjs} +2 -2
- package/dist/{buttons-group-Dc6R7YSs.cjs.map → buttons-group-DM6_Kohs.cjs.map} +1 -1
- package/dist/chat-shell-context-0m1GVhS7.js +16 -0
- package/dist/chat-shell-context-0m1GVhS7.js.map +1 -0
- package/dist/chat-shell-context-ONCslAGn.cjs +39 -0
- package/dist/chat-shell-context-ONCslAGn.cjs.map +1 -0
- package/dist/{clear-filters-button-CNrRuHOY.js → clear-filters-button-C79dzuzA.js} +2 -2
- package/dist/{clear-filters-button-CNrRuHOY.js.map → clear-filters-button-C79dzuzA.js.map} +1 -1
- package/dist/{clear-filters-button-Buc973vw.cjs → clear-filters-button-CCO-y7kt.cjs} +2 -2
- package/dist/{clear-filters-button-Buc973vw.cjs.map → clear-filters-button-CCO-y7kt.cjs.map} +1 -1
- package/dist/{combobox-DIT_6xiG.cjs → combobox-i723LxeC.cjs} +33 -29
- package/dist/combobox-i723LxeC.cjs.map +1 -0
- package/dist/{combobox-D21no8t5.js → combobox-lbSxWRMl.js} +33 -29
- package/dist/combobox-lbSxWRMl.js.map +1 -0
- package/dist/{combobox-parts-C4phOq4t.cjs → combobox-parts-BeNqgCbj.cjs} +27 -12
- package/dist/combobox-parts-BeNqgCbj.cjs.map +1 -0
- package/dist/{combobox-parts-D90ir0Py.js → combobox-parts-C9o4UfH_.js} +22 -13
- package/dist/combobox-parts-C9o4UfH_.js.map +1 -0
- package/dist/components/AgentIndicator.cjs.js +1 -1
- package/dist/components/AgentIndicator.es.js +1 -1
- package/dist/components/AlertDialog.cjs.js +2 -2
- package/dist/components/AlertDialog.es.js +2 -2
- package/dist/components/AttachmentCard.cjs.js +1 -1
- package/dist/components/AttachmentCard.es.js +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +6 -5
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +6 -5
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/Button.cjs.js +2 -2
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ButtonsGroup.cjs.js +1 -1
- package/dist/components/ButtonsGroup.es.js +1 -1
- package/dist/components/Card.cjs.js +1 -1
- package/dist/components/Card.es.js +1 -1
- package/dist/components/ChartSkeleton.cjs.js +2 -2
- package/dist/components/ChartSkeleton.es.js +2 -2
- package/dist/components/ChartTooltip.cjs.js +1 -1
- package/dist/components/ChartTooltip.es.js +1 -1
- package/dist/components/ChatShell.cjs.js +33 -9
- package/dist/components/ChatShell.cjs.js.map +1 -1
- package/dist/components/ChatShell.es.js +33 -9
- package/dist/components/ChatShell.es.js.map +1 -1
- package/dist/components/Checkbox.cjs.js +1 -1
- package/dist/components/Checkbox.es.js +1 -1
- package/dist/components/ClampedText.cjs.js +3 -3
- package/dist/components/ClampedText.es.js +3 -3
- package/dist/components/ClearFiltersButton.cjs.js +1 -1
- package/dist/components/ClearFiltersButton.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +5 -5
- package/dist/components/CodeBlock.es.js +5 -5
- package/dist/components/CodeDiff.cjs.js +3 -3
- package/dist/components/CodeDiff.es.js +2 -2
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Collapsible.cjs.js +1 -1
- package/dist/components/Collapsible.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +1 -1
- package/dist/components/CollapsibleBox.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +5 -5
- package/dist/components/Command.es.js +5 -5
- package/dist/components/CommandPalette.cjs.js +7 -7
- package/dist/components/CommandPalette.cjs.js.map +1 -1
- package/dist/components/CommandPalette.es.js +7 -7
- package/dist/components/CommandPalette.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/CompactNumber.cjs.js +2 -2
- package/dist/components/CompactNumber.es.js +2 -2
- package/dist/components/Composer.cjs.js +1 -1
- package/dist/components/Composer.es.js +1 -1
- package/dist/components/ContextMenu.cjs.js +1 -1
- package/dist/components/ContextMenu.es.js +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +1 -1
- package/dist/components/DataDetailsPanel.es.js +1 -1
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +9 -9
- package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
- package/dist/components/DateRangeTimeline.es.js +9 -9
- package/dist/components/DateRangeTimeline.es.js.map +1 -1
- package/dist/components/DateTimePicker.cjs.js +75 -142
- package/dist/components/DateTimePicker.cjs.js.map +1 -1
- package/dist/components/DateTimePicker.es.js +79 -146
- package/dist/components/DateTimePicker.es.js.map +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/DiffStat.cjs.js +1 -1
- package/dist/components/DiffStat.es.js +1 -1
- package/dist/components/DisabledFeatureButton.cjs.js +3 -3
- package/dist/components/DisabledFeatureButton.es.js +3 -3
- package/dist/components/DisclosureChevron.cjs.js +1 -1
- package/dist/components/DisclosureChevron.es.js +1 -1
- package/dist/components/Drawer.cjs.js +2 -2
- package/dist/components/Drawer.es.js +2 -2
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EmptyState.cjs.js +1 -1
- package/dist/components/EmptyState.es.js +1 -1
- package/dist/components/Entity.cjs.js +3 -3
- package/dist/components/Entity.es.js +3 -3
- package/dist/components/EntityHeader.cjs.js +2 -2
- package/dist/components/EntityHeader.es.js +2 -2
- package/dist/components/Entry.cjs.js +1 -1
- package/dist/components/Entry.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +6 -6
- package/dist/components/EnvironmentVariablesEditor.es.js +6 -6
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/Field.cjs.js +2 -2
- package/dist/components/Field.es.js +2 -2
- package/dist/components/FileDropBackdrop.cjs.js +1 -1
- package/dist/components/FileDropBackdrop.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +3 -3
- package/dist/components/FilterBar.es.js +3 -3
- package/dist/components/FormFieldBlocks.cjs.js +5 -5
- package/dist/components/FormFieldBlocks.es.js +6 -6
- package/dist/components/Header.cjs.js +1 -1
- package/dist/components/Header.es.js +1 -1
- package/dist/components/HoverCard.cjs.js +1 -1
- package/dist/components/HoverCard.es.js +1 -1
- package/dist/components/Input.cjs.js +1 -1
- package/dist/components/Input.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +3 -3
- package/dist/components/InputNumber.es.js +3 -3
- package/dist/components/JSONSchemaForm.cjs.js +4 -4
- package/dist/components/JSONSchemaForm.es.js +4 -4
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/KeyValueList.cjs.js +2 -2
- package/dist/components/KeyValueList.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MainHeader.cjs.js +1 -1
- package/dist/components/MainHeader.es.js +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +1 -1
- package/dist/components/Message.es.js +1 -1
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +1 -1
- package/dist/components/Metadata.cjs.js +3 -0
- package/dist/components/Metadata.d.ts +1 -0
- package/dist/components/Metadata.es.js +1 -0
- package/dist/components/Meter.cjs.js +3 -3
- package/dist/components/Meter.es.js +3 -3
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsKpiCard.cjs.js +1 -1
- package/dist/components/MetricsKpiCard.es.js +1 -1
- package/dist/components/MetricsLineChart.cjs.js +1 -1
- package/dist/components/MetricsLineChart.es.js +1 -1
- package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
- package/dist/components/MetricsStackedBarChart.es.js +1 -1
- package/dist/components/MetricsTable.cjs.js +1 -1
- package/dist/components/MetricsTable.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +1 -1
- package/dist/components/PageLayout.es.js +1 -1
- package/dist/components/Popover.cjs.js +1 -1
- package/dist/components/Popover.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/ProductAvatar.cjs.js +2 -2
- package/dist/components/ProductAvatar.es.js +2 -2
- package/dist/components/ProductBadge.cjs.js +2 -2
- package/dist/components/ProductBadge.es.js +2 -2
- package/dist/components/PropertyFilter.cjs.js +9 -9
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +9 -9
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RadioGroup.cjs.js +1 -1
- package/dist/components/RadioGroup.es.js +1 -1
- package/dist/components/RelativeTimestamp.cjs.js +6 -30
- package/dist/components/RelativeTimestamp.cjs.js.map +1 -1
- package/dist/components/RelativeTimestamp.es.js +7 -31
- package/dist/components/RelativeTimestamp.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +22 -22
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +5 -5
- package/dist/components/SankeyChart.cjs.js +1 -1
- package/dist/components/SankeyChart.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +9 -9
- package/dist/components/SavedViews.es.js +9 -9
- package/dist/components/ScatterPlotChart.cjs.js +2 -2
- package/dist/components/ScatterPlotChart.es.js +2 -2
- package/dist/components/ScrollArea.cjs.js +1 -1
- package/dist/components/ScrollArea.es.js +1 -1
- package/dist/components/SearchInput.cjs.js +2 -2
- package/dist/components/SearchInput.es.js +2 -2
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SectionCard.cjs.js +1 -1
- package/dist/components/SectionCard.es.js +1 -1
- package/dist/components/SegmentedControl.cjs.js +3 -3
- package/dist/components/SegmentedControl.es.js +3 -3
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/ShareBar.cjs.js +1 -1
- package/dist/components/ShareBar.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +8 -8
- package/dist/components/SideDialog.es.js +8 -8
- package/dist/components/Sidebar.cjs.js +14 -14
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +15 -15
- package/dist/components/Sidebar.es.js.map +1 -1
- package/dist/components/Skeleton.cjs.js +1 -1
- package/dist/components/Skeleton.es.js +1 -1
- package/dist/components/Spinner.cjs.js +1 -1
- package/dist/components/Spinner.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +3 -3
- package/dist/components/StatusIndicators.es.js +3 -3
- package/dist/components/Steps.cjs.js +73 -3
- package/dist/components/Steps.cjs.js.map +1 -1
- package/dist/components/Steps.es.js +73 -4
- package/dist/components/Steps.es.js.map +1 -1
- package/dist/components/Switch.cjs.js +2 -2
- package/dist/components/Switch.es.js +2 -2
- package/dist/components/Table.cjs.js +4 -4
- package/dist/components/Table.es.js +4 -4
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/Text.cjs.js +1 -1
- package/dist/components/Text.es.js +1 -1
- package/dist/components/Textarea.cjs.js +2 -2
- package/dist/components/Textarea.es.js +2 -2
- package/dist/components/ThinkingLevel.cjs.js +5 -5
- package/dist/components/ThinkingLevel.cjs.js.map +1 -1
- package/dist/components/ThinkingLevel.es.js +5 -5
- package/dist/components/ThinkingLevel.es.js.map +1 -1
- package/dist/components/ThreadList.cjs.js +2 -2
- package/dist/components/ThreadList.es.js +2 -2
- package/dist/components/ThreadRail.cjs.js +8 -8
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js +8 -8
- package/dist/components/ThreadRail.es.js.map +1 -1
- package/dist/components/Toaster.cjs.js +4 -4
- package/dist/components/Toaster.es.js +3 -3
- package/dist/components/TokenBudget.cjs.js +3 -3
- package/dist/components/TokenBudget.es.js +2 -2
- package/dist/components/Tooltip.cjs.js +2 -2
- package/dist/components/Tooltip.es.js +2 -2
- package/dist/components/Tree.cjs.js +1 -1
- package/dist/components/Tree.es.js +1 -1
- package/dist/components/Truncate.cjs.js +3 -3
- package/dist/components/Truncate.es.js +3 -3
- package/dist/components/Txt.cjs.js +1 -1
- package/dist/components/Txt.es.js +1 -1
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/annotations.cjs.js +836 -0
- package/dist/components/ai/annotations.cjs.js.map +1 -0
- package/dist/components/ai/annotations.d.ts +1 -0
- package/dist/components/ai/annotations.es.js +831 -0
- package/dist/components/ai/annotations.es.js.map +1 -0
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +6 -6
- package/dist/components/ai/plan.es.js +6 -6
- package/dist/components/ai/task-list.cjs.js +4 -4
- package/dist/components/ai/task-list.cjs.js.map +1 -1
- package/dist/components/ai/task-list.es.js +4 -4
- package/dist/components/ai/task-list.es.js.map +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +7 -2
- package/dist/components/ai/tool-call.es.js +3 -3
- package/dist/components/ai/transcript-divider.cjs.js +1 -1
- package/dist/components/ai/transcript-divider.es.js +1 -1
- package/dist/{context-menu-Dv0NU0oM.js → context-menu-6_Kcs8kj.js} +3 -3
- package/dist/{context-menu-Dv0NU0oM.js.map → context-menu-6_Kcs8kj.js.map} +1 -1
- package/dist/{context-menu-DTFPCyae.cjs → context-menu-DwB7u7fB.cjs} +3 -3
- package/dist/{context-menu-DTFPCyae.cjs.map → context-menu-DwB7u7fB.cjs.map} +1 -1
- package/dist/{copy-button-BXrbevLn.js → copy-button-B-_Z6N6y.js} +2 -2
- package/dist/{copy-button-BXrbevLn.js.map → copy-button-B-_Z6N6y.js.map} +1 -1
- package/dist/{copy-button-DJAQ6_3o.cjs → copy-button-DuEUYvS2.cjs} +2 -2
- package/dist/{copy-button-DJAQ6_3o.cjs.map → copy-button-DuEUYvS2.cjs.map} +1 -1
- package/dist/{data-list-C4Vmq5HA.cjs → data-list-072hHK9L.cjs} +7 -7
- package/dist/{data-list-C4Vmq5HA.cjs.map → data-list-072hHK9L.cjs.map} +1 -1
- package/dist/{data-list-DHCOoLmj.js → data-list-GzbzPmYR.js} +7 -7
- package/dist/{data-list-DHCOoLmj.js.map → data-list-GzbzPmYR.js.map} +1 -1
- package/dist/{date-time-range-picker-CWGjoR3j.cjs → date-time-range-picker-Bq-8IPtS.cjs} +141 -112
- package/dist/date-time-range-picker-Bq-8IPtS.cjs.map +1 -0
- package/dist/{date-time-range-picker-CdSiXwB4.js → date-time-range-picker-DdNgKD87.js} +144 -115
- package/dist/date-time-range-picker-DdNgKD87.js.map +1 -0
- package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
- package/dist/domains/auth/components/permission-denied.es.js +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +3 -3
- package/dist/domains/auth/components/session-expired.es.js +3 -3
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +2 -2
- package/dist/domains/chat/activity/activity-stretch-line.es.js +2 -2
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +54 -58
- package/dist/domains/chat/activity/components/activity-fold.cjs.js.map +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +54 -58
- package/dist/domains/chat/activity/components/activity-fold.es.js.map +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +2 -2
- package/dist/domains/chat/activity/components/calls-panel.es.js +2 -2
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +2 -2
- package/dist/domains/chat/activity/components/stretch-content.es.js +2 -2
- package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
- package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
- package/dist/domains/chat/activity/model/activity-words.cjs.js +7 -11
- package/dist/domains/chat/activity/model/activity-words.cjs.js.map +1 -1
- package/dist/domains/chat/activity/model/activity-words.es.js +8 -11
- package/dist/domains/chat/activity/model/activity-words.es.js.map +1 -1
- package/dist/domains/chat/activity.cjs.js +2 -5
- package/dist/domains/chat/activity.es.js +4 -5
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +3 -3
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +3 -3
- package/dist/domains/chat/attachments/composer-attachment-entry.cjs.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-entry.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +4 -4
- package/dist/domains/chat/attachments/composer-attachment.es.js +4 -4
- package/dist/domains/chat/attachments/message-attachment.cjs.js +2 -2
- package/dist/domains/chat/attachments/message-attachment.es.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.cjs.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/message-image-attachment.es.js +2 -2
- package/dist/domains/chat/attachments/message-image-attachment.es.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
- package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
- package/dist/domains/chat/components/loading-badge.cjs.js +2 -2
- package/dist/domains/chat/components/loading-badge.es.js +2 -2
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
- package/dist/domains/chat/components/section-label.cjs.js +1 -1
- package/dist/domains/chat/components/section-label.es.js +1 -1
- package/dist/domains/chat/context/chat-context.cjs.js +2 -0
- package/dist/domains/chat/context/chat-context.cjs.js.map +1 -1
- package/dist/domains/chat/context/chat-context.es.js +2 -1
- package/dist/domains/chat/context/chat-context.es.js.map +1 -1
- package/dist/domains/chat/knowledge/knowledge-links.cjs.js +1 -1
- package/dist/domains/chat/knowledge/knowledge-links.es.js +1 -1
- package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +3 -3
- package/dist/domains/chat/knowledge/pinned-knowledge.es.js +3 -3
- package/dist/domains/chat/knowledge.cjs.js +1 -1
- package/dist/domains/chat/knowledge.es.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
- package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +10 -10
- package/dist/domains/chat/messages/dataset-save-action.es.js +11 -11
- package/dist/domains/chat/messages/message-row.cjs.js +20 -20
- package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
- package/dist/domains/chat/messages/message-row.es.js +20 -20
- package/dist/domains/chat/messages/message-row.es.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +5 -5
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +5 -5
- package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
- package/dist/domains/chat/messages/renderers/data-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/data-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +5 -5
- package/dist/domains/chat/messages/renderers/message-text.es.js +5 -5
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +5 -5
- package/dist/domains/chat/messages/signal-badge.es.js +5 -5
- package/dist/domains/chat/messages/skill-message.cjs.js +4 -4
- package/dist/domains/chat/messages/skill-message.es.js +4 -4
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +4 -4
- package/dist/domains/chat/messages/tripwire-notice.es.js +4 -4
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +7 -6
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +7 -6
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +5 -5
- package/dist/domains/chat/tools/badges/knowledge-body-range.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-body-range.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-body-range.es.js +2 -2
- package/dist/domains/chat/tools/badges/knowledge-body-range.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +34 -28
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +34 -28
- package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +28 -24
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +28 -24
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +4 -4
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +8 -7
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +8 -7
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +3 -3
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +25 -34
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +27 -36
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +19 -26
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +19 -26
- package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +12 -10
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +12 -10
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js +13 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js +13 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/workspace-link.es.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +8 -8
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +8 -8
- package/dist/domains/chat/tools/mcp-input-request-tool.cjs.js +5 -5
- package/dist/domains/chat/tools/mcp-input-request-tool.es.js +5 -5
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +4 -4
- package/dist/domains/chat/tools/submit-plan-tool.es.js +4 -4
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +10 -5
- package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +10 -5
- package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +2 -2
- package/dist/domains/chat/tools/tool-groups.es.js +2 -2
- package/dist/domains/chat.cjs.js +6 -5
- package/dist/domains/chat.es.js +6 -6
- package/dist/domains/connect.cjs.js +1 -1
- package/dist/domains/connect.es.js +1 -1
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js +11 -8
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-grid.es.js +11 -8
- package/dist/domains/dashboards/components/dashboard-grid.es.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +18 -7
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +18 -7
- package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-chrome.cjs.js +1 -1
- package/dist/domains/dashboards/components/widget-chrome.es.js +1 -1
- package/dist/domains/dashboards/components/widget-controls.cjs.js +16 -1
- package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/widget-controls.es.js +16 -2
- package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -1
- package/dist/domains/dashboards/components/widget-error.cjs.js +6 -3
- package/dist/domains/dashboards/components/widget-error.cjs.js.map +1 -1
- package/dist/domains/dashboards/components/widget-error.es.js +6 -3
- package/dist/domains/dashboards/components/widget-error.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +18 -4
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +19 -5
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/kpis.cjs.js +1 -1
- package/dist/domains/dashboards/kinds/kpis.es.js +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +18 -9
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +18 -9
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +1 -1
- package/dist/domains/dashboards/kinds/table/table-cells.es.js +1 -1
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +12 -5
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js +12 -5
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js +7 -7
- package/dist/domains/dashboards/kinds/table/table-view.es.js +7 -7
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +5 -2
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/table/table-widget.es.js +5 -2
- package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/table.cjs.js +1 -1
- package/dist/domains/dashboards/kinds/table.es.js +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +21 -14
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +22 -15
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -1
- package/dist/domains/dashboards/kinds/timeseries.cjs.js +1 -1
- package/dist/domains/dashboards/kinds/timeseries.es.js +1 -1
- package/dist/domains/dashboards/lib/chrome.cjs.js.map +1 -1
- package/dist/domains/dashboards/lib/chrome.es.js.map +1 -1
- package/dist/domains/dashboards/lib/format.cjs.js +1 -1
- package/dist/domains/dashboards/lib/format.es.js +1 -1
- package/dist/domains/dashboards/lib/pin-actions.cjs.js +16 -0
- package/dist/domains/dashboards/lib/pin-actions.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/pin-actions.d.ts +1 -0
- package/dist/domains/dashboards/lib/pin-actions.es.js +15 -0
- package/dist/domains/dashboards/lib/pin-actions.es.js.map +1 -0
- package/dist/domains/dashboards/lib/requests.cjs.js +2 -2
- package/dist/domains/dashboards/lib/requests.es.js +2 -2
- package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -1
- package/dist/domains/dashboards/widget-kind.es.js.map +1 -1
- package/dist/domains/dashboards.cjs.js +11 -10
- package/dist/domains/dashboards.es.js +11 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +11 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +11 -11
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +3 -3
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +6 -6
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +6 -6
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +7 -7
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +7 -7
- package/dist/domains/knowledge/components/KnowledgePageCard.cjs.js +3 -2
- package/dist/domains/knowledge/components/KnowledgePageCard.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageCard.es.js +3 -2
- package/dist/domains/knowledge/components/KnowledgePageCard.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +11 -16
- package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +11 -16
- package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +5 -5
- package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +5 -5
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +11 -10
- package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +10 -9
- package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +1 -1
- package/dist/domains/knowledge/components/KnowledgePageTree.es.js +1 -1
- package/dist/domains/llm/models-dev-logo-slugs.cjs.js +230 -0
- package/dist/domains/llm/models-dev-logo-slugs.cjs.js.map +1 -0
- package/dist/domains/llm/models-dev-logo-slugs.d.ts +1 -0
- package/dist/domains/llm/models-dev-logo-slugs.es.js +229 -0
- package/dist/domains/llm/models-dev-logo-slugs.es.js.map +1 -0
- package/dist/domains/llm/provider-logo-monogram.cjs.js +37 -0
- package/dist/domains/llm/provider-logo-monogram.cjs.js.map +1 -0
- package/dist/domains/llm/provider-logo-monogram.d.ts +1 -0
- package/dist/domains/llm/provider-logo-monogram.es.js +36 -0
- package/dist/domains/llm/provider-logo-monogram.es.js.map +1 -0
- package/dist/domains/llm/provider-logo.cjs.js +46 -17
- package/dist/domains/llm/provider-logo.cjs.js.map +1 -1
- package/dist/domains/llm/provider-logo.es.js +46 -17
- package/dist/domains/llm/provider-logo.es.js.map +1 -1
- package/dist/domains/llm/provider-map-icon.cjs.js +1 -1
- package/dist/domains/llm/provider-map-icon.es.js +1 -1
- package/dist/domains/llm.cjs.js +1 -1
- package/dist/domains/llm.es.js +1 -1
- package/dist/domains/logs/components/log-data-panel.cjs.js +11 -7
- package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +11 -7
- package/dist/domains/logs/components/log-data-panel.es.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +3 -3
- package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +3 -3
- package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
- package/dist/domains/logs.cjs.js +2 -2
- package/dist/domains/logs.es.js +2 -2
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +7 -8
- package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js +6 -7
- package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js +2 -108
- package/dist/domains/mcps/components/mcp-app-viewer.es.js +1 -108
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js +36 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js.map +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.d.ts +1 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js +35 -0
- package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js.map +1 -0
- package/dist/domains/memory/components/flame-graph.cjs.js +4 -4
- package/dist/domains/memory/components/flame-graph.es.js +4 -4
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +6 -6
- package/dist/domains/memory/components/memory-studio-panel.es.js +6 -6
- package/dist/domains/memory/components/observation-detail-view.cjs.js +6 -6
- package/dist/domains/memory/components/observation-detail-view.es.js +6 -6
- package/dist/domains/memory/components/thread-context-progress.cjs.js +2 -2
- package/dist/domains/memory/components/thread-context-progress.es.js +2 -2
- package/dist/domains/memory/components.cjs.js +1 -1
- package/dist/domains/memory/components.es.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +7 -7
- package/dist/domains/metrics/components/agent-runs-card.es.js +7 -7
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-figure.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-figure.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +8 -8
- package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +8 -8
- package/dist/domains/metrics/components/breakdown/breakdown-text.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-text.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +2 -2
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +2 -2
- package/dist/domains/metrics/components/breakdown-card.cjs.js +4 -4
- package/dist/domains/metrics/components/breakdown-card.es.js +4 -4
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-area.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +2 -2
- package/dist/domains/metrics/components/chart-card-error.es.js +2 -2
- package/dist/domains/metrics/components/chart-card.cjs.js +21 -5
- package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +21 -5
- package/dist/domains/metrics/components/chart-card.es.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +5 -5
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +5 -5
- package/dist/domains/metrics/components/failure-rate-card.cjs.js +7 -7
- package/dist/domains/metrics/components/failure-rate-card.es.js +7 -7
- package/dist/domains/metrics/components/kpi-card.cjs.js +1 -1
- package/dist/domains/metrics/components/kpi-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/kpi-card.es.js +1 -1
- package/dist/domains/metrics/components/kpi-card.es.js.map +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +7 -7
- package/dist/domains/metrics/components/latency-card.es.js +7 -7
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +2 -2
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +2 -2
- package/dist/domains/metrics/components/scores-card.cjs.js +4 -4
- package/dist/domains/metrics/components/scores-card.es.js +4 -4
- package/dist/domains/metrics/components/token-usage-card.cjs.js +8 -8
- package/dist/domains/metrics/components/token-usage-card.es.js +8 -8
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +4 -4
- package/dist/domains/metrics/components/trace-volume-card.es.js +4 -4
- package/dist/domains/metrics/components/usage-card.cjs.js +5 -5
- package/dist/domains/metrics/components/usage-card.es.js +5 -5
- package/dist/domains/metrics/components.cjs.js +9 -9
- package/dist/domains/metrics/components.es.js +9 -9
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-activity.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-activity.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-scores.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-scores.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js +2 -2
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +2 -2
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.es.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics.cjs.js +1 -1
- package/dist/domains/metrics/hooks/use-metrics.es.js +1 -1
- package/dist/domains/metrics/hooks.cjs.js +5 -5
- package/dist/domains/metrics/hooks.es.js +5 -5
- package/dist/domains/metrics/lib/breakdown-table.cjs.js +2 -2
- package/dist/domains/metrics/lib/breakdown-table.es.js +2 -2
- package/dist/domains/metrics/lib/series-colors.cjs.js +279 -0
- package/dist/domains/metrics/lib/series-colors.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/series-colors.d.ts +1 -0
- package/dist/domains/metrics/lib/series-colors.es.js +272 -0
- package/dist/domains/metrics/lib/series-colors.es.js.map +1 -0
- package/dist/domains/metrics/lib.cjs.js +9 -3
- package/dist/domains/metrics/lib.es.js +5 -4
- package/dist/domains/metrics.cjs.js +7 -1
- package/dist/domains/metrics.es.js +3 -2
- package/dist/domains/observability/components/observability-capability-gate.cjs.js +3 -3
- package/dist/domains/observability/components/observability-capability-gate.es.js +3 -3
- package/dist/domains/observability/components/observability-histogram.cjs.js +5 -5
- package/dist/domains/observability/components/observability-histogram.cjs.js.map +1 -1
- package/dist/domains/observability/components/observability-histogram.es.js +5 -5
- package/dist/domains/observability/components/observability-histogram.es.js.map +1 -1
- package/dist/domains/observability/components/observability-page-layout.cjs.js +2 -2
- package/dist/domains/observability/components/observability-page-layout.es.js +2 -2
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +3 -3
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +3 -3
- package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
- package/dist/domains/observability/observability-list-url-state.es.js +1 -1
- package/dist/domains/observability/saved-view-state.cjs.js +3 -3
- package/dist/domains/observability/saved-view-state.es.js +3 -3
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +1 -1
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +1 -1
- package/dist/domains/observability/saved-views.cjs.js +2 -2
- package/dist/domains/observability/saved-views.es.js +2 -2
- package/dist/domains/observability.cjs.js +6 -6
- package/dist/domains/observability.es.js +6 -6
- package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
- package/dist/domains/review/components/review-status-badge.es.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +7 -7
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +7 -7
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
- package/dist/domains/scores/components/span-scoring.es.js +4 -4
- package/dist/domains/scores/components/trace-scores-list.cjs.js +5 -5
- package/dist/domains/scores/components/trace-scores-list.es.js +5 -5
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +15 -19
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +15 -19
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/scores/components.cjs.js +1 -1
- package/dist/domains/scores/components.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
- package/dist/domains/skills/skill-simple-form.es.js +4 -4
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +6 -6
- package/dist/domains/spans/components/spans-explorer-body.es.js +7 -7
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +3 -3
- package/dist/domains/spans/components/spans-filter-bar.es.js +3 -3
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +2 -2
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +2 -2
- package/dist/domains/spans/hooks/use-spans-list-source.cjs.js +1 -1
- package/dist/domains/spans/hooks/use-spans-list-source.es.js +1 -1
- package/dist/domains/spans/hooks.cjs.js +1 -1
- package/dist/domains/spans/hooks.es.js +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +6 -6
- package/dist/domains/threads/components/threads-explorer-body.es.js +7 -7
- package/dist/domains/threads/components/threads-filter-bar.cjs.js +3 -3
- package/dist/domains/threads/components/threads-filter-bar.es.js +3 -3
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +2 -2
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +2 -2
- package/dist/domains/threads/hooks/use-threads-list-source.cjs.js +1 -1
- package/dist/domains/threads/hooks/use-threads-list-source.es.js +1 -1
- package/dist/domains/threads/hooks.cjs.js +1 -1
- package/dist/domains/threads/hooks.es.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +2 -2
- package/dist/domains/traces/components/feedback-thread.cjs.js +9 -9
- package/dist/domains/traces/components/feedback-thread.es.js +9 -9
- package/dist/domains/traces/components/format-trace-thread-messages.cjs.js +1 -1
- package/dist/domains/traces/components/format-trace-thread-messages.es.js +1 -1
- package/dist/domains/traces/components/no-traces-info.cjs.js +2 -2
- package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +2 -2
- package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
- package/dist/domains/traces/components/shared.cjs.js +3 -3
- package/dist/domains/traces/components/shared.es.js +3 -3
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +23 -23
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +23 -23
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-details-view.cjs.js +3 -3
- package/dist/domains/traces/components/span-details-view.es.js +3 -3
- package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
- package/dist/domains/traces/components/span-outcome.es.js +1 -1
- package/dist/domains/traces/components/span-outcome.utils.cjs.js +3 -3
- package/dist/domains/traces/components/span-outcome.utils.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-outcome.utils.es.js +3 -3
- package/dist/domains/traces/components/span-outcome.utils.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +5 -5
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +5 -5
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +4 -4
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +7 -7
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +14 -9
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +14 -9
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +7 -7
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-signal-details.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-signal-details.es.js +4 -4
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +6 -6
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +6 -6
- package/dist/domains/traces/components/span-payload.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload.es.js +4 -4
- package/dist/domains/traces/components/span-prompt-changes.cjs.js +17 -10
- package/dist/domains/traces/components/span-prompt-changes.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-prompt-changes.es.js +17 -10
- package/dist/domains/traces/components/span-prompt-changes.es.js.map +1 -1
- package/dist/domains/traces/components/span-rows.cjs.js +1 -1
- package/dist/domains/traces/components/span-rows.es.js +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +3 -3
- package/dist/domains/traces/components/span-summary-description.es.js +3 -3
- package/dist/domains/traces/components/span-timeline-row.cjs.js +10 -10
- package/dist/domains/traces/components/span-timeline-row.es.js +10 -10
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +3 -3
- package/dist/domains/traces/components/span-timing-hover-card.es.js +3 -3
- package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
- package/dist/domains/traces/components/span-token-usage.es.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.utils.es.js +2 -2
- package/dist/domains/traces/components/span-token-usage.utils.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.cjs.js +1 -1
- package/dist/domains/traces/components/span-type-badge.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +5 -5
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +5 -5
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +6 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +6 -6
- package/dist/domains/traces/components/thread-trace.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace.es.js +3 -3
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +7 -7
- package/dist/domains/traces/components/thread-view-by-trace.es.js +7 -7
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js +5 -5
- package/dist/domains/traces/components/thread-view-skeleton.es.js +5 -5
- package/dist/domains/traces/components/timeline-name-col.cjs.js +6 -6
- package/dist/domains/traces/components/timeline-name-col.es.js +6 -6
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +4 -4
- package/dist/domains/traces/components/timeline-timing-col.es.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -5
- package/dist/domains/traces/components/trace-columns-menu.es.js +5 -5
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +13 -13
- package/dist/domains/traces/components/trace-data-panel-view.es.js +13 -13
- package/dist/domains/traces/components/trace-data-panel.cjs.js +2 -2
- package/dist/domains/traces/components/trace-data-panel.es.js +2 -2
- package/dist/domains/traces/components/trace-details-view.cjs.js +3 -3
- package/dist/domains/traces/components/trace-details-view.es.js +3 -3
- package/dist/domains/traces/components/trace-error-cell.cjs.js +2 -2
- package/dist/domains/traces/components/trace-error-cell.es.js +2 -2
- package/dist/domains/traces/components/trace-error-summary.cjs.js +2 -2
- package/dist/domains/traces/components/trace-error-summary.es.js +2 -2
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/trace-messages-skeleton.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +3 -3
- package/dist/domains/traces/components/trace-span-panel.es.js +3 -3
- package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js +6 -6
- package/dist/domains/traces/components/trace-span-timeline-markers.es.js +6 -6
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +5 -5
- package/dist/domains/traces/components/trace-span-timeline.es.js +5 -5
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +2 -2
- package/dist/domains/traces/components/trace-span-tree.cjs.js +2 -2
- package/dist/domains/traces/components/trace-span-tree.es.js +2 -2
- package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
- package/dist/domains/traces/components/trace-status-value.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +5 -5
- package/dist/domains/traces/components/trace-summary-description.es.js +5 -5
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js +5 -5
- package/dist/domains/traces/components/trace-thread-item-view.es.js +5 -5
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-timeline.cjs.js +1 -1
- package/dist/domains/traces/components/trace-timeline.es.js +1 -1
- package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
- package/dist/domains/traces/components/traces-error-content.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +6 -6
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +6 -6
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +3 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +2 -2
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer.cjs.js +4 -4
- package/dist/domains/traces/components/traces-explorer.es.js +4 -4
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
- package/dist/domains/traces/components/traces-list-view.cjs.js +10 -10
- package/dist/domains/traces/components/traces-list-view.es.js +10 -10
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +3 -3
- package/dist/domains/traces/components/traces-spans-switch.es.js +3 -3
- package/dist/domains/traces/components.cjs.js +15 -15
- package/dist/domains/traces/components.es.js +15 -15
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.es.js +1 -1
- package/dist/domains/traces/hooks.cjs.js +4 -4
- package/dist/domains/traces/hooks.es.js +4 -4
- package/dist/domains/traces/utils/span-utils.cjs.js +2 -2
- package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
- package/dist/domains/traces/utils/span-utils.es.js +2 -2
- package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
- package/dist/domains/traces/utils.cjs.js +2 -2
- package/dist/domains/traces/utils.es.js +2 -2
- package/dist/domains/traces.cjs.js +2 -2
- package/dist/domains/traces.es.js +2 -2
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +4 -3
- package/dist/domains/workflows/components/workflow-combobox.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +4 -3
- package/dist/domains/workflows/components/workflow-combobox.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js +6 -6
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.es.js +6 -6
- package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-information.cjs.js +10 -10
- package/dist/domains/workflows/components/workflow-information.es.js +10 -10
- package/dist/domains/workflows/components/workflow-layout.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-layout.es.js +2 -2
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +4 -4
- package/dist/domains/workflows/components/workflow-step-detail.es.js +4 -4
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +11 -11
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +11 -11
- package/dist/domains/workflows/context/playground-workflow-run-provider.cjs.js +1 -1
- package/dist/domains/workflows/context/playground-workflow-run-provider.es.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
- package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
- package/dist/domains/workflows/context/workflow-run-provider.cjs.js +1 -1
- package/dist/domains/workflows/context/workflow-run-provider.es.js +1 -1
- package/dist/domains/workflows/runs/workflow-run-details.cjs.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-details.es.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +26 -21
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.es.js +26 -21
- package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -1
- package/dist/domains/workflows/workflow/data/use-workflow-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/use-workflow-data.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +5 -5
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +5 -5
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +8 -8
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +8 -8
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +3 -3
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +3 -3
- package/dist/domains/workflows/workflow/utils.cjs.js +2 -2
- package/dist/domains/workflows/workflow/utils.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-card.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-card.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +6 -6
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +6 -6
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +7 -7
- package/dist/domains/workflows/workflow/workflow-status.es.js +7 -7
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-steps-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +10 -10
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +10 -10
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +12 -12
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +12 -12
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +9 -9
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +9 -9
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +5 -5
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +5 -5
- package/dist/domains/workflows.cjs.js +4 -4
- package/dist/domains/workflows.es.js +4 -4
- package/dist/domains/workspace/components/mount-icon.cjs.js +1 -1
- package/dist/domains/workspace/components/mount-icon.es.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +4 -4
- package/dist/domains/workspace/components/workspace-active-file.es.js +4 -4
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +10 -10
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +10 -10
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
- package/dist/domains/workspace/components/workspace-context.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-context.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +4 -4
- package/dist/domains/workspace/components/workspace-create-directory.es.js +4 -4
- package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-error.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
- package/dist/domains/workspace/components/workspace-parts.cjs.js +5 -5
- package/dist/domains/workspace/components/workspace-parts.es.js +5 -5
- package/dist/domains/workspace/components/workspace-search.cjs.js +17 -20
- package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +18 -21
- package/dist/domains/workspace/components/workspace-search.es.js.map +1 -1
- package/dist/domains/workspace/components/workspace-tree-view.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-tree-view.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +11 -11
- package/dist/domains/workspace/components/workspace-tree.cjs.js.map +1 -1
- package/dist/domains/workspace/components/workspace-tree.es.js +11 -11
- package/dist/domains/workspace/components/workspace-tree.es.js.map +1 -1
- package/dist/domains/workspace/components/workspace.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace.es.js +1 -1
- package/dist/domains/workspace.cjs.js +3 -3
- package/dist/domains/workspace.es.js +3 -3
- package/dist/{dropdown-menu-B4jY3J9e.js → dropdown-menu-DKoWI8kD.js} +2 -2
- package/dist/{dropdown-menu-B4jY3J9e.js.map → dropdown-menu-DKoWI8kD.js.map} +1 -1
- package/dist/{dropdown-menu-BETTTPBB.cjs → dropdown-menu-Dx-jCOIv.cjs} +2 -2
- package/dist/{dropdown-menu-BETTTPBB.cjs.map → dropdown-menu-Dx-jCOIv.cjs.map} +1 -1
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -4
- package/dist/ee/signals/components/entity-index-compact-grid.es.js +4 -4
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/entity-index-status.cjs.js +2 -2
- package/dist/ee/signals/components/entity-index-status.es.js +2 -2
- package/dist/ee/signals/components/signals-empty-state.cjs.js +12 -21
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +12 -21
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -5
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -5
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +13 -13
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +14 -14
- package/dist/ee/signals/examples-pager.cjs.js +2 -2
- package/dist/ee/signals/examples-pager.es.js +2 -2
- package/dist/ee/signals/flow-card.cjs.js +4 -4
- package/dist/ee/signals/flow-card.es.js +4 -4
- package/dist/ee/signals/lifeline-point.cjs.js +2 -2
- package/dist/ee/signals/lifeline-point.es.js +2 -2
- package/dist/ee/signals/lifeline-row.cjs.js +6 -6
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-row.es.js +6 -6
- package/dist/ee/signals/lifeline-row.es.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +6 -6
- package/dist/ee/signals/noise-detail-panel.es.js +6 -6
- package/dist/ee/signals/sankey-signals-data.cjs.js +9 -5
- package/dist/ee/signals/sankey-signals-data.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals-data.es.js +9 -5
- package/dist/ee/signals/sankey-signals-data.es.js.map +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +21 -12
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +21 -12
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +4 -4
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +4 -4
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +7 -7
- package/dist/ee/signals/settings/trace-signal-settings.es.js +7 -7
- package/dist/ee/signals/signal-delta-column.cjs.js +3 -3
- package/dist/ee/signals/signal-delta-column.es.js +3 -3
- package/dist/ee/signals/signal-lifelines.cjs.js +5 -5
- package/dist/ee/signals/signal-lifelines.es.js +5 -5
- package/dist/ee/signals/signals-error-state.cjs.js +2 -2
- package/dist/ee/signals/signals-error-state.es.js +2 -2
- package/dist/ee/signals/snapshot-summary.cjs.js +15 -0
- package/dist/ee/signals/snapshot-summary.cjs.js.map +1 -0
- package/dist/ee/signals/snapshot-summary.d.ts +1 -0
- package/dist/ee/signals/snapshot-summary.es.js +14 -0
- package/dist/ee/signals/snapshot-summary.es.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline.cjs.js +4 -4
- package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +4 -4
- package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.cjs.js +6 -6
- package/dist/ee/signals/sortable-signal-headers.es.js +6 -6
- package/dist/ee/signals/theme-compare.cjs.js +15 -7
- package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare.es.js +15 -7
- package/dist/ee/signals/theme-compare.es.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +13 -17
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +13 -17
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +7 -7
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +7 -7
- package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js +8 -5
- package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.es.js +8 -5
- package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.cjs.js +3 -3
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js +3 -3
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +11 -13
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +11 -13
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +10 -15
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +10 -15
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
- package/dist/ee/signals/view-mode-tab.es.js +2 -2
- package/dist/ee/signals.cjs.js +5 -5
- package/dist/ee/signals.es.js +5 -5
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +4 -4
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +4 -4
- package/dist/ee/topics/components/topics-layout.cjs.js +1 -1
- package/dist/ee/topics/components/topics-layout.es.js +1 -1
- package/dist/{field-error-id-DBSuJ3HM.js → field-error-id-6ZynvsRO.js} +2 -2
- package/dist/{field-error-id-DBSuJ3HM.js.map → field-error-id-6ZynvsRO.js.map} +1 -1
- package/dist/{field-error-id-nGAF0330.cjs → field-error-id-VimPQI_b.cjs} +2 -2
- package/dist/{field-error-id-nGAF0330.cjs.map → field-error-id-VimPQI_b.cjs.map} +1 -1
- package/dist/{filter-bar-chip-Cg-UbIwP.cjs → filter-bar-chip-DFsbUZ-V.cjs} +10 -10
- package/dist/{filter-bar-chip-Cg-UbIwP.cjs.map → filter-bar-chip-DFsbUZ-V.cjs.map} +1 -1
- package/dist/{filter-bar-chip-CABeKrtf.js → filter-bar-chip-NBtfDca9.js} +11 -11
- package/dist/{filter-bar-chip-CABeKrtf.js.map → filter-bar-chip-NBtfDca9.js.map} +1 -1
- package/dist/{filter-bar-time-range-qlV8p7hp.js → filter-bar-time-range-D9SnzR2J.js} +3 -3
- package/dist/{filter-bar-time-range-qlV8p7hp.js.map → filter-bar-time-range-D9SnzR2J.js.map} +1 -1
- package/dist/{filter-bar-time-range-zdM024JD.cjs → filter-bar-time-range-DlVNjw43.cjs} +3 -3
- package/dist/{filter-bar-time-range-zdM024JD.cjs.map → filter-bar-time-range-DlVNjw43.cjs.map} +1 -1
- package/dist/hooks/use-clock.cjs.js +34 -0
- package/dist/hooks/use-clock.cjs.js.map +1 -0
- package/dist/hooks/use-clock.d.ts +1 -0
- package/dist/hooks/use-clock.es.js +33 -0
- package/dist/hooks/use-clock.es.js.map +1 -0
- package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
- package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
- package/dist/hooks/use-text-highlight.cjs.js +3 -5
- package/dist/hooks/use-text-highlight.cjs.js.map +1 -1
- package/dist/hooks/use-text-highlight.es.js +1 -3
- package/dist/hooks/use-text-highlight.es.js.map +1 -1
- package/dist/icons/ByteDanceIcon.cjs.js +37 -0
- package/dist/icons/ByteDanceIcon.cjs.js.map +1 -0
- package/dist/icons/ByteDanceIcon.d.ts +1 -0
- package/dist/icons/ByteDanceIcon.es.js +34 -0
- package/dist/icons/ByteDanceIcon.es.js.map +1 -0
- package/dist/icons/CohereBrandIcon.cjs.js +34 -0
- package/dist/icons/CohereBrandIcon.cjs.js.map +1 -0
- package/dist/icons/CohereBrandIcon.d.ts +1 -0
- package/dist/icons/CohereBrandIcon.es.js +31 -0
- package/dist/icons/CohereBrandIcon.es.js.map +1 -0
- package/dist/icons/FireworksIcon.cjs.js +22 -0
- package/dist/icons/FireworksIcon.cjs.js.map +1 -0
- package/dist/icons/FireworksIcon.d.ts +1 -0
- package/dist/icons/FireworksIcon.es.js +19 -0
- package/dist/icons/FireworksIcon.es.js.map +1 -0
- package/dist/icons/Icon.cjs.js +1 -1
- package/dist/icons/Icon.es.js +1 -1
- package/dist/icons/LongCatIcon.cjs.js +22 -0
- package/dist/icons/LongCatIcon.cjs.js.map +1 -0
- package/dist/icons/LongCatIcon.d.ts +1 -0
- package/dist/icons/LongCatIcon.es.js +19 -0
- package/dist/icons/LongCatIcon.es.js.map +1 -0
- package/dist/icons/MicrosoftIcon.cjs.js +34 -0
- package/dist/icons/MicrosoftIcon.cjs.js.map +1 -0
- package/dist/icons/MicrosoftIcon.d.ts +1 -0
- package/dist/icons/MicrosoftIcon.es.js +31 -0
- package/dist/icons/MicrosoftIcon.es.js.map +1 -0
- package/dist/icons/MorphIcon.cjs.js +20 -0
- package/dist/icons/MorphIcon.cjs.js.map +1 -0
- package/dist/icons/MorphIcon.d.ts +1 -0
- package/dist/icons/MorphIcon.es.js +17 -0
- package/dist/icons/MorphIcon.es.js.map +1 -0
- package/dist/icons/NousResearchIcon.cjs.js +19 -0
- package/dist/icons/NousResearchIcon.cjs.js.map +1 -0
- package/dist/icons/NousResearchIcon.d.ts +1 -0
- package/dist/icons/NousResearchIcon.es.js +16 -0
- package/dist/icons/NousResearchIcon.es.js.map +1 -0
- package/dist/icons/NovaIcon.cjs.js +41 -0
- package/dist/icons/NovaIcon.cjs.js.map +1 -0
- package/dist/icons/NovaIcon.d.ts +1 -0
- package/dist/icons/NovaIcon.es.js +38 -0
- package/dist/icons/NovaIcon.es.js.map +1 -0
- package/dist/icons/PerplexityIcon.cjs.js +21 -0
- package/dist/icons/PerplexityIcon.cjs.js.map +1 -0
- package/dist/icons/PerplexityIcon.d.ts +1 -0
- package/dist/icons/PerplexityIcon.es.js +18 -0
- package/dist/icons/PerplexityIcon.es.js.map +1 -0
- package/dist/icons/SakanaIcon.cjs.js +20 -0
- package/dist/icons/SakanaIcon.cjs.js.map +1 -0
- package/dist/icons/SakanaIcon.d.ts +1 -0
- package/dist/icons/SakanaIcon.es.js +17 -0
- package/dist/icons/SakanaIcon.es.js.map +1 -0
- package/dist/icons/StepFunIcon.cjs.js +35 -0
- package/dist/icons/StepFunIcon.cjs.js.map +1 -0
- package/dist/icons/StepFunIcon.d.ts +1 -0
- package/dist/icons/StepFunIcon.es.js +32 -0
- package/dist/icons/StepFunIcon.es.js.map +1 -0
- package/dist/icons/TencentIcon.cjs.js +21 -0
- package/dist/icons/TencentIcon.cjs.js.map +1 -0
- package/dist/icons/TencentIcon.d.ts +1 -0
- package/dist/icons/TencentIcon.es.js +18 -0
- package/dist/icons/TencentIcon.es.js.map +1 -0
- package/dist/icons/UpstageIcon.cjs.js +36 -0
- package/dist/icons/UpstageIcon.cjs.js.map +1 -0
- package/dist/icons/UpstageIcon.d.ts +1 -0
- package/dist/icons/UpstageIcon.es.js +33 -0
- package/dist/icons/UpstageIcon.es.js.map +1 -0
- package/dist/{input-2hRXcZIu.cjs → input-BpnUsQSt.cjs} +4 -4
- package/dist/{input-2hRXcZIu.cjs.map → input-BpnUsQSt.cjs.map} +1 -1
- package/dist/{input-0l1uzOBZ.js → input-Cyit5ZSc.js} +4 -4
- package/dist/{input-0l1uzOBZ.js.map → input-Cyit5ZSc.js.map} +1 -1
- package/dist/{input-group-DVJLZDBL.cjs → input-group-DBCilXjT.cjs} +4 -4
- package/dist/{input-group-DVJLZDBL.cjs.map → input-group-DBCilXjT.cjs.map} +1 -1
- package/dist/{input-group-QKKV_ouF.js → input-group-NV4ZzKOk.js} +4 -4
- package/dist/{input-group-QKKV_ouF.js.map → input-group-NV4ZzKOk.js.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/auto-form.cjs.js +1 -1
- package/dist/lib/form/auto-form.es.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +4 -4
- package/dist/lib/form/components/array-element-wrapper.es.js +4 -4
- package/dist/lib/form/components/array-wrapper.cjs.js +2 -2
- package/dist/lib/form/components/array-wrapper.es.js +2 -2
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +5 -5
- package/dist/lib/form/components/date-field.es.js +5 -5
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +2 -2
- package/dist/lib/form/components/form-submit-row.es.js +2 -2
- package/dist/lib/form/components/number-field.cjs.js +1 -1
- package/dist/lib/form/components/number-field.es.js +1 -1
- package/dist/lib/form/components/object-wrapper.cjs.js +3 -3
- package/dist/lib/form/components/object-wrapper.es.js +3 -3
- package/dist/lib/form/components/record-field.cjs.js +2 -2
- package/dist/lib/form/components/record-field.es.js +2 -2
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/string-field.cjs.js +1 -1
- package/dist/lib/form/components/string-field.es.js +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/components/union-field.cjs.js +1 -1
- package/dist/lib/form/components/union-field.es.js +1 -1
- package/dist/lib/form/dynamic-form.cjs.js +2 -2
- package/dist/lib/form/dynamic-form.es.js +2 -2
- package/dist/{list-search-CkhsTFdG.js → list-search-DUcIMJTk.js} +2 -2
- package/dist/{list-search-CkhsTFdG.js.map → list-search-DUcIMJTk.js.map} +1 -1
- package/dist/{list-search-BtRno5As.cjs → list-search-yF02rvZt.cjs} +2 -2
- package/dist/{list-search-BtRno5As.cjs.map → list-search-yF02rvZt.cjs.map} +1 -1
- package/dist/mcp-app-viewer-BV7FI498.js +2051 -0
- package/dist/mcp-app-viewer-BV7FI498.js.map +1 -0
- package/dist/mcp-app-viewer-M3-pqAlo.cjs +2058 -0
- package/dist/mcp-app-viewer-M3-pqAlo.cjs.map +1 -0
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/new/settings.cjs.js +1 -1
- package/dist/new/settings.es.js +1 -1
- package/dist/{observability-saved-views-CjKTEp1V.js → observability-saved-views-Ch53fh5_.js} +9 -9
- package/dist/{observability-saved-views-CjKTEp1V.js.map → observability-saved-views-Ch53fh5_.js.map} +1 -1
- package/dist/{observability-saved-views-Daizz4tU.cjs → observability-saved-views-DgABvgat.cjs} +9 -9
- package/dist/{observability-saved-views-Daizz4tU.cjs.map → observability-saved-views-DgABvgat.cjs.map} +1 -1
- package/dist/{page-header-BykBsHUy.js → page-header-Maytcmgh.js} +3 -3
- package/dist/{page-header-BB6yjtce.cjs.map → page-header-Maytcmgh.js.map} +1 -1
- package/dist/{page-header-BB6yjtce.cjs → page-header-pZCts_WC.cjs} +3 -3
- package/dist/page-header-pZCts_WC.cjs.map +1 -0
- package/dist/{popover-CzHvTPk2.js → popover-BpMi52Tb.js} +3 -3
- package/dist/{popover-CzHvTPk2.js.map → popover-BpMi52Tb.js.map} +1 -1
- package/dist/{popover-BJqa6Hz6.cjs → popover-D9AfJmla.cjs} +3 -3
- package/dist/{popover-BJqa6Hz6.cjs.map → popover-D9AfJmla.cjs.map} +1 -1
- package/dist/primitives/chart-frame.cjs.js +2 -2
- package/dist/primitives/chart-frame.es.js +2 -2
- package/dist/primitives/chart-time-tick.cjs.js +2 -2
- package/dist/primitives/chart-time-tick.es.js +2 -2
- package/dist/primitives/charts/drag-selection.cjs.js +1 -1
- package/dist/primitives/charts/drag-selection.es.js +1 -1
- package/dist/primitives/menu-item.cjs.js +2 -2
- package/dist/primitives/menu-item.es.js +2 -2
- package/dist/primitives/menu-scroll-area.cjs.js +1 -1
- package/dist/primitives/menu-scroll-area.es.js +1 -1
- package/dist/primitives/resize-handle-indicator.cjs.js +1 -1
- package/dist/primitives/resize-handle-indicator.es.js +1 -1
- package/dist/primitives/trigger-button.cjs.js +2 -2
- package/dist/primitives/trigger-button.es.js +2 -2
- package/dist/{property-filter-applied--U5EZdaA.js → property-filter-applied-DoxQHG09.js} +8 -8
- package/dist/{property-filter-applied--U5EZdaA.js.map → property-filter-applied-DoxQHG09.js.map} +1 -1
- package/dist/{property-filter-applied-BkkIObRq.cjs → property-filter-applied-DuyL4S_K.cjs} +8 -8
- package/dist/{property-filter-applied-BkkIObRq.cjs.map → property-filter-applied-DuyL4S_K.cjs.map} +1 -1
- package/dist/resize/collapsible-panel.cjs.js +4 -4
- package/dist/resize/collapsible-panel.cjs.js.map +1 -1
- package/dist/resize/collapsible-panel.es.js +4 -4
- package/dist/resize/collapsible-panel.es.js.map +1 -1
- package/dist/resize/panel-drawer.cjs.js +3 -3
- package/dist/resize/panel-drawer.es.js +3 -3
- package/dist/resize/panel-icon-button.cjs.js +1 -2
- package/dist/resize/panel-icon-button.cjs.js.map +1 -1
- package/dist/resize/panel-icon-button.es.js +1 -1
- package/dist/resize/separator.cjs.js +1 -1
- package/dist/resize/separator.es.js +1 -1
- package/dist/{scroll-area-C226l0v0.js → scroll-area-9-S7wfSs.js} +2 -2
- package/dist/{scroll-area-C226l0v0.js.map → scroll-area-9-S7wfSs.js.map} +1 -1
- package/dist/{scroll-area-BP4gPZ4G.cjs → scroll-area-BU_TorPW.cjs} +2 -2
- package/dist/{scroll-area-BP4gPZ4G.cjs.map → scroll-area-BU_TorPW.cjs.map} +1 -1
- package/dist/{select-Dg8L5ROX.cjs → select-CeukeSn_.cjs} +5 -5
- package/dist/{select-Dg8L5ROX.cjs.map → select-CeukeSn_.cjs.map} +1 -1
- package/dist/{select-BdIZEdcy.js → select-dNX9If-s.js} +5 -5
- package/dist/{select-BdIZEdcy.js.map → select-dNX9If-s.js.map} +1 -1
- package/dist/{settings-BaUeaO96.js → settings-BEw_bg12.js} +2 -2
- package/dist/{settings-BaUeaO96.js.map → settings-BEw_bg12.js.map} +1 -1
- package/dist/{settings-CUVqhBbf.cjs → settings-Bminohri.cjs} +2 -2
- package/dist/{settings-CUVqhBbf.cjs.map → settings-Bminohri.cjs.map} +1 -1
- package/dist/{span-payload-primitives-CKKIAVPJ.js → span-payload-primitives-BKkRpVVO.js} +12 -12
- package/dist/{span-payload-primitives-CKKIAVPJ.js.map → span-payload-primitives-BKkRpVVO.js.map} +1 -1
- package/dist/{span-payload-primitives-D4tHWN2W.cjs → span-payload-primitives-D2NWznGy.cjs} +12 -12
- package/dist/{span-payload-primitives-D4tHWN2W.cjs.map → span-payload-primitives-D2NWznGy.cjs.map} +1 -1
- package/dist/{spinner-CnLgLj9R.js → spinner-B9ykw74u.js} +2 -2
- package/dist/{spinner-CnLgLj9R.js.map → spinner-B9ykw74u.js.map} +1 -1
- package/dist/{spinner-C8ZxiA5C.cjs → spinner-oS6q4pwx.cjs} +3 -3
- package/dist/{spinner-C8ZxiA5C.cjs.map → spinner-oS6q4pwx.cjs.map} +1 -1
- package/dist/src/domains/chat/activity/index.d.ts +1 -3
- package/dist/src/domains/chat/activity/model/activity-members.d.ts +1 -2
- package/dist/src/domains/chat/activity/model/activity-words.d.ts +1 -2
- package/dist/src/domains/chat/context/chat-context.d.ts +9 -0
- package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +2 -1
- package/dist/src/domains/chat/tools/badges/mcp-task-chip.d.ts +1 -1
- package/dist/src/domains/chat/tools/badges/workspace-data-parts.d.ts +6 -0
- package/dist/src/domains/chat/tools/tool-card-kind.d.ts +12 -2
- package/dist/src/domains/dashboards/components/dashboard-grid.d.ts +4 -1
- package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +22 -2
- package/dist/src/domains/dashboards/components/widget-controls.d.ts +3 -0
- package/dist/src/domains/dashboards/components/widget-error.d.ts +7 -2
- package/dist/src/domains/dashboards/index.d.ts +2 -2
- package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -1
- package/dist/src/domains/dashboards/lib/chrome.d.ts +5 -2
- package/dist/src/domains/dashboards/lib/pin-actions.d.ts +7 -0
- package/dist/src/domains/dashboards/widget-kind.d.ts +13 -0
- package/dist/src/domains/llm/models-dev-logo-slugs.d.ts +1 -0
- package/dist/src/domains/llm/provider-logo-monogram.d.ts +8 -0
- package/dist/src/domains/llm/provider-logo.d.ts +0 -4
- package/dist/src/domains/mcps/components/mcp-app-tool-result.d.ts +2 -1
- package/dist/src/domains/mcps/components/mcp-app-viewer.d.ts +7 -2
- package/dist/src/domains/mcps/hooks/use-mcp-app-tool-call.d.ts +5 -0
- package/dist/src/domains/metrics/components/chart-card.d.ts +6 -2
- package/dist/src/domains/metrics/components/kpi-card.d.ts +2 -1
- package/dist/src/domains/metrics/lib/index.d.ts +1 -0
- package/dist/src/domains/metrics/lib/series-colors.d.ts +39 -0
- package/dist/src/domains/traces/components/span-token-usage.utils.d.ts +1 -1
- package/dist/src/domains/workflows/components/workflow-combobox.d.ts +2 -1
- package/dist/src/ds/components/AgentIndicator/paint.d.ts +6 -2
- package/dist/src/ds/components/AgentIndicator/poses/coordination.d.ts +7 -0
- package/dist/src/ds/components/AgentIndicator/poses/documents.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses/files.d.ts +5 -0
- package/dist/src/ds/components/AgentIndicator/poses/interface.d.ts +8 -0
- package/dist/src/ds/components/AgentIndicator/poses/knowledge-actions.d.ts +6 -0
- package/dist/src/ds/components/AgentIndicator/poses/knowledge.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses/skills.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/poses/terminal.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/poses/thinking.d.ts +2 -0
- package/dist/src/ds/components/AgentIndicator/poses.d.ts +1 -1
- package/dist/src/ds/components/AgentIndicator/shapes.d.ts +7 -1
- package/dist/src/ds/components/Breadcrumb/crumb-switcher.d.ts +1 -0
- package/dist/src/ds/components/ChatShell/chat-shell-context.d.ts +9 -0
- package/dist/src/ds/components/ChatShell/chat-shell.d.ts +5 -0
- package/dist/src/ds/components/ChatShell/index.d.ts +2 -1
- package/dist/src/ds/components/Combobox/combobox-parts.d.ts +2 -1
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +9 -4
- package/dist/src/ds/components/Combobox/combobox.d.ts +4 -2
- package/dist/src/ds/components/CommandPalette/command-palette.d.ts +1 -1
- package/dist/src/ds/components/DateTimePicker/date-picker.d.ts +6 -1
- package/dist/src/ds/components/DateTimePicker/index.d.ts +0 -1
- package/dist/src/ds/components/DateTimeRangePicker/custom-range-editor.d.ts +3 -2
- package/dist/src/ds/components/Message/message-timestamp.d.ts +1 -0
- package/dist/src/ds/components/MessageScroller/message-scroller-context.d.ts +3 -2
- package/dist/src/ds/components/MessageScroller/message-scroller-geometry.d.ts +1 -1
- package/dist/src/ds/components/MessageScroller/message-scroller-hooks.d.ts +2 -8
- package/dist/src/ds/components/MessageScroller/message-scroller-visibility-store.d.ts +8 -0
- package/dist/src/ds/components/Metadata/index.d.ts +2 -0
- package/dist/src/ds/components/Metadata/metadata.d.ts +10 -0
- package/dist/src/ds/components/MetricsCard/index.d.ts +1 -0
- package/dist/src/ds/components/MetricsCard/metrics-card-drag-handle.d.ts +12 -0
- package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +2 -0
- package/dist/src/ds/components/Steps/index.d.ts +1 -0
- package/dist/src/ds/components/Steps/step.d.ts +13 -0
- package/dist/src/ds/components/Steps/steps-context.d.ts +2 -0
- package/dist/src/ds/components/Steps/steps-root.d.ts +18 -0
- package/dist/src/ds/components/Steps/steps.d.ts +7 -0
- package/dist/src/ds/components/ai/annotations/annotatable-selection.d.ts +25 -0
- package/dist/src/ds/components/ai/annotations/annotation-comment-card.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/annotation-comment-popover.d.ts +15 -0
- package/dist/src/ds/components/ai/annotations/annotation-highlights.d.ts +1 -0
- package/dist/src/ds/components/ai/annotations/annotation-marker.d.ts +13 -0
- package/dist/src/ds/components/ai/annotations/annotation-markers.d.ts +9 -0
- package/dist/src/ds/components/ai/annotations/annotation-number.d.ts +4 -0
- package/dist/src/ds/components/ai/annotations/annotation-selection-toolbar.d.ts +7 -0
- package/dist/src/ds/components/ai/annotations/chat-annotations.d.ts +27 -0
- package/dist/src/ds/components/ai/annotations/composer-annotation-list.d.ts +6 -0
- package/dist/src/ds/components/ai/annotations/composer-annotations.d.ts +5 -0
- package/dist/src/ds/components/ai/annotations/format-annotated-message.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/index.d.ts +5 -0
- package/dist/src/ds/components/ai/annotations/transcript-annotations.d.ts +6 -0
- package/dist/src/ds/components/ai/annotations/use-annotation-placement.d.ts +11 -0
- package/dist/src/ds/components/ai/annotations/use-annotation-selection.d.ts +12 -0
- package/dist/src/ds/components/ai/tool-call/index.d.ts +3 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-body.d.ts +6 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-exit-status.d.ts +11 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-output.d.ts +1 -2
- package/dist/src/ds/components/ai/tool-call/tool-call-view.d.ts +17 -0
- package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +127 -138
- package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +2 -0
- package/dist/src/ds/components/ai/tool-call/tool-styles.d.ts +10 -0
- package/dist/src/ds/components/ai/transcript-divider/transcript-divider.d.ts +2 -2
- package/dist/src/ds/icons/ByteDanceIcon.d.ts +2 -0
- package/dist/src/ds/icons/CohereBrandIcon.d.ts +2 -0
- package/dist/src/ds/icons/FireworksIcon.d.ts +2 -0
- package/dist/src/ds/icons/LongCatIcon.d.ts +2 -0
- package/dist/src/ds/icons/MicrosoftIcon.d.ts +2 -0
- package/dist/src/ds/icons/MorphIcon.d.ts +2 -0
- package/dist/src/ds/icons/NousResearchIcon.d.ts +2 -0
- package/dist/src/ds/icons/NovaIcon.d.ts +2 -0
- package/dist/src/ds/icons/PerplexityIcon.d.ts +2 -0
- package/dist/src/ds/icons/SakanaIcon.d.ts +2 -0
- package/dist/src/ds/icons/StepFunIcon.d.ts +2 -0
- package/dist/src/ds/icons/TencentIcon.d.ts +2 -0
- package/dist/src/ds/icons/UpstageIcon.d.ts +2 -0
- package/dist/src/ds/icons/index.d.ts +13 -0
- package/dist/src/ds/tokens/colors.d.ts +12 -0
- package/dist/src/ee/signals/sankey-signals-data.d.ts +2 -2
- package/dist/src/ee/signals/snapshot-summary.d.ts +7 -0
- package/dist/src/ee/signals/snapshot-timeline.d.ts +2 -1
- package/dist/src/hooks/use-clock.d.ts +5 -0
- package/dist/src/lib/resize/collapsible-panel.d.ts +5 -3
- package/dist/src/lib/string.d.ts +1 -0
- package/dist/{string-CNKDIc_4.js → string-CA5M0mj_.js} +5 -2
- package/dist/{string-CNKDIc_4.js.map → string-CA5M0mj_.js.map} +1 -1
- package/dist/{string-DdJJdCv2.cjs → string-EyTazW-F.cjs} +10 -1
- package/dist/{string-DdJJdCv2.cjs.map → string-EyTazW-F.cjs.map} +1 -1
- package/dist/style.css +321 -144
- package/dist/{tabbed-container-B4lCBgRP.cjs → tabbed-container-Bhfi-DWr.cjs} +9 -9
- package/dist/{tabbed-container-B4lCBgRP.cjs.map → tabbed-container-Bhfi-DWr.cjs.map} +1 -1
- package/dist/{tabbed-container-DI1GI1Qv.js → tabbed-container-DOkHshha.js} +8 -8
- package/dist/{tabbed-container-DI1GI1Qv.js.map → tabbed-container-DOkHshha.js.map} +1 -1
- package/dist/{tabs-content-CmXe5ML0.cjs → tabs-content-BACwMrMG.cjs} +3 -3
- package/dist/{tabs-content-CmXe5ML0.cjs.map → tabs-content-BACwMrMG.cjs.map} +1 -1
- package/dist/{tabs-content-D__B9hd-.js → tabs-content-DwU_eA-a.js} +3 -3
- package/dist/{tabs-content-D__B9hd-.js.map → tabs-content-DwU_eA-a.js.map} +1 -1
- package/dist/{tabs-tab-CYTZevdV.js → tabs-tab-BHs639jL.js} +4 -4
- package/dist/{tabs-tab-CYTZevdV.js.map → tabs-tab-BHs639jL.js.map} +1 -1
- package/dist/{tabs-tab-DGwfHVDr.cjs → tabs-tab-CANh2eAD.cjs} +4 -4
- package/dist/{tabs-tab-DGwfHVDr.cjs.map → tabs-tab-CANh2eAD.cjs.map} +1 -1
- package/dist/{toast-api-D_rrRhNG.js → toast-api-Cak5N8pT.js} +2 -2
- package/dist/{toast-api-D_rrRhNG.js.map → toast-api-Cak5N8pT.js.map} +1 -1
- package/dist/{toast-api-qtkOucy2.cjs → toast-api-DDcGCbIw.cjs} +2 -2
- package/dist/{toast-api-qtkOucy2.cjs.map → toast-api-DDcGCbIw.cjs.map} +1 -1
- package/dist/tokens.cjs.js +12 -0
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +12 -0
- package/dist/tokens.es.js.map +1 -1
- package/dist/{tool-approval-CJvPDL7D.cjs → tool-approval-CguPaikn.cjs} +7 -7
- package/dist/{tool-approval-CJvPDL7D.cjs.map → tool-approval-CguPaikn.cjs.map} +1 -1
- package/dist/{tool-approval-DyN11vFA.js → tool-approval-Cjz0yAzw.js} +7 -7
- package/dist/{tool-approval-DyN11vFA.js.map → tool-approval-Cjz0yAzw.js.map} +1 -1
- package/dist/tool-call-BqDI9mrY.cjs +600 -0
- package/dist/tool-call-BqDI9mrY.cjs.map +1 -0
- package/dist/tool-call-ChJKYCfu.js +505 -0
- package/dist/tool-call-ChJKYCfu.js.map +1 -0
- package/dist/{tool-card-BOLXeKIp.cjs → tool-card-Dg4VOYV6.cjs} +24 -15
- package/dist/tool-card-Dg4VOYV6.cjs.map +1 -0
- package/dist/{tool-card-HZ5bm7ue.js → tool-card-GSiCfxMz.js} +25 -16
- package/dist/tool-card-GSiCfxMz.js.map +1 -0
- package/dist/tool-presentation-C2bYQ7gB.js +874 -0
- package/dist/tool-presentation-C2bYQ7gB.js.map +1 -0
- package/dist/tool-presentation-DPp9h-n2.cjs +915 -0
- package/dist/tool-presentation-DPp9h-n2.cjs.map +1 -0
- package/dist/{tooltip-BiRLT3Th.cjs → tooltip-BsExuMO8.cjs} +2 -2
- package/dist/{tooltip-BiRLT3Th.cjs.map → tooltip-BsExuMO8.cjs.map} +1 -1
- package/dist/{tooltip-HzcLyGtV.js → tooltip-DJcze2VZ.js} +2 -2
- package/dist/{tooltip-HzcLyGtV.js.map → tooltip-DJcze2VZ.js.map} +1 -1
- package/dist/{transcript-divider-CvdgElIC.js → transcript-divider-DM2HkdeO.js} +5 -11
- package/dist/transcript-divider-DM2HkdeO.js.map +1 -0
- package/dist/{transcript-divider-CQ6sc3nt.cjs → transcript-divider-DroC3feH.cjs} +4 -10
- package/dist/transcript-divider-DroC3feH.cjs.map +1 -0
- package/dist/{use-workflow-graph-runtime-BKNhOKsH.js → use-workflow-graph-runtime-B3VUuhUE.js} +12 -12
- package/dist/{use-workflow-graph-runtime-BKNhOKsH.js.map → use-workflow-graph-runtime-B3VUuhUE.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-DYao-08R.cjs → use-workflow-graph-runtime-BfCL6nd4.cjs} +12 -12
- package/dist/{use-workflow-graph-runtime-DYao-08R.cjs.map → use-workflow-graph-runtime-BfCL6nd4.cjs.map} +1 -1
- package/dist/utils/string.cjs.js +2 -1
- package/dist/utils/string.es.js +1 -1
- package/dist/utils/toast.cjs.js +1 -1
- package/dist/utils/toast.es.js +1 -1
- package/oxlint/copy-rules.d.ts +4 -0
- package/oxlint/copy-rules.js +29 -0
- package/oxlint/copy-sources.js +223 -0
- package/oxlint/index.d.ts +5 -0
- package/oxlint/index.js +17 -0
- package/package.json +13 -10
- package/theme/data-viz.css +33 -0
- package/dist/AgentIndicator-Bs2S8AWJ.js +0 -847
- package/dist/AgentIndicator-Bs2S8AWJ.js.map +0 -1
- package/dist/AgentIndicator-to30W73z.cjs +0 -864
- package/dist/AgentIndicator-to30W73z.cjs.map +0 -1
- package/dist/Button-CLXTbAY8.js.map +0 -1
- package/dist/Button-DLcMcuUL.cjs.map +0 -1
- package/dist/Composer-BcueJvdX.cjs.map +0 -1
- package/dist/Composer-D1gF-0jZ.js.map +0 -1
- package/dist/FilterBar-BSP2UTjc.cjs.map +0 -1
- package/dist/FilterBar-PSQ1OwqH.js.map +0 -1
- package/dist/Message-jj56lxNL.cjs.map +0 -1
- package/dist/MessageScroller-CGsfTd1Z.cjs.map +0 -1
- package/dist/MessageScroller-DvaKlm4O.js.map +0 -1
- package/dist/MetricsCard-BEwiS7Pe.cjs.map +0 -1
- package/dist/MetricsCard-ua6C6b8a.js.map +0 -1
- package/dist/Workflow-C3SlEdP-.js.map +0 -1
- package/dist/Workflow-DSWQ-ROz.cjs.map +0 -1
- package/dist/activity-C8Ql81WM.js.map +0 -1
- package/dist/activity-CcQZeDYi.cjs.map +0 -1
- package/dist/combobox-D21no8t5.js.map +0 -1
- package/dist/combobox-DIT_6xiG.cjs.map +0 -1
- package/dist/combobox-parts-C4phOq4t.cjs.map +0 -1
- package/dist/combobox-parts-D90ir0Py.js.map +0 -1
- package/dist/date-time-range-picker-CWGjoR3j.cjs.map +0 -1
- package/dist/date-time-range-picker-CdSiXwB4.js.map +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +0 -29
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js.map +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.d.ts +0 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +0 -28
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js.map +0 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +0 -1
- package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +0 -1
- package/dist/page-header-BykBsHUy.js.map +0 -1
- package/dist/src/domains/chat/activity/components/activity-timed-trigger.d.ts +0 -9
- package/dist/src/ds/components/DateTimePicker/time-picker.d.ts +0 -7
- package/dist/tool-call-DBn14X-3.cjs +0 -497
- package/dist/tool-call-DBn14X-3.cjs.map +0 -1
- package/dist/tool-call-Dsj43lvJ.js +0 -426
- package/dist/tool-call-Dsj43lvJ.js.map +0 -1
- package/dist/tool-card-BOLXeKIp.cjs.map +0 -1
- package/dist/tool-card-HZ5bm7ue.js.map +0 -1
- package/dist/tool-presentation-CvibOP1J.js +0 -256
- package/dist/tool-presentation-CvibOP1J.js.map +0 -1
- package/dist/tool-presentation-D6nzVruN.cjs +0 -291
- package/dist/tool-presentation-D6nzVruN.cjs.map +0 -1
- package/dist/transcript-divider-CQ6sc3nt.cjs.map +0 -1
- package/dist/transcript-divider-CvdgElIC.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-traces-info.es.js","names":[],"sources":["../../../../src/domains/traces/components/no-traces-info.tsx"],"sourcesContent":["import type { TraceDatePreset } from '../types';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport { formatDate } from '@/utils/date-format';\n\nconst PRESET_LABELS: Record<Exclude<TraceDatePreset, 'all' | 'custom'>, string> = {\n 'last-24h': 'the last 24 hours',\n 'last-3d': 'the last 3 days',\n 'last-7d': 'the last 7 days',\n 'last-14d': 'the last 14 days',\n 'last-30d': 'the last 30 days',\n};\n\nexport interface NoTracesInfoProps {\n /** What the empty list holds. Defaults to `traces`. */\n resource?: 'traces' | 'spans' | 'threads';\n datePreset?: TraceDatePreset;\n dateFrom?: Date;\n dateTo?: Date;\n}\n\nfunction describeRange({ resource = 'traces', datePreset, dateFrom, dateTo }: NoTracesInfoProps): {\n title: string;\n description: string;\n} {\n const rangeTip = `Pick a wider time range
|
|
1
|
+
{"version":3,"file":"no-traces-info.es.js","names":[],"sources":["../../../../src/domains/traces/components/no-traces-info.tsx"],"sourcesContent":["import type { TraceDatePreset } from '../types';\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport { formatDate } from '@/utils/date-format';\n\nconst PRESET_LABELS: Record<Exclude<TraceDatePreset, 'all' | 'custom'>, string> = {\n 'last-24h': 'the last 24 hours',\n 'last-3d': 'the last 3 days',\n 'last-7d': 'the last 7 days',\n 'last-14d': 'the last 14 days',\n 'last-30d': 'the last 30 days',\n};\n\nexport interface NoTracesInfoProps {\n /** What the empty list holds. Defaults to `traces`. */\n resource?: 'traces' | 'spans' | 'threads';\n datePreset?: TraceDatePreset;\n dateFrom?: Date;\n dateTo?: Date;\n}\n\nfunction describeRange({ resource = 'traces', datePreset, dateFrom, dateTo }: NoTracesInfoProps): {\n title: string;\n description: string;\n} {\n const rangeTip = `Pick a wider time range. Older ${resource} may fall outside the current window.`;\n if (datePreset && datePreset !== 'all' && datePreset !== 'custom') {\n return {\n title: `No ${resource} for ${PRESET_LABELS[datePreset]}`,\n description: rangeTip,\n };\n }\n if (dateFrom && dateTo) {\n return {\n title: `No ${resource} between ${formatDate(dateFrom, 'date-time')} and ${formatDate(dateTo, 'date-time')}`,\n description: rangeTip,\n };\n }\n if (dateFrom) {\n return {\n title: `No ${resource} since ${formatDate(dateFrom, 'date-time')}`,\n description: rangeTip,\n };\n }\n return {\n title: `No ${resource} yet`,\n description: `${resource.charAt(0).toUpperCase()}${resource.slice(1)} will appear here once agents, workflows, or tools are executed.`,\n };\n}\n\nexport const NoTracesInfo = (props: NoTracesInfoProps = {}) => {\n const { title, description } = describeRange(props);\n return <EmptyState titleSlot={title} descriptionSlot={description} variant=\"fill\" />;\n};\n"],"mappings":";;;;AAIA,IAAM,gBAA4E;CAChF,YAAY;CACZ,WAAW;CACX,WAAW;CACX,YAAY;CACZ,YAAY;AACd;AAUA,SAAS,cAAc,EAAE,WAAW,UAAU,YAAY,UAAU,UAGlE;CACA,MAAM,WAAW,kCAAkC,SAAS;CAC5D,IAAI,cAAc,eAAe,SAAS,eAAe,UACvD,OAAO;EACL,OAAO,MAAM,SAAS,OAAO,cAAc;EAC3C,aAAa;CACf;CAEF,IAAI,YAAY,QACd,OAAO;EACL,OAAO,MAAM,SAAS,WAAW,WAAW,UAAU,WAAW,EAAE,OAAO,WAAW,QAAQ,WAAW;EACxG,aAAa;CACf;CAEF,IAAI,UACF,OAAO;EACL,OAAO,MAAM,SAAS,SAAS,WAAW,UAAU,WAAW;EAC/D,aAAa;CACf;CAEF,OAAO;EACL,OAAO,MAAM,SAAS;EACtB,aAAa,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,MAAM,CAAC,EAAE;CACvE;AACF;AAEA,IAAa,gBAAgB,QAA2B,CAAC,MAAM;CAC7D,MAAM,EAAE,OAAO,gBAAgB,cAAc,KAAK;CAClD,OAAO,oBAAC,YAAD;EAAY,WAAW;EAAO,iBAAiB;EAAa,SAAQ;CAAQ,CAAA;AACrF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_icons_AgentIcon = require("../../../icons/AgentIcon.cjs.js");
|
|
3
|
+
const require_icons_McpServerIcon = require("../../../icons/McpServerIcon.cjs.js");
|
|
3
4
|
const require_icons_MemoryIcon = require("../../../icons/MemoryIcon.cjs.js");
|
|
4
|
-
const
|
|
5
|
+
const require_icons_ScorersIcon = require("../../../icons/ScorersIcon.cjs.js");
|
|
5
6
|
const require_icons_SkillIcon = require("../../../icons/SkillIcon.cjs.js");
|
|
7
|
+
const require_icons_ToolsIcon = require("../../../icons/ToolsIcon.cjs.js");
|
|
6
8
|
const require_icons_WorkflowIcon = require("../../../icons/WorkflowIcon.cjs.js");
|
|
7
|
-
const require_icons_McpServerIcon = require("../../../icons/McpServerIcon.cjs.js");
|
|
8
9
|
const require_icons_WorkspacesIcon = require("../../../icons/WorkspacesIcon.cjs.js");
|
|
9
|
-
const require_icons_ScorersIcon = require("../../../icons/ScorersIcon.cjs.js");
|
|
10
10
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
11
|
let lucide_react = require("lucide-react");
|
|
12
12
|
// src/domains/traces/components/shared.tsx
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AgentIcon } from "../../../icons/AgentIcon.es.js";
|
|
2
|
+
import { McpServerIcon } from "../../../icons/McpServerIcon.es.js";
|
|
2
3
|
import { MemoryIcon } from "../../../icons/MemoryIcon.es.js";
|
|
3
|
-
import {
|
|
4
|
+
import { ScorersIcon } from "../../../icons/ScorersIcon.es.js";
|
|
4
5
|
import { SkillIcon } from "../../../icons/SkillIcon.es.js";
|
|
6
|
+
import { ToolsIcon } from "../../../icons/ToolsIcon.es.js";
|
|
5
7
|
import { WorkflowIcon as WorkflowIcon$1 } from "../../../icons/WorkflowIcon.es.js";
|
|
6
|
-
import { McpServerIcon } from "../../../icons/McpServerIcon.es.js";
|
|
7
8
|
import { WorkspacesIcon } from "../../../icons/WorkspacesIcon.es.js";
|
|
8
|
-
import { ScorersIcon } from "../../../icons/ScorersIcon.es.js";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
10
|
import { BrainIcon } from "lucide-react";
|
|
11
11
|
// src/domains/traces/components/shared.tsx
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_utils = require("../../../utils-uDc1ofX1.cjs");
|
|
3
|
-
const require_utils_date_format = require("../../../utils/date-format.cjs.js");
|
|
4
|
-
const require_utils_duration = require("../../../utils/duration.cjs.js");
|
|
5
|
-
const require_tooltip = require("../../../tooltip-BiRLT3Th.cjs");
|
|
6
|
-
const require_icons_Icon = require("../../../icons/Icon.cjs.js");
|
|
7
|
-
const require_Button = require("../../../Button-DLcMcuUL.cjs");
|
|
8
|
-
const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
|
|
9
|
-
const require_copy_button = require("../../../copy-button-DJAQ6_3o.cjs");
|
|
10
|
-
const require_tabs_tab = require("../../../tabs-tab-DGwfHVDr.cjs");
|
|
11
|
-
const require_Badge = require("../../../Badge-DZ6r6bcw.cjs");
|
|
12
|
-
const require_Notice = require("../../../Notice-JZ7SW7q6.cjs");
|
|
13
|
-
const require_DataPanel = require("../../../DataPanel-Coc9h35I.cjs");
|
|
14
|
-
const require_domains_llm_provider_logo = require("../../llm/provider-logo.cjs.js");
|
|
15
|
-
const require_DataKeysAndValues = require("../../../DataKeysAndValues-DsH6AbAo.cjs");
|
|
16
2
|
const require_domains_traces_utils_span_signal = require("../utils/span-signal.cjs.js");
|
|
17
3
|
const require_domains_traces_utils_span_utils = require("../utils/span-utils.cjs.js");
|
|
18
4
|
const require_domains_traces_components_shared = require("./shared.cjs.js");
|
|
19
5
|
const require_domains_traces_components_span_outcome = require("./span-outcome.cjs.js");
|
|
20
|
-
const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload/span-payload-registry.cjs.js");
|
|
21
6
|
const require_domains_traces_components_span_outcome_utils = require("./span-outcome.utils.cjs.js");
|
|
22
|
-
const
|
|
23
|
-
const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload/span-payload-processor.cjs.js");
|
|
7
|
+
const require_domains_traces_components_span_payload_span_error_renderer = require("./span-payload/span-error-renderer.cjs.js");
|
|
24
8
|
const require_domains_traces_components_span_payload_span_input_renderers = require("./span-payload/span-input-renderers.cjs.js");
|
|
25
9
|
const require_domains_traces_components_span_payload_span_output_renderers = require("./span-payload/span-output-renderers.cjs.js");
|
|
26
|
-
const
|
|
27
|
-
const
|
|
10
|
+
const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload/span-payload-json.cjs.js");
|
|
11
|
+
const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload/span-payload-processor.cjs.js");
|
|
12
|
+
const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload/span-payload-registry.cjs.js");
|
|
28
13
|
const require_domains_traces_components_span_payload_span_tools_section = require("./span-payload/span-tools-section.cjs.js");
|
|
29
|
-
const
|
|
14
|
+
const require_domains_traces_components_span_payload_use_span_tool_calls = require("./span-payload/use-span-tool-calls.cjs.js");
|
|
30
15
|
const require_domains_traces_components_span_prompt_changes = require("./span-prompt-changes.cjs.js");
|
|
31
|
-
const
|
|
16
|
+
const require_domains_traces_components_span_prompt_impact = require("./span-prompt-impact.cjs.js");
|
|
32
17
|
const require_domains_traces_components_span_token_usage = require("./span-token-usage.cjs.js");
|
|
18
|
+
const require_domains_traces_components_span_token_usage_utils = require("./span-token-usage.utils.cjs.js");
|
|
33
19
|
const require_domains_traces_components_span_type_badge = require("./span-type-badge.cjs.js");
|
|
20
|
+
const require_domains_llm_provider_logo = require("../../llm/provider-logo.cjs.js");
|
|
21
|
+
const require_Badge = require("../../../Badge-DqaMg7Gy.cjs");
|
|
22
|
+
const require_Button = require("../../../Button-BfICfyxD.cjs");
|
|
23
|
+
const require_copy_button = require("../../../copy-button-DuEUYvS2.cjs");
|
|
24
|
+
const require_DataKeysAndValues = require("../../../DataKeysAndValues-BbKeVxrQ.cjs");
|
|
25
|
+
const require_DataPanel = require("../../../DataPanel-BRRAvWYQ.cjs");
|
|
26
|
+
const require_Notice = require("../../../Notice-B_KjMmA6.cjs");
|
|
27
|
+
const require_tabs_tab = require("../../../tabs-tab-CANh2eAD.cjs");
|
|
28
|
+
const require_tooltip = require("../../../tooltip-BsExuMO8.cjs");
|
|
29
|
+
const require_Txt = require("../../../Txt-_00wWxTd.cjs");
|
|
30
|
+
const require_icons_Icon = require("../../../icons/Icon.cjs.js");
|
|
31
|
+
const require_utils = require("../../../utils-uDc1ofX1.cjs");
|
|
32
|
+
const require_utils_date_format = require("../../../utils/date-format.cjs.js");
|
|
33
|
+
const require_utils_duration = require("../../../utils/duration.cjs.js");
|
|
34
34
|
let react = require("react");
|
|
35
35
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
36
36
|
let lucide_react = require("lucide-react");
|
|
@@ -460,9 +460,9 @@ function Section({ title, label = title, count, children }) {
|
|
|
460
460
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
461
461
|
"aria-label": label,
|
|
462
462
|
className: "-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0",
|
|
463
|
-
children: [title && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_DataPanel.DataPanel.SectionHeading, { children: [title, count != null && /* @__PURE__ */ (0, react_jsx_runtime.
|
|
463
|
+
children: [title && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_DataPanel.DataPanel.SectionHeading, { children: [title, count != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
464
464
|
className: "tabular-nums",
|
|
465
|
-
children:
|
|
465
|
+
children: count
|
|
466
466
|
})] }), children]
|
|
467
467
|
});
|
|
468
468
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-data-panel-view.cjs.js","names":["useState","InfoIcon","FileInputIcon","FileOutputIcon","MessageSquareReplyIcon","useId","cn","DataPanel","Button","ExternalLinkIcon","_Fragment","Tabs","TabList","Tab","Icon","getSpanSignal","describeSpanInput","asCoreSpan","getSpanDurationMs","SpanTypeBadge","getSpanTypeUi","Tooltip","TooltipTrigger","Txt","getModelFacts","TooltipContent","formatDuration","formatDurationPrecise","Badge","getSpanTools","hasSpanInputPreview","SpanPayloadProcessor","SpanInputRenderer","SpanToolList","getSpanOutputPayload","isTokenLimitExceeded","Notice","getTokenLimitMessage","hasSpanOutputPreview","SpanOutputRenderer","DataKeysAndValues","ProviderLogo","getTokenUsageRows","SpanTokenUsage","formatTimestampPrecise","getPromptChanges","runsAfterModel","SpanPromptChanges","getSpanOutcome","CircleXIcon","SpanErrorDetails","describeProcessorPipeline","SpanOutcomeSummary","useSpanToolCalls","SpanToolCallList","CopyButton","SpanPayloadJson","EyeIcon","BracesIcon"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);\n // Agent runs and model steps record the model they ran natively, not only model-call spans.\n const model = span.model || facts.model;\n const provider = span.provider || facts.provider;\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || provider || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n {span.timeToFirstChunkMs != null && (\n <Row label=\"Time to first chunk\">{formatDurationPrecise(span.timeToFirstChunkMs)}</Row>\n )}\n {span.timeToFirstTokenMs != null && (\n <Row label=\"Time to first token\">{formatDurationPrecise(span.timeToFirstTokenMs)}</Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\"> · {count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-data-panel-view.cjs.js","names":["useState","InfoIcon","FileInputIcon","FileOutputIcon","MessageSquareReplyIcon","useId","cn","DataPanel","Button","ExternalLinkIcon","_Fragment","Tabs","TabList","Tab","Icon","getSpanSignal","describeSpanInput","asCoreSpan","getSpanDurationMs","SpanTypeBadge","getSpanTypeUi","Tooltip","TooltipTrigger","Txt","getModelFacts","TooltipContent","formatDuration","formatDurationPrecise","Badge","getSpanTools","hasSpanInputPreview","SpanPayloadProcessor","SpanInputRenderer","SpanToolList","getSpanOutputPayload","isTokenLimitExceeded","Notice","getTokenLimitMessage","hasSpanOutputPreview","SpanOutputRenderer","DataKeysAndValues","ProviderLogo","getTokenUsageRows","SpanTokenUsage","formatTimestampPrecise","getPromptChanges","runsAfterModel","SpanPromptChanges","getSpanOutcome","CircleXIcon","SpanErrorDetails","describeProcessorPipeline","SpanOutcomeSummary","useSpanToolCalls","SpanToolCallList","CopyButton","SpanPayloadJson","EyeIcon","BracesIcon"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);\n // Agent runs and model steps record the model they ran natively, not only model-call spans.\n const model = span.model || facts.model;\n const provider = span.provider || facts.provider;\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || provider || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n {span.timeToFirstChunkMs != null && (\n <Row label=\"Time to first chunk\">{formatDurationPrecise(span.timeToFirstChunkMs)}</Row>\n )}\n {span.timeToFirstTokenMs != null && (\n <Row label=\"Time to first token\">{formatDurationPrecise(span.timeToFirstTokenMs)}</Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\">{count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { t as cn } from "../../../utils-DQx8TpNT.js";
|
|
2
|
-
import { formatTimestampPrecise } from "../../../utils/date-format.es.js";
|
|
3
|
-
import { formatDuration, formatDurationPrecise } from "../../../utils/duration.es.js";
|
|
4
|
-
import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "../../../tooltip-HzcLyGtV.js";
|
|
5
|
-
import { Icon } from "../../../icons/Icon.es.js";
|
|
6
|
-
import { t as Button } from "../../../Button-CLXTbAY8.js";
|
|
7
|
-
import { t as Txt } from "../../../Txt-BM6TVV_c.js";
|
|
8
|
-
import { t as CopyButton } from "../../../copy-button-BXrbevLn.js";
|
|
9
|
-
import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-CYTZevdV.js";
|
|
10
|
-
import { t as Badge } from "../../../Badge-aVu5iGAF.js";
|
|
11
|
-
import { t as Notice } from "../../../Notice-C-8oOZZF.js";
|
|
12
|
-
import { t as DataPanel } from "../../../DataPanel-IgB9D5PO.js";
|
|
13
|
-
import { ProviderLogo } from "../../llm/provider-logo.es.js";
|
|
14
|
-
import { t as DataKeysAndValues } from "../../../DataKeysAndValues-PwOmGxyp.js";
|
|
15
1
|
import { getSpanSignal } from "../utils/span-signal.es.js";
|
|
16
2
|
import { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from "../utils/span-utils.es.js";
|
|
17
3
|
import { getSpanTypeUi } from "./shared.es.js";
|
|
18
4
|
import { SpanOutcomeSummary } from "./span-outcome.es.js";
|
|
19
|
-
import { asCoreSpan, getSpanOutputPayload, getSpanTools, hasSpanInputPreview, hasSpanOutputPreview } from "./span-payload/span-payload-registry.es.js";
|
|
20
5
|
import { getSpanOutcome } from "./span-outcome.utils.es.js";
|
|
21
|
-
import {
|
|
22
|
-
import { SpanPayloadProcessor } from "./span-payload/span-payload-processor.es.js";
|
|
6
|
+
import { SpanErrorDetails } from "./span-payload/span-error-renderer.es.js";
|
|
23
7
|
import { SpanInputRenderer } from "./span-payload/span-input-renderers.es.js";
|
|
24
8
|
import { SpanOutputRenderer } from "./span-payload/span-output-renderers.es.js";
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
9
|
+
import { SpanPayloadJson } from "./span-payload/span-payload-json.es.js";
|
|
10
|
+
import { SpanPayloadProcessor } from "./span-payload/span-payload-processor.es.js";
|
|
11
|
+
import { asCoreSpan, getSpanOutputPayload, getSpanTools, hasSpanInputPreview, hasSpanOutputPreview } from "./span-payload/span-payload-registry.es.js";
|
|
27
12
|
import { SpanToolCallList, SpanToolList } from "./span-payload/span-tools-section.es.js";
|
|
28
|
-
import {
|
|
13
|
+
import { useSpanToolCalls } from "./span-payload/use-span-tool-calls.es.js";
|
|
29
14
|
import { SpanPromptChanges } from "./span-prompt-changes.es.js";
|
|
30
|
-
import {
|
|
15
|
+
import { getPromptChanges, runsAfterModel } from "./span-prompt-impact.es.js";
|
|
31
16
|
import { SpanTokenUsage } from "./span-token-usage.es.js";
|
|
17
|
+
import { getModelFacts, getTokenUsageRows } from "./span-token-usage.utils.es.js";
|
|
32
18
|
import { SpanTypeBadge } from "./span-type-badge.es.js";
|
|
19
|
+
import { ProviderLogo } from "../../llm/provider-logo.es.js";
|
|
20
|
+
import { t as Badge } from "../../../Badge-C7NnqmMx.js";
|
|
21
|
+
import { t as Button } from "../../../Button-Bi7aXd_G.js";
|
|
22
|
+
import { t as CopyButton } from "../../../copy-button-B-_Z6N6y.js";
|
|
23
|
+
import { t as DataKeysAndValues } from "../../../DataKeysAndValues-B56je3sK.js";
|
|
24
|
+
import { t as DataPanel } from "../../../DataPanel-pVr5LVaK.js";
|
|
25
|
+
import { t as Notice } from "../../../Notice-OSlG42lD.js";
|
|
26
|
+
import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-BHs639jL.js";
|
|
27
|
+
import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "../../../tooltip-DJcze2VZ.js";
|
|
28
|
+
import { t as Txt } from "../../../Txt-5efBsb2p.js";
|
|
29
|
+
import { Icon } from "../../../icons/Icon.es.js";
|
|
30
|
+
import { t as cn } from "../../../utils-DQx8TpNT.js";
|
|
31
|
+
import { formatTimestampPrecise } from "../../../utils/date-format.es.js";
|
|
32
|
+
import { formatDuration, formatDurationPrecise } from "../../../utils/duration.es.js";
|
|
33
33
|
import { useId, useState } from "react";
|
|
34
34
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
35
35
|
import { BracesIcon, CircleXIcon, ExternalLinkIcon, EyeIcon, FileInputIcon, FileOutputIcon, InfoIcon, MessageSquareReplyIcon } from "lucide-react";
|
|
@@ -459,9 +459,9 @@ function Section({ title, label = title, count, children }) {
|
|
|
459
459
|
return /* @__PURE__ */ jsxs("section", {
|
|
460
460
|
"aria-label": label,
|
|
461
461
|
className: "-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0",
|
|
462
|
-
children: [title && /* @__PURE__ */ jsxs(DataPanel.SectionHeading, { children: [title, count != null && /* @__PURE__ */
|
|
462
|
+
children: [title && /* @__PURE__ */ jsxs(DataPanel.SectionHeading, { children: [title, count != null && /* @__PURE__ */ jsx("span", {
|
|
463
463
|
className: "tabular-nums",
|
|
464
|
-
children:
|
|
464
|
+
children: count
|
|
465
465
|
})] }), children]
|
|
466
466
|
});
|
|
467
467
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-data-panel-view.es.js","names":["_Fragment"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);\n // Agent runs and model steps record the model they ran natively, not only model-call spans.\n const model = span.model || facts.model;\n const provider = span.provider || facts.provider;\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || provider || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n {span.timeToFirstChunkMs != null && (\n <Row label=\"Time to first chunk\">{formatDurationPrecise(span.timeToFirstChunkMs)}</Row>\n )}\n {span.timeToFirstTokenMs != null && (\n <Row label=\"Time to first token\">{formatDurationPrecise(span.timeToFirstTokenMs)}</Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\"> · {count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"span-data-panel-view.es.js","names":["_Fragment"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);\n // Agent runs and model steps record the model they ran natively, not only model-call spans.\n const model = span.model || facts.model;\n const provider = span.provider || facts.provider;\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || provider || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n {span.timeToFirstChunkMs != null && (\n <Row label=\"Time to first chunk\">{formatDurationPrecise(span.timeToFirstChunkMs)}</Row>\n )}\n {span.timeToFirstTokenMs != null && (\n <Row label=\"Time to first token\">{formatDurationPrecise(span.timeToFirstTokenMs)}</Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\">{count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
|