@mastra/playground-ui 66.1.0-alpha.2 → 67.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AgentIndicator-Bs2S8AWJ.js +847 -0
- package/dist/AgentIndicator-Bs2S8AWJ.js.map +1 -0
- package/dist/AgentIndicator-to30W73z.cjs +864 -0
- package/dist/AgentIndicator-to30W73z.cjs.map +1 -0
- package/dist/AgentIndicator.css +28 -0
- package/dist/{Arrival-NpBOyV52.js → Arrival-CJFEOXr5.js} +33 -3
- package/dist/Arrival-CJFEOXr5.js.map +1 -0
- package/dist/{Arrival-Dm6Vgn78.cjs → Arrival-Cs1oWjo4.cjs} +43 -1
- package/dist/Arrival-Cs1oWjo4.cjs.map +1 -0
- package/dist/{Comment-CUQvfikb.cjs → Comment-KYUQzeSu.cjs} +2 -2
- package/dist/{Comment-CUQvfikb.cjs.map → Comment-KYUQzeSu.cjs.map} +1 -1
- package/dist/{Comment-CPA3IyPS.js → Comment-VFJq2wRp.js} +2 -2
- package/dist/{Comment-CPA3IyPS.js.map → Comment-VFJq2wRp.js.map} +1 -1
- package/dist/{DataList-Ve3omCXT.js → DataList-2tIlQsLc.js} +95 -3
- package/dist/DataList-2tIlQsLc.js.map +1 -0
- package/dist/{DataList-Cmk08jUV.cjs → DataList-Czwmwyvp.cjs} +93 -1
- package/dist/DataList-Czwmwyvp.cjs.map +1 -0
- package/dist/{DateTimeRangePicker-ByMbLdom.js → DateTimeRangePicker-C_Lie_2P.js} +23 -2
- package/dist/DateTimeRangePicker-C_Lie_2P.js.map +1 -0
- package/dist/{DateTimeRangePicker-DGbH5WOn.cjs → DateTimeRangePicker-HmPOHwAQ.cjs} +23 -2
- package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +1 -0
- package/dist/{FilterBar-Dk3QEuT6.js → FilterBar--4oguuVe.js} +4 -4
- package/dist/FilterBar--4oguuVe.js.map +1 -0
- package/dist/{FilterBar-gEvoWDXA.cjs → FilterBar-BUd4f7oi.cjs} +7 -7
- package/dist/FilterBar-BUd4f7oi.cjs.map +1 -0
- package/dist/GrainFill.css +2 -0
- package/dist/{MarkdownRenderer-BgqKfmRm.cjs → MarkdownRenderer-CS6u5drO.cjs} +2 -2
- package/dist/{MarkdownRenderer-BgqKfmRm.cjs.map → MarkdownRenderer-CS6u5drO.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-DKCDXaLy.js → MarkdownRenderer-DME2xKTk.js} +2 -2
- package/dist/{MarkdownRenderer-DKCDXaLy.js.map → MarkdownRenderer-DME2xKTk.js.map} +1 -1
- package/dist/{Message-BF9cpYaw.cjs → Message-DsCNQpou.cjs} +2 -2
- package/dist/{Message-BF9cpYaw.cjs.map → Message-DsCNQpou.cjs.map} +1 -1
- package/dist/{Message-Bkf6Ro9H.js → Message-nVI6tMS3.js} +2 -2
- package/dist/{Message-Bkf6Ro9H.js.map → Message-nVI6tMS3.js.map} +1 -1
- package/dist/{MetricsCard-Dly_H3oX.cjs → MetricsCard-CEB-f2sv.cjs} +91 -109
- package/dist/MetricsCard-CEB-f2sv.cjs.map +1 -0
- package/dist/{MetricsCard-C9GWgT58.js → MetricsCard-M8awJ2B_.js} +91 -109
- package/dist/MetricsCard-M8awJ2B_.js.map +1 -0
- package/dist/{MetricsKpiCard-Uw0nyMgW.cjs → MetricsKpiCard-By_-sagx.cjs} +3 -2
- package/dist/{MetricsKpiCard-Uw0nyMgW.cjs.map → MetricsKpiCard-By_-sagx.cjs.map} +1 -1
- package/dist/{MetricsKpiCard-Idxjl-dn.js → MetricsKpiCard-OHbAElTl.js} +3 -2
- package/dist/{MetricsKpiCard-Idxjl-dn.js.map → MetricsKpiCard-OHbAElTl.js.map} +1 -1
- package/dist/{MetricsLineChart-DKzuRU2q.js → MetricsLineChart-BhHoduO0.js} +21 -39
- package/dist/MetricsLineChart-BhHoduO0.js.map +1 -0
- package/dist/{MetricsLineChart-2m4LVL1N.cjs → MetricsLineChart-CjBm4IXu.cjs} +21 -39
- package/dist/MetricsLineChart-CjBm4IXu.cjs.map +1 -0
- package/dist/{MetricsStackedBarChart-DJB4aByt.js → MetricsStackedBarChart-BRuA6MTE.js} +2 -3
- package/dist/MetricsStackedBarChart-BRuA6MTE.js.map +1 -0
- package/dist/{MetricsStackedBarChart-NATtwA_W.cjs → MetricsStackedBarChart-BdMlKv6G.cjs} +2 -3
- package/dist/MetricsStackedBarChart-BdMlKv6G.cjs.map +1 -0
- package/dist/Notice.css +2 -0
- package/dist/Shimmer.css +7 -0
- package/dist/{activity-ihrl0JtH.js → activity-CM34JyW-.js} +98 -33
- package/dist/activity-CM34JyW-.js.map +1 -0
- package/dist/{activity-QyLJcBKc.cjs → activity-DAK8tj7r.cjs} +108 -31
- package/dist/activity-DAK8tj7r.cjs.map +1 -0
- package/dist/chart-plot.css +15 -0
- package/dist/combobox-8kNAJFlj.cjs +309 -0
- package/dist/combobox-8kNAJFlj.cjs.map +1 -0
- package/dist/{combobox-C-E7_q4j.cjs → combobox-parts-BZVXwbG7.cjs} +7 -300
- package/dist/combobox-parts-BZVXwbG7.cjs.map +1 -0
- package/dist/{combobox-CDS2pBqz.js → combobox-parts-W7KRQUsV.js} +10 -297
- package/dist/combobox-parts-W7KRQUsV.js.map +1 -0
- package/dist/combobox-wFudhN8F.js +302 -0
- package/dist/combobox-wFudhN8F.js.map +1 -0
- package/dist/components/AgentIndicator.cjs.js +5 -0
- package/dist/components/AgentIndicator.d.ts +1 -0
- package/dist/components/AgentIndicator.es.js +1 -0
- package/dist/components/Arrival.cjs.js +3 -1
- package/dist/components/Arrival.es.js +1 -1
- package/dist/components/Combobox.cjs.js +24 -23
- package/dist/components/Combobox.es.js +2 -1
- package/dist/components/Comment.cjs.js +1 -1
- package/dist/components/Comment.es.js +1 -1
- package/dist/components/DataList.cjs.js +2 -2
- package/dist/components/DataList.es.js +2 -2
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/DiffStat.cjs.js +1 -1
- package/dist/components/DiffStat.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +2 -2
- package/dist/components/FilterBar.es.js +2 -2
- package/dist/components/LogsDataList.cjs.js +1 -1
- package/dist/components/LogsDataList.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/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/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +27 -69
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +26 -68
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/ai/activity.cjs.js +3 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/message-reveal.cjs.js +2 -1
- package/dist/components/ai/message-reveal.cjs.js.map +1 -1
- package/dist/components/ai/message-reveal.es.js +2 -1
- package/dist/components/ai/message-reveal.es.js.map +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +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 +2 -2
- package/dist/components/ai/tool-call.es.js +2 -2
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js +6 -4
- package/dist/domains/chat/activity/activity-stretch-line.cjs.js.map +1 -1
- package/dist/domains/chat/activity/activity-stretch-line.es.js +6 -4
- package/dist/domains/chat/activity/activity-stretch-line.es.js.map +1 -1
- package/dist/domains/chat/activity/components/activity-fold.cjs.js +81 -28
- package/dist/domains/chat/activity/components/activity-fold.cjs.js.map +1 -1
- package/dist/domains/chat/activity/components/activity-fold.es.js +82 -29
- package/dist/domains/chat/activity/components/activity-fold.es.js.map +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
- package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
- package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
- package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
- 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/components/use-fading-edge.cjs.js +26 -0
- package/dist/domains/chat/activity/components/use-fading-edge.cjs.js.map +1 -0
- package/dist/domains/chat/activity/components/use-fading-edge.d.ts +1 -0
- package/dist/domains/chat/activity/components/use-fading-edge.es.js +25 -0
- package/dist/domains/chat/activity/components/use-fading-edge.es.js.map +1 -0
- package/dist/domains/chat/activity/components/use-rolling-words.cjs.js +123 -0
- package/dist/domains/chat/activity/components/use-rolling-words.cjs.js.map +1 -0
- package/dist/domains/chat/activity/components/use-rolling-words.d.ts +1 -0
- package/dist/domains/chat/activity/components/use-rolling-words.es.js +122 -0
- package/dist/domains/chat/activity/components/use-rolling-words.es.js.map +1 -0
- 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 +16 -6
- package/dist/domains/chat/activity/model/activity-words.cjs.js.map +1 -1
- package/dist/domains/chat/activity/model/activity-words.es.js +15 -7
- package/dist/domains/chat/activity/model/activity-words.es.js.map +1 -1
- package/dist/domains/chat/activity.cjs.js +3 -0
- package/dist/domains/chat/activity.es.js +2 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +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/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
- 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/tool-part.cjs.js +18 -0
- package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
- package/dist/domains/chat/messages/renderers/tool-part.es.js +18 -0
- package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +10 -7
- package/dist/domains/chat/messages/skill-message.cjs.js.map +1 -1
- package/dist/domains/chat/messages/skill-message.es.js +10 -7
- package/dist/domains/chat/messages/skill-message.es.js.map +1 -1
- 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/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/file-tree-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +111 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.d.ts +1 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +109 -0
- package/dist/domains/chat/tools/badges/mcp-task-chip.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +8 -6
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +9 -7
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -3
- 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 +2 -3
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
- 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 +10 -4
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +10 -4
- package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js +51 -0
- package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/use-mcp-task-progress.d.ts +1 -0
- package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js +49 -0
- package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +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 +1 -1
- package/dist/domains/chat/tools/tool-groups.es.js +1 -1
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js +44 -0
- package/dist/domains/dashboards/components/dashboard-grid.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/dashboard-grid.d.ts +1 -0
- package/dist/domains/dashboards/components/dashboard-grid.es.js +41 -0
- package/dist/domains/dashboards/components/dashboard-grid.es.js.map +1 -0
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +72 -0
- package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/dashboard-renderer.d.ts +1 -0
- package/dist/domains/dashboards/components/dashboard-renderer.es.js +71 -0
- package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -0
- package/dist/domains/dashboards/components/view-gate.cjs.js +55 -0
- package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/view-gate.d.ts +1 -0
- package/dist/domains/dashboards/components/view-gate.es.js +54 -0
- package/dist/domains/dashboards/components/view-gate.es.js.map +1 -0
- package/dist/domains/dashboards/components/widget-chrome.cjs.js +16 -0
- package/dist/domains/dashboards/components/widget-chrome.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/widget-chrome.d.ts +1 -0
- package/dist/domains/dashboards/components/widget-chrome.es.js +15 -0
- package/dist/domains/dashboards/components/widget-chrome.es.js.map +1 -0
- package/dist/domains/dashboards/components/widget-controls.cjs.js +21 -0
- package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/widget-controls.d.ts +1 -0
- package/dist/domains/dashboards/components/widget-controls.es.js +20 -0
- package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -0
- package/dist/domains/dashboards/components/widget-error.cjs.js +18 -0
- package/dist/domains/dashboards/components/widget-error.cjs.js.map +1 -0
- package/dist/domains/dashboards/components/widget-error.d.ts +1 -0
- package/dist/domains/dashboards/components/widget-error.es.js +17 -0
- package/dist/domains/dashboards/components/widget-error.es.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +47 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.d.ts +1 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +46 -0
- package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js +41 -0
- package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-scorers.d.ts +1 -0
- package/dist/domains/dashboards/hooks/use-scorers.es.js +40 -0
- package/dist/domains/dashboards/hooks/use-scorers.es.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +35 -0
- package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -0
- package/dist/domains/dashboards/hooks/use-widget-views.d.ts +1 -0
- package/dist/domains/dashboards/hooks/use-widget-views.es.js +32 -0
- package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +63 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +62 -0
- package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/options.cjs.js +72 -0
- package/dist/domains/dashboards/kinds/kpis/options.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis/options.d.ts +1 -0
- package/dist/domains/dashboards/kinds/kpis/options.es.js +69 -0
- package/dist/domains/dashboards/kinds/kpis/options.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis.cjs.js +17 -0
- package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/kpis.d.ts +1 -0
- package/dist/domains/dashboards/kinds/kpis.es.js +14 -0
- package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/options.cjs.js +30 -0
- package/dist/domains/dashboards/kinds/scores/options.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/options.d.ts +1 -0
- package/dist/domains/dashboards/kinds/scores/options.es.js +28 -0
- package/dist/domains/dashboards/kinds/scores/options.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +91 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +90 -0
- package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores.cjs.js +16 -0
- package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/scores.d.ts +1 -0
- package/dist/domains/dashboards/kinds/scores.es.js +14 -0
- package/dist/domains/dashboards/kinds/scores.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +67 -0
- package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-cells.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-cells.es.js +63 -0
- package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +72 -0
- package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-columns.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-columns.es.js +71 -0
- package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-frame.cjs.js +16 -0
- package/dist/domains/dashboards/kinds/table/table-frame.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-frame.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-frame.es.js +15 -0
- package/dist/domains/dashboards/kinds/table/table-frame.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +55 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js +54 -0
- package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js +80 -0
- package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-view.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-view.es.js +79 -0
- package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +30 -0
- package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table/table-widget.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table/table-widget.es.js +29 -0
- package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/table.cjs.js +17 -0
- package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/table.d.ts +1 -0
- package/dist/domains/dashboards/kinds/table.es.js +14 -0
- package/dist/domains/dashboards/kinds/table.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +115 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +1 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +114 -0
- package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries.cjs.js +15 -0
- package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds/timeseries.d.ts +1 -0
- package/dist/domains/dashboards/kinds/timeseries.es.js +14 -0
- package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -0
- package/dist/domains/dashboards/kinds.cjs.js +20 -0
- package/dist/domains/dashboards/kinds.cjs.js.map +1 -0
- package/dist/domains/dashboards/kinds.d.ts +1 -0
- package/dist/domains/dashboards/kinds.es.js +15 -0
- package/dist/domains/dashboards/kinds.es.js.map +1 -0
- package/dist/domains/dashboards/lib/answers.cjs.js +42 -0
- package/dist/domains/dashboards/lib/answers.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/answers.d.ts +1 -0
- package/dist/domains/dashboards/lib/answers.es.js +37 -0
- package/dist/domains/dashboards/lib/answers.es.js.map +1 -0
- package/dist/domains/dashboards/lib/chrome.cjs.js +41 -0
- package/dist/domains/dashboards/lib/chrome.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/chrome.d.ts +1 -0
- package/dist/domains/dashboards/lib/chrome.es.js +37 -0
- package/dist/domains/dashboards/lib/chrome.es.js.map +1 -0
- package/dist/domains/dashboards/lib/definition.cjs.js +59 -0
- package/dist/domains/dashboards/lib/definition.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/definition.d.ts +1 -0
- package/dist/domains/dashboards/lib/definition.es.js +55 -0
- package/dist/domains/dashboards/lib/definition.es.js.map +1 -0
- package/dist/domains/dashboards/lib/filters.cjs.js +44 -0
- package/dist/domains/dashboards/lib/filters.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/filters.d.ts +1 -0
- package/dist/domains/dashboards/lib/filters.es.js +43 -0
- package/dist/domains/dashboards/lib/filters.es.js.map +1 -0
- package/dist/domains/dashboards/lib/format.cjs.js +32 -0
- package/dist/domains/dashboards/lib/format.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/format.d.ts +1 -0
- package/dist/domains/dashboards/lib/format.es.js +30 -0
- package/dist/domains/dashboards/lib/format.es.js.map +1 -0
- package/dist/domains/dashboards/lib/prepare-widget.cjs.js +77 -0
- package/dist/domains/dashboards/lib/prepare-widget.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/prepare-widget.d.ts +1 -0
- package/dist/domains/dashboards/lib/prepare-widget.es.js +75 -0
- package/dist/domains/dashboards/lib/prepare-widget.es.js.map +1 -0
- package/dist/domains/dashboards/lib/requests.cjs.js +279 -0
- package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/requests.d.ts +1 -0
- package/dist/domains/dashboards/lib/requests.es.js +273 -0
- package/dist/domains/dashboards/lib/requests.es.js.map +1 -0
- package/dist/domains/dashboards/lib/scores.cjs.js +58 -0
- package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/scores.d.ts +1 -0
- package/dist/domains/dashboards/lib/scores.es.js +53 -0
- package/dist/domains/dashboards/lib/scores.es.js.map +1 -0
- package/dist/domains/dashboards/lib/table.cjs.js +408 -0
- package/dist/domains/dashboards/lib/table.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/table.d.ts +1 -0
- package/dist/domains/dashboards/lib/table.es.js +388 -0
- package/dist/domains/dashboards/lib/table.es.js.map +1 -0
- package/dist/domains/dashboards/lib/timeseries.cjs.js +192 -0
- package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/timeseries.d.ts +1 -0
- package/dist/domains/dashboards/lib/timeseries.es.js +188 -0
- package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -0
- package/dist/domains/dashboards/lib/values.cjs.js +155 -0
- package/dist/domains/dashboards/lib/values.cjs.js.map +1 -0
- package/dist/domains/dashboards/lib/values.d.ts +1 -0
- package/dist/domains/dashboards/lib/values.es.js +142 -0
- package/dist/domains/dashboards/lib/values.es.js.map +1 -0
- package/dist/domains/dashboards/metrics-dashboard.cjs.js +737 -0
- package/dist/domains/dashboards/metrics-dashboard.cjs.js.map +1 -0
- package/dist/domains/dashboards/metrics-dashboard.d.ts +1 -0
- package/dist/domains/dashboards/metrics-dashboard.es.js +736 -0
- package/dist/domains/dashboards/metrics-dashboard.es.js.map +1 -0
- package/dist/domains/dashboards/widget-kind.cjs.js +7 -0
- package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -0
- package/dist/domains/dashboards/widget-kind.d.ts +1 -0
- package/dist/domains/dashboards/widget-kind.es.js +6 -0
- package/dist/domains/dashboards/widget-kind.es.js.map +1 -0
- package/dist/domains/dashboards.cjs.js +39 -0
- package/dist/domains/dashboards.d.ts +1 -0
- package/dist/domains/dashboards.es.js +18 -0
- package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +1 -1
- package/dist/domains/logs/components/logs-saved-views.cjs.js +14 -0
- package/dist/domains/logs/components/logs-saved-views.cjs.js.map +1 -0
- package/dist/domains/logs/components/logs-saved-views.d.ts +1 -0
- package/dist/domains/logs/components/logs-saved-views.es.js +13 -0
- package/dist/domains/logs/components/logs-saved-views.es.js.map +1 -0
- package/dist/domains/logs/components.cjs.js +2 -0
- package/dist/domains/logs/components.es.js +2 -1
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.es.js +2 -2
- package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
- package/dist/domains/logs/log-filters.cjs.js +11 -0
- package/dist/domains/logs/log-filters.cjs.js.map +1 -1
- package/dist/domains/logs/log-filters.es.js +9 -1
- package/dist/domains/logs/log-filters.es.js.map +1 -1
- package/dist/domains/logs.cjs.js +6 -1
- package/dist/domains/logs.es.js +3 -2
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +38 -15
- package/dist/domains/metrics/components/agent-runs-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/agent-runs-card.es.js +38 -15
- package/dist/domains/metrics/components/agent-runs-card.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js +4 -11
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js +4 -11
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js +2 -4
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js +2 -4
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js +16 -27
- package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js +16 -27
- package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js +22 -0
- package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-name.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-name.es.js +21 -0
- package/dist/domains/metrics/components/breakdown/breakdown-name.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js +13 -0
- package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js +12 -0
- package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js +26 -13
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js +25 -14
- package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js +10 -13
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js +11 -14
- package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js.map +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +5 -5
- package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +5 -5
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js +25 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js +24 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown-card.cjs.js +3 -3
- package/dist/domains/metrics/components/breakdown-card.es.js +3 -3
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +43 -3
- package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +42 -5
- package/dist/domains/metrics/components/card-action-buttons.es.js.map +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 +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/chart-card.cjs.js +39 -38
- package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +39 -38
- 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 +15 -16
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js.map +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +16 -16
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js.map +1 -1
- package/dist/domains/metrics/components/distinct-ids-card.cjs.js +0 -1
- package/dist/domains/metrics/components/distinct-ids-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/distinct-ids-card.es.js +1 -2
- package/dist/domains/metrics/components/distinct-ids-card.es.js.map +1 -1
- package/dist/domains/metrics/components/failure-rate-card.cjs.js +11 -14
- package/dist/domains/metrics/components/failure-rate-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/failure-rate-card.es.js +11 -14
- package/dist/domains/metrics/components/failure-rate-card.es.js.map +1 -1
- package/dist/domains/metrics/components/kpi-card.cjs.js +8 -5
- package/dist/domains/metrics/components/kpi-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/kpi-card.es.js +8 -5
- package/dist/domains/metrics/components/kpi-card.es.js.map +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +33 -30
- package/dist/domains/metrics/components/latency-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/latency-card.es.js +34 -31
- package/dist/domains/metrics/components/latency-card.es.js.map +1 -1
- package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js +5 -2
- package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js.map +1 -1
- package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js +5 -2
- package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js.map +1 -1
- package/dist/domains/metrics/components/scores-card.cjs.js +7 -17
- package/dist/domains/metrics/components/scores-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/scores-card.es.js +7 -17
- package/dist/domains/metrics/components/scores-card.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-card.cjs.js +29 -26
- package/dist/domains/metrics/components/token-usage-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-card.es.js +30 -27
- package/dist/domains/metrics/components/token-usage-card.es.js.map +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +3 -2
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.es.js +3 -2
- package/dist/domains/metrics/components/trace-aggregate-card.es.js.map +1 -1
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +31 -35
- package/dist/domains/metrics/components/trace-volume-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/trace-volume-card.es.js +31 -35
- package/dist/domains/metrics/components/trace-volume-card.es.js.map +1 -1
- package/dist/domains/metrics/components/usage-card.cjs.js +29 -28
- package/dist/domains/metrics/components/usage-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/usage-card.es.js +30 -29
- package/dist/domains/metrics/components/usage-card.es.js.map +1 -1
- package/dist/domains/metrics/components.cjs.js +6 -5
- package/dist/domains/metrics/components.es.js +4 -5
- 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 +1 -1
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +1 -1
- package/dist/domains/metrics/hooks.cjs.js +1 -1
- package/dist/domains/metrics/hooks.es.js +1 -1
- 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.cjs.js +2 -2
- package/dist/domains/metrics/lib.es.js +2 -2
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/metrics.cjs.js +14 -13
- package/dist/domains/metrics.es.js +12 -13
- package/dist/domains/observability/components/observability-header-slot.cjs.js +13 -0
- package/dist/domains/observability/components/observability-header-slot.cjs.js.map +1 -0
- package/dist/domains/observability/components/observability-header-slot.d.ts +1 -0
- package/dist/domains/observability/components/observability-header-slot.es.js +11 -0
- package/dist/domains/observability/components/observability-header-slot.es.js.map +1 -0
- package/dist/domains/observability/components/observability-histogram.cjs.js +6 -2
- package/dist/domains/observability/components/observability-histogram.cjs.js.map +1 -1
- package/dist/domains/observability/components/observability-histogram.es.js +6 -2
- package/dist/domains/observability/components/observability-histogram.es.js.map +1 -1
- package/dist/domains/observability/components/observability-page-layout.cjs.js +19 -5
- package/dist/domains/observability/components/observability-page-layout.cjs.js.map +1 -1
- package/dist/domains/observability/components/observability-page-layout.es.js +20 -6
- package/dist/domains/observability/components/observability-page-layout.es.js.map +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +75 -18
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js.map +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +76 -19
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js.map +1 -1
- package/dist/domains/observability/lib/zoom-memory.cjs.js +24 -0
- package/dist/domains/observability/lib/zoom-memory.cjs.js.map +1 -0
- package/dist/domains/observability/lib/zoom-memory.d.ts +1 -0
- package/dist/domains/observability/lib/zoom-memory.es.js +22 -0
- package/dist/domains/observability/lib/zoom-memory.es.js.map +1 -0
- package/dist/domains/observability/observability-list-url-state.cjs.js +122 -0
- package/dist/domains/observability/observability-list-url-state.cjs.js.map +1 -0
- package/dist/domains/observability/observability-list-url-state.d.ts +1 -0
- package/dist/domains/observability/observability-list-url-state.es.js +111 -0
- package/dist/domains/observability/observability-list-url-state.es.js.map +1 -0
- package/dist/domains/observability/saved-view-state.cjs.js +292 -0
- package/dist/domains/observability/saved-view-state.cjs.js.map +1 -0
- package/dist/domains/observability/saved-view-state.d.ts +1 -0
- package/dist/domains/observability/saved-view-state.es.js +286 -0
- package/dist/domains/observability/saved-view-state.es.js.map +1 -0
- package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +3 -0
- package/dist/domains/observability/saved-views/observability-saved-views.d.ts +1 -0
- package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -0
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +18 -0
- package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -0
- package/dist/domains/observability/saved-views/saved-views-provider.d.ts +1 -0
- package/dist/domains/observability/saved-views/saved-views-provider.es.js +17 -0
- package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -0
- package/dist/domains/observability/saved-views/saved-views-source.cjs.js +23 -0
- package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -0
- package/dist/domains/observability/saved-views/saved-views-source.d.ts +1 -0
- package/dist/domains/observability/saved-views/saved-views-source.es.js +19 -0
- package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -0
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +235 -0
- package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -0
- package/dist/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -0
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +232 -0
- package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -0
- package/dist/domains/observability/saved-views.cjs.js +7 -0
- package/dist/domains/observability/saved-views.d.ts +1 -0
- package/dist/domains/observability/saved-views.es.js +4 -0
- package/dist/domains/observability.cjs.js +6 -0
- package/dist/domains/observability.es.js +4 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
- package/dist/domains/scores/components/span-scoring.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-list.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/skills/skill-simple-form.cjs.js +1 -1
- package/dist/domains/skills/skill-simple-form.es.js +1 -1
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +64 -18
- package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.es.js +64 -18
- package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.cjs.js +6 -5
- package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-filter-bar.es.js +6 -5
- package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +15 -3
- package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +15 -3
- package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
- package/dist/domains/spans/span-filters.cjs.js +53 -14
- package/dist/domains/spans/span-filters.cjs.js.map +1 -1
- package/dist/domains/spans/span-filters.es.js +52 -15
- package/dist/domains/spans/span-filters.es.js.map +1 -1
- package/dist/domains/spans/span-list-row.cjs.js +6 -1
- package/dist/domains/spans/span-list-row.cjs.js.map +1 -1
- package/dist/domains/spans/span-list-row.es.js +6 -1
- package/dist/domains/spans/span-list-row.es.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +45 -12
- package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.es.js +46 -12
- package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
- 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 +14 -3
- package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +14 -3
- package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
- package/dist/domains/threads/thread-filters.cjs.js +26 -13
- package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
- package/dist/domains/threads/thread-filters.es.js +26 -13
- package/dist/domains/threads/thread-filters.es.js.map +1 -1
- package/dist/domains/threads/thread-list-row.cjs.js +2 -0
- package/dist/domains/threads/thread-list-row.cjs.js.map +1 -1
- package/dist/domains/threads/thread-list-row.es.js +2 -0
- package/dist/domains/threads/thread-list-row.es.js.map +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +24 -19
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +25 -20
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +12 -2
- 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 +12 -2
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-outcome.utils.cjs.js +1 -1
- package/dist/domains/traces/components/span-outcome.utils.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
- 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 +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- 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-mutations.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
- package/dist/domains/traces/components/span-prompt-changes.cjs.js +1 -1
- package/dist/domains/traces/components/span-prompt-changes.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +2 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +9 -2
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +9 -2
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +2 -1
- package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js +120 -0
- package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-span-timeline-markers.d.ts +1 -0
- package/dist/domains/traces/components/trace-span-timeline-markers.es.js +119 -0
- package/dist/domains/traces/components/trace-span-timeline-markers.es.js.map +1 -0
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +8 -5
- package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js +8 -5
- package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -5
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -5
- package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +15 -11
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +15 -12
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +4 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +4 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -4
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -4
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js +13 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js +13 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +5 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +5 -2
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +7 -11
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +7 -11
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +3 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +3 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +51 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +51 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +20 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +19 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +10 -4
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +10 -4
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.cjs.js +4 -1
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.es.js +5 -3
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +5 -1
- package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view-adapter.es.js +5 -1
- package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +53 -18
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +53 -18
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +5 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-list-columns.cjs.js +48 -9
- package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.es.js +48 -9
- package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces/utils/timeline-markers.cjs.js +34 -0
- package/dist/domains/traces/utils/timeline-markers.cjs.js.map +1 -0
- package/dist/domains/traces/utils/timeline-markers.d.ts +1 -0
- package/dist/domains/traces/utils/timeline-markers.es.js +33 -0
- package/dist/domains/traces/utils/timeline-markers.es.js.map +1 -0
- package/dist/domains/traces.cjs.js +5 -1
- package/dist/domains/traces.es.js +2 -2
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
- package/dist/{filter-bar-chip-B3pgpngW.js → filter-bar-chip-7O02P9Vk.js} +27 -9
- package/dist/filter-bar-chip-7O02P9Vk.js.map +1 -0
- package/dist/{filter-bar-chip-CyTAmjt6.cjs → filter-bar-chip-BUyMf8XQ.cjs} +40 -22
- package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/json-schema-to-zod-runtime.cjs.js +4 -4
- package/dist/lib/form/json-schema-to-zod-runtime.cjs.js.map +1 -1
- package/dist/lib/form/json-schema-to-zod-runtime.es.js +4 -4
- package/dist/lib/form/json-schema-to-zod-runtime.es.js.map +1 -1
- package/dist/lib/form/zod-provider.cjs.js +5 -1
- package/dist/lib/form/zod-provider.cjs.js.map +1 -1
- package/dist/lib/form/zod-provider.es.js +5 -1
- package/dist/lib/form/zod-provider.es.js.map +1 -1
- package/dist/observability-saved-views-Bo5kLN20.js +297 -0
- package/dist/observability-saved-views-Bo5kLN20.js.map +1 -0
- package/dist/observability-saved-views-CwCii7hh.cjs +302 -0
- package/dist/observability-saved-views-CwCii7hh.cjs.map +1 -0
- package/dist/primitives/chart-axes.cjs.js +44 -0
- package/dist/primitives/chart-axes.cjs.js.map +1 -1
- package/dist/primitives/chart-axes.es.js +43 -1
- package/dist/primitives/chart-axes.es.js.map +1 -1
- package/dist/primitives/chart-frame.cjs.js +5 -3
- package/dist/primitives/chart-frame.cjs.js.map +1 -1
- package/dist/primitives/chart-frame.es.js +6 -4
- package/dist/primitives/chart-frame.es.js.map +1 -1
- package/dist/primitives/chart-time-tick.cjs.js +15 -11
- package/dist/primitives/chart-time-tick.cjs.js.map +1 -1
- package/dist/primitives/chart-time-tick.es.js +16 -12
- package/dist/primitives/chart-time-tick.es.js.map +1 -1
- package/dist/saved-view-schema-DRJYELfK.cjs +71 -0
- package/dist/saved-view-schema-DRJYELfK.cjs.map +1 -0
- package/dist/saved-view-schema-eJXlRRel.js +54 -0
- package/dist/saved-view-schema-eJXlRRel.js.map +1 -0
- package/dist/{span-payload-primitives-D3OO0u6u.cjs → span-payload-primitives-B10Xxmx7.cjs} +4 -4
- package/dist/{span-payload-primitives-D3OO0u6u.cjs.map → span-payload-primitives-B10Xxmx7.cjs.map} +1 -1
- package/dist/{span-payload-primitives-DTV7eUY-.js → span-payload-primitives-Dyhbqaa7.js} +4 -4
- package/dist/{span-payload-primitives-DTV7eUY-.js.map → span-payload-primitives-Dyhbqaa7.js.map} +1 -1
- package/dist/src/domains/chat/activity/activity-stretch-line.d.ts +4 -2
- package/dist/src/domains/chat/activity/components/activity-fold.d.ts +5 -4
- package/dist/src/domains/chat/activity/components/use-fading-edge.d.ts +6 -0
- package/dist/src/domains/chat/activity/components/use-rolling-words.d.ts +7 -0
- package/dist/src/domains/chat/activity/index.d.ts +2 -1
- package/dist/src/domains/chat/activity/model/activity-members.d.ts +1 -0
- package/dist/src/domains/chat/activity/model/activity-words.d.ts +3 -0
- package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +4 -0
- package/dist/src/domains/chat/messages/skill-message.d.ts +3 -1
- package/dist/src/domains/chat/tools/badges/mcp-task-chip.d.ts +14 -0
- package/dist/src/domains/chat/tools/badges/tool-badge.d.ts +5 -1
- package/dist/src/domains/chat/tools/badges/use-mcp-task-progress.d.ts +27 -0
- package/dist/src/domains/chat/tools/tool-card.d.ts +5 -1
- package/dist/src/domains/dashboards/components/dashboard-grid.d.ts +18 -0
- package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +19 -0
- package/dist/src/domains/dashboards/components/view-gate.d.ts +30 -0
- package/dist/src/domains/dashboards/components/widget-chrome.d.ts +7 -0
- package/dist/src/domains/dashboards/components/widget-controls.d.ts +8 -0
- package/dist/src/domains/dashboards/components/widget-error.d.ts +6 -0
- package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +10 -0
- package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +66 -0
- package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +18 -0
- package/dist/src/domains/dashboards/index.d.ts +19 -0
- package/dist/src/domains/dashboards/kinds/index.d.ts +7 -0
- package/dist/src/domains/dashboards/kinds/kpis/index.d.ts +13 -0
- package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +3 -0
- package/dist/src/domains/dashboards/kinds/kpis/options.d.ts +35 -0
- package/dist/src/domains/dashboards/kinds/scores/index.d.ts +8 -0
- package/dist/src/domains/dashboards/kinds/scores/options.d.ts +13 -0
- package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +3 -0
- package/dist/src/domains/dashboards/kinds/table/index.d.ts +23 -0
- package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +26 -0
- package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +7 -0
- package/dist/src/domains/dashboards/kinds/table/table-frame.d.ts +13 -0
- package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +10 -0
- package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +5 -0
- package/dist/src/domains/dashboards/kinds/table/table-widget.d.ts +7 -0
- package/dist/src/domains/dashboards/kinds/timeseries/index.d.ts +30 -0
- package/dist/src/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +5 -0
- package/dist/src/domains/dashboards/lib/answers.d.ts +43 -0
- package/dist/src/domains/dashboards/lib/chrome.d.ts +14 -0
- package/dist/src/domains/dashboards/lib/definition.d.ts +27 -0
- package/dist/src/domains/dashboards/lib/filters.d.ts +6 -0
- package/dist/src/domains/dashboards/lib/format.d.ts +7 -0
- package/dist/src/domains/dashboards/lib/prepare-widget.d.ts +26 -0
- package/dist/src/domains/dashboards/lib/requests.d.ts +95 -0
- package/dist/src/domains/dashboards/lib/scores.d.ts +35 -0
- package/dist/src/domains/dashboards/lib/table.d.ts +188 -0
- package/dist/src/domains/dashboards/lib/timeseries.d.ts +119 -0
- package/dist/src/domains/dashboards/lib/values.d.ts +86 -0
- package/dist/src/domains/dashboards/metrics-dashboard.d.ts +7 -0
- package/dist/src/domains/dashboards/widget-kind.d.ts +31 -0
- package/dist/src/domains/logs/components/index.d.ts +1 -0
- package/dist/src/domains/logs/components/logs-saved-views.d.ts +4 -0
- package/dist/src/domains/logs/log-filters.d.ts +8 -0
- package/dist/src/domains/metrics/components/agent-runs-card.d.ts +10 -3
- package/dist/src/domains/metrics/components/breakdown/breakdown-name.d.ts +13 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +2 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-row-mark.d.ts +17 -4
- package/dist/src/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +9 -0
- package/dist/src/domains/metrics/components/card-action-buttons.d.ts +9 -0
- package/dist/src/domains/metrics/components/chart-card.d.ts +33 -21
- package/dist/src/domains/metrics/components/distinct-ids/distinct-ids-chart.d.ts +0 -1
- package/dist/src/domains/metrics/components/failure-rate-card.d.ts +5 -2
- package/dist/src/domains/metrics/components/index.d.ts +1 -2
- package/dist/src/domains/metrics/components/metrics-grid/metrics-grid.d.ts +4 -1
- package/dist/src/domains/metrics/components/trace-aggregate-card.d.ts +1 -1
- package/dist/src/domains/observability/components/observability-header-slot.d.ts +6 -0
- package/dist/src/domains/observability/components/observability-histogram.d.ts +1 -1
- package/dist/src/domains/observability/hooks/use-observability-list-filters.d.ts +21 -5
- package/dist/src/domains/observability/index.d.ts +2 -0
- package/dist/src/domains/observability/lib/zoom-memory.d.ts +19 -0
- package/dist/src/domains/observability/observability-list-url-state.d.ts +39 -0
- package/dist/src/domains/observability/saved-view-state.d.ts +46 -0
- package/dist/src/domains/observability/saved-views/index.d.ts +7 -0
- package/dist/src/domains/observability/saved-views/observability-saved-views.d.ts +22 -0
- package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +15 -0
- package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +41 -0
- package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +34 -0
- package/dist/src/domains/spans/components/spans-explorer-body.d.ts +4 -1
- package/dist/src/domains/spans/components/spans-filter-bar.d.ts +3 -1
- package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
- package/dist/src/domains/spans/hooks/use-spans-list-source.d.ts +3 -0
- package/dist/src/domains/spans/span-filters.d.ts +16 -5
- package/dist/src/domains/threads/components/threads-explorer-body.d.ts +4 -1
- package/dist/src/domains/threads/thread-filters.d.ts +6 -5
- package/dist/src/domains/traces/components/columns-menu/columns-menu.d.ts +3 -3
- package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +7 -1
- package/dist/src/domains/traces/components/trace-span-panel.d.ts +2 -1
- package/dist/src/domains/traces/components/trace-span-timeline-markers.d.ts +5 -0
- package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -1
- package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +3 -1
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +4 -1
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +5 -5
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +11 -1
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +7 -0
- package/dist/src/domains/traces/components/traces-list-view.d.ts +20 -7
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +5 -0
- package/dist/src/domains/traces/trace-filters.d.ts +27 -3
- package/dist/src/domains/traces/trace-list-columns.d.ts +16 -6
- package/dist/src/domains/traces/utils/timeline-markers.d.ts +25 -0
- package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +2 -0
- package/dist/src/domains/workflows/workflow/input/processor-input.d.ts +5 -535
- package/dist/src/domains/workflows/workflow/use-workflow-trigger.d.ts +1 -1
- package/dist/src/ds/components/AgentIndicator/agent-glyph.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/agent-indicator.d.ts +8 -0
- package/dist/src/ds/components/AgentIndicator/animate.d.ts +5 -0
- package/dist/src/ds/components/AgentIndicator/index.d.ts +4 -0
- package/dist/src/ds/components/AgentIndicator/paint.d.ts +21 -0
- package/dist/src/ds/components/AgentIndicator/poses.d.ts +7 -0
- package/dist/src/ds/components/AgentIndicator/shapes.d.ts +41 -0
- package/dist/src/ds/components/Arrival/arrival.d.ts +11 -0
- package/dist/src/ds/components/Arrival/index.d.ts +1 -1
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +12 -0
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +3 -1
- package/dist/src/ds/components/FilterBar/types.d.ts +2 -0
- package/dist/src/ds/components/MetricsCard/index.d.ts +1 -1
- package/dist/src/ds/components/MetricsCard/metrics-card-actions.d.ts +2 -1
- package/dist/src/ds/components/MetricsCard/metrics-card-headline.d.ts +13 -0
- package/dist/src/ds/components/MetricsCard/metrics-card-title-menu.d.ts +2 -0
- package/dist/src/ds/components/MetricsCard/metrics-card-title.d.ts +1 -3
- package/dist/src/ds/components/MetricsCard/metrics-card-toolbar.d.ts +3 -3
- package/dist/src/ds/components/MetricsCard/metrics-card-total.d.ts +11 -3
- package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +2 -9
- package/dist/src/ds/components/MetricsCard/metrics-story-data.d.ts +0 -26
- package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-root.d.ts +5 -2
- package/dist/src/ds/components/MetricsLineChart/metrics-line-chart-legend.d.ts +3 -4
- package/dist/src/ds/components/MetricsLineChart/metrics-line-chart.d.ts +2 -6
- package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +3 -1
- package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +21 -0
- package/dist/src/ds/components/SavedViews/use-saved-views.d.ts +6 -2
- package/dist/src/ds/components/ai/activity/activity.d.ts +12 -7
- package/dist/src/ds/components/ai/activity/index.d.ts +1 -0
- package/dist/src/ds/components/ai/activity/presets/signal-activity.d.ts +4 -1
- package/dist/src/ds/components/ai/activity/use-relative-paths.d.ts +3 -0
- package/dist/src/ds/components/ai/message-reveal/message-reveal.d.ts +2 -1
- package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +4 -0
- package/dist/src/ds/primitives/chart-axes.d.ts +24 -0
- package/dist/src/ds/primitives/chart-frame.d.ts +2 -1
- package/dist/src/ds/primitives/chart-time-tick.d.ts +7 -4
- package/dist/src/lib/string.d.ts +1 -0
- package/dist/{string-OAgeMRQ5.js → string-CNKDIc_4.js} +6 -2
- package/dist/string-CNKDIc_4.js.map +1 -0
- package/dist/{string-CymY0aJ9.cjs → string-DdJJdCv2.cjs} +11 -1
- package/dist/string-DdJJdCv2.cjs.map +1 -0
- package/dist/style.css +67 -4
- package/dist/{tabbed-container-x2mfK07d.js → tabbed-container-BKUqfEKy.js} +2 -2
- package/dist/{tabbed-container-x2mfK07d.js.map → tabbed-container-BKUqfEKy.js.map} +1 -1
- package/dist/{tabbed-container-CBTb0LgE.cjs → tabbed-container-CFEImJOK.cjs} +2 -2
- package/dist/{tabbed-container-CBTb0LgE.cjs.map → tabbed-container-CFEImJOK.cjs.map} +1 -1
- package/dist/{tool-approval-6E73C0r6.cjs → tool-approval-BfjoSNOC.cjs} +4 -4
- package/dist/{tool-approval-6E73C0r6.cjs.map → tool-approval-BfjoSNOC.cjs.map} +1 -1
- package/dist/{tool-approval-BXlro6fV.js → tool-approval-FeuyUUcL.js} +4 -4
- package/dist/{tool-approval-BXlro6fV.js.map → tool-approval-FeuyUUcL.js.map} +1 -1
- package/dist/{tool-call-CItJ8KLA.js → tool-call-BxYXs9w0.js} +9 -7
- package/dist/{tool-call-CItJ8KLA.js.map → tool-call-BxYXs9w0.js.map} +1 -1
- package/dist/{tool-call-Dq9xF3WD.cjs → tool-call-CvilN9ti.cjs} +9 -7
- package/dist/{tool-call-Dq9xF3WD.cjs.map → tool-call-CvilN9ti.cjs.map} +1 -1
- package/dist/{tool-card-o5u4YCR0.cjs → tool-card-B7O8AsRl.cjs} +9 -5
- package/dist/tool-card-B7O8AsRl.cjs.map +1 -0
- package/dist/{tool-card-Bd8weXze.js → tool-card-ELW898uw.js} +9 -5
- package/dist/tool-card-ELW898uw.js.map +1 -0
- package/dist/{tool-presentation-D2uUj1AB.cjs → tool-presentation-BLErsb7c.cjs} +38 -40
- package/dist/tool-presentation-BLErsb7c.cjs.map +1 -0
- package/dist/{tool-presentation-DKfIKLQy.js → tool-presentation-BSZYIWx2.js} +38 -40
- package/dist/tool-presentation-BSZYIWx2.js.map +1 -0
- package/dist/{trace-filters-C27yWcan.js → trace-filters-BJaebsxJ.js} +78 -11
- package/dist/trace-filters-BJaebsxJ.js.map +1 -0
- package/dist/{trace-filters-BpeBUjCb.cjs → trace-filters-BNEZ31HX.cjs} +100 -9
- package/dist/trace-filters-BNEZ31HX.cjs.map +1 -0
- package/dist/types-CP7wbYua.cjs.map +1 -1
- package/dist/types-DiiL5mTO.js.map +1 -1
- package/dist/utils/string.cjs.js +2 -1
- package/dist/utils/string.es.js +1 -1
- package/package.json +14 -14
- package/dist/Arrival-Dm6Vgn78.cjs.map +0 -1
- package/dist/Arrival-NpBOyV52.js.map +0 -1
- package/dist/DataList-Cmk08jUV.cjs.map +0 -1
- package/dist/DataList-Ve3omCXT.js.map +0 -1
- package/dist/DateTimeRangePicker-ByMbLdom.js.map +0 -1
- package/dist/DateTimeRangePicker-DGbH5WOn.cjs.map +0 -1
- package/dist/FilterBar-Dk3QEuT6.js.map +0 -1
- package/dist/FilterBar-gEvoWDXA.cjs.map +0 -1
- package/dist/MetricsCard-C9GWgT58.js.map +0 -1
- package/dist/MetricsCard-Dly_H3oX.cjs.map +0 -1
- package/dist/MetricsLineChart-2m4LVL1N.cjs.map +0 -1
- package/dist/MetricsLineChart-DKzuRU2q.js.map +0 -1
- package/dist/MetricsStackedBarChart-DJB4aByt.js.map +0 -1
- package/dist/MetricsStackedBarChart-NATtwA_W.cjs.map +0 -1
- package/dist/activity-QyLJcBKc.cjs.map +0 -1
- package/dist/activity-ihrl0JtH.js.map +0 -1
- package/dist/combobox-C-E7_q4j.cjs.map +0 -1
- package/dist/combobox-CDS2pBqz.js.map +0 -1
- package/dist/domains/metrics/components/metrics-kpis.cjs.js +0 -106
- package/dist/domains/metrics/components/metrics-kpis.cjs.js.map +0 -1
- package/dist/domains/metrics/components/metrics-kpis.d.ts +0 -1
- package/dist/domains/metrics/components/metrics-kpis.es.js +0 -105
- package/dist/domains/metrics/components/metrics-kpis.es.js.map +0 -1
- package/dist/filter-bar-chip-B3pgpngW.js.map +0 -1
- package/dist/filter-bar-chip-CyTAmjt6.cjs.map +0 -1
- package/dist/src/domains/metrics/components/metrics-kpis.d.ts +0 -2
- package/dist/src/ds/components/MetricsCard/metrics-card-description.d.ts +0 -4
- package/dist/src/ds/components/MetricsCard/metrics-card-summary.d.ts +0 -8
- package/dist/src/ds/components/MetricsCard/metrics-card-tabs.d.ts +0 -16
- package/dist/src/ds/components/MetricsCard/metrics-card-title-and-description.d.ts +0 -16
- package/dist/string-CymY0aJ9.cjs.map +0 -1
- package/dist/string-OAgeMRQ5.js.map +0 -1
- package/dist/tool-card-Bd8weXze.js.map +0 -1
- package/dist/tool-card-o5u4YCR0.cjs.map +0 -1
- package/dist/tool-presentation-D2uUj1AB.cjs.map +0 -1
- package/dist/tool-presentation-DKfIKLQy.js.map +0 -1
- package/dist/trace-filters-BpeBUjCb.cjs.map +0 -1
- package/dist/trace-filters-C27yWcan.js.map +0 -1
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
import { useFeedbackAvailable, useTraceQueryAvailable } from "../../capabilities.es.js";
|
|
2
|
+
import { buildThreadQueryWhere } from "../thread-filters.es.js";
|
|
3
|
+
import { withoutUnrecordedStreamingColumns } from "../../traces/trace-list-columns.es.js";
|
|
4
|
+
import { t as ObservabilitySavedViews } from "../../../observability-saved-views-Bo5kLN20.js";
|
|
2
5
|
import { ObservabilityListBody } from "../../observability/components/observability-list-body.es.js";
|
|
3
6
|
import { useObservabilityListFilters } from "../../observability/hooks/use-observability-list-filters.es.js";
|
|
4
|
-
import {
|
|
7
|
+
import { ColumnsMenu } from "../../traces/components/columns-menu/columns-menu.es.js";
|
|
5
8
|
import { NoTracesInfo } from "../../traces/components/no-traces-info.es.js";
|
|
6
9
|
import { TracesErrorContent } from "../../traces/components/traces-error-content.es.js";
|
|
7
10
|
import { TracesListView } from "../../traces/components/traces-list-view.es.js";
|
|
11
|
+
import { useTraceColumnPreferences } from "../../traces/hooks/use-trace-column-preferences.es.js";
|
|
8
12
|
import { t as ActionRow } from "../../../ActionRow-Cd6tOC2K.js";
|
|
9
13
|
import { useThreadsListSource } from "../hooks/use-threads-list-source.es.js";
|
|
10
|
-
import { buildThreadQueryWhere } from "../thread-filters.es.js";
|
|
11
14
|
import { threadToListRow } from "../thread-list-row.es.js";
|
|
12
15
|
import { ThreadsFilterBar } from "./threads-filter-bar.es.js";
|
|
13
16
|
import { TraceThreadPanel } from "../../traces/components/trace-thread-panel.es.js";
|
|
14
17
|
import { useMemo } from "react";
|
|
15
18
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
19
|
+
import { useObservabilityCapabilities } from "@mastra/react/hooks/capabilities";
|
|
16
20
|
// src/domains/threads/components/threads-explorer-body.tsx
|
|
17
21
|
/** The threads page body: filter bar, thread list and the thread drawer. Router-agnostic. */
|
|
18
|
-
function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenScore }) {
|
|
19
|
-
const filters = useObservabilityListFilters();
|
|
22
|
+
function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenScore, urlState }) {
|
|
23
|
+
const filters = useObservabilityListFilters(urlState);
|
|
20
24
|
const { timeRange, tokens, groups, sort } = filters;
|
|
21
25
|
const withQueryTrace = useTraceQueryAvailable().enabled;
|
|
22
26
|
const withFeedback = useFeedbackAvailable().enabled;
|
|
27
|
+
const columns = useTraceColumnPreferences({ scope: "threads" });
|
|
28
|
+
const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();
|
|
29
|
+
const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;
|
|
30
|
+
const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;
|
|
31
|
+
const displayedColumns = useMemo(() => isCapabilitiesLoading ? columns.preferences : withoutUnrecordedStreamingColumns(columns.preferences, {
|
|
32
|
+
withTimeToFirstChunk,
|
|
33
|
+
withTimeToFirstToken
|
|
34
|
+
}), [
|
|
35
|
+
columns.preferences,
|
|
36
|
+
isCapabilitiesLoading,
|
|
37
|
+
withTimeToFirstChunk,
|
|
38
|
+
withTimeToFirstToken
|
|
39
|
+
]);
|
|
23
40
|
const query = useMemo(() => {
|
|
24
|
-
const where = buildThreadQueryWhere(tokens, groups
|
|
41
|
+
const where = buildThreadQueryWhere(tokens, groups, {
|
|
42
|
+
withTimeToFirstChunk,
|
|
43
|
+
withTimeToFirstToken
|
|
44
|
+
});
|
|
25
45
|
return {
|
|
26
46
|
timeRange: { traces: timeRange },
|
|
27
47
|
orderBy: [{
|
|
28
48
|
field: "startedAt",
|
|
29
|
-
direction: sort
|
|
49
|
+
direction: sort.direction
|
|
30
50
|
}],
|
|
31
51
|
...where ? { where } : {}
|
|
32
52
|
};
|
|
@@ -34,7 +54,9 @@ function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenS
|
|
|
34
54
|
timeRange,
|
|
35
55
|
sort,
|
|
36
56
|
tokens,
|
|
37
|
-
groups
|
|
57
|
+
groups,
|
|
58
|
+
withTimeToFirstChunk,
|
|
59
|
+
withTimeToFirstToken
|
|
38
60
|
]);
|
|
39
61
|
const { threads, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } = useThreadsListSource({
|
|
40
62
|
query,
|
|
@@ -52,7 +74,15 @@ function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenS
|
|
|
52
74
|
children: "Threads"
|
|
53
75
|
}),
|
|
54
76
|
/* @__PURE__ */ jsx(ObservabilityListBody, {
|
|
55
|
-
toolbar: /* @__PURE__ */
|
|
77
|
+
toolbar: /* @__PURE__ */ jsxs(Fragment$1, { children: [urlState && /* @__PURE__ */ jsx(ObservabilitySavedViews, {
|
|
78
|
+
page: "threads",
|
|
79
|
+
...urlState,
|
|
80
|
+
columns
|
|
81
|
+
}), /* @__PURE__ */ jsx(ActionRow, { children: /* @__PURE__ */ jsxs(ActionRow.Start, { children: [/* @__PURE__ */ jsx(ColumnsMenu, {
|
|
82
|
+
scope: "threads",
|
|
83
|
+
value: columns.preferences,
|
|
84
|
+
onChange: columns.setPreferences
|
|
85
|
+
}), /* @__PURE__ */ jsx(ThreadsFilterBar, {
|
|
56
86
|
datePreset: filters.datePreset,
|
|
57
87
|
dateFrom: filters.dateFrom,
|
|
58
88
|
dateTo: filters.dateTo,
|
|
@@ -63,7 +93,7 @@ function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenS
|
|
|
63
93
|
onDateRangeChange: filters.onDateRangeChange,
|
|
64
94
|
onFiltersChange: filters.onFiltersChange,
|
|
65
95
|
disabled: isLoading
|
|
66
|
-
}) }) }),
|
|
96
|
+
})] }) })] }),
|
|
67
97
|
error: isError ? /* @__PURE__ */ jsx(TracesErrorContent, {
|
|
68
98
|
error,
|
|
69
99
|
resource: "threads",
|
|
@@ -77,7 +107,8 @@ function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenS
|
|
|
77
107
|
}) : void 0,
|
|
78
108
|
children: /* @__PURE__ */ jsx(TracesListView, {
|
|
79
109
|
listId: "all-threads",
|
|
80
|
-
columnPreferences:
|
|
110
|
+
columnPreferences: displayedColumns,
|
|
111
|
+
outcomeColumn: false,
|
|
81
112
|
traces: rows,
|
|
82
113
|
isLoading,
|
|
83
114
|
isFetchingNextPage,
|
|
@@ -85,8 +116,11 @@ function ThreadsExplorerBody({ selectedThreadId, onSelectedThreadChange, onOpenS
|
|
|
85
116
|
setEndOfListElement,
|
|
86
117
|
filtersApplied: filters.filtersApplied,
|
|
87
118
|
resource: "threads",
|
|
88
|
-
|
|
89
|
-
onSortChange: filters.setSort
|
|
119
|
+
sort,
|
|
120
|
+
onSortChange: (next) => filters.setSort({
|
|
121
|
+
field: "startedAt",
|
|
122
|
+
direction: next.direction
|
|
123
|
+
}),
|
|
90
124
|
featuredTraceId: selectedRow?.traceId,
|
|
91
125
|
onTraceClick: handleThreadClick
|
|
92
126
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads-explorer-body.es.js","names":["_Fragment"],"sources":["../../../../src/domains/threads/components/threads-explorer-body.tsx"],"sourcesContent":["import type { ThreadQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport { useThreadsListSource } from '../hooks/use-threads-list-source';\nimport { buildThreadQueryWhere } from '../thread-filters';\nimport { threadToListRow } from '../thread-list-row';\nimport { ThreadsFilterBar } from './threads-filter-bar';\nimport { useFeedbackAvailable, useTraceQueryAvailable } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TraceThreadPanel } from '@/domains/traces/components/trace-thread-panel';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport {
|
|
1
|
+
{"version":3,"file":"threads-explorer-body.es.js","names":["_Fragment"],"sources":["../../../../src/domains/threads/components/threads-explorer-body.tsx"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport type { ThreadQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport { useThreadsListSource } from '../hooks/use-threads-list-source';\nimport { buildThreadQueryWhere } from '../thread-filters';\nimport { threadToListRow } from '../thread-list-row';\nimport { ThreadsFilterBar } from './threads-filter-bar';\nimport { useFeedbackAvailable, useTraceQueryAvailable } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport type { ObservabilityListUrlState } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport { ColumnsMenu } from '@/domains/traces/components/columns-menu';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TraceThreadPanel } from '@/domains/traces/components/trace-thread-panel';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport { useTraceColumnPreferences } from '@/domains/traces/hooks/use-trace-column-preferences';\nimport { withoutUnrecordedStreamingColumns } from '@/domains/traces/trace-list-columns';\nimport { ActionRow } from '@/ds/components/ActionRow';\n\nexport type ThreadsExplorerBodyProps = {\n /** The open thread. The host keeps it (e.g. in the URL) so it survives a reload. */\n selectedThreadId: string | undefined;\n onSelectedThreadChange: (threadId: string | undefined) => void;\n /** Opens a score from the thread drawer; scores live on host routes. */\n onOpenScore: (traceId: string, scoreId: string) => void;\n /** The host's search params, so the time range, filters and sort survive a reload. Omitted: kept in memory. */\n urlState?: ObservabilityListUrlState;\n};\n\n/** The threads page body: filter bar, thread list and the thread drawer. Router-agnostic. */\nexport function ThreadsExplorerBody({\n selectedThreadId,\n onSelectedThreadChange,\n onOpenScore,\n urlState,\n}: ThreadsExplorerBodyProps) {\n const filters = useObservabilityListFilters(urlState);\n const { timeRange, tokens, groups, sort } = filters;\n const withQueryTrace = useTraceQueryAvailable().enabled;\n const withFeedback = useFeedbackAvailable().enabled;\n const columns = useTraceColumnPreferences({ scope: 'threads' });\n const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n\n // Stored columns the store can't fill stay saved but aren't drawn, so they come back on a store that can.\n const displayedColumns = useMemo(\n () =>\n isCapabilitiesLoading\n ? columns.preferences\n : withoutUnrecordedStreamingColumns(columns.preferences, { withTimeToFirstChunk, withTimeToFirstToken }),\n [columns.preferences, isCapabilitiesLoading, withTimeToFirstChunk, withTimeToFirstToken],\n );\n\n // Threads with trace activity in the window, like the traces list for the same chip.\n const query = useMemo<ThreadQueryArgs>(() => {\n const where = buildThreadQueryWhere(tokens, groups, { withTimeToFirstChunk, withTimeToFirstToken });\n return {\n timeRange: { traces: timeRange },\n orderBy: [{ field: 'startedAt', direction: sort.direction }],\n ...(where ? { where } : {}),\n };\n }, [timeRange, sort, tokens, groups, withTimeToFirstChunk, withTimeToFirstToken]);\n\n const { threads, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } =\n useThreadsListSource({ query, rolling: filters.rolling });\n\n const rows = useMemo(() => (threads ?? []).map(threadToListRow), [threads]);\n const selectedRow = rows.find(row => row.threadId === selectedThreadId);\n\n // The drawer is modal, so the list behind it cannot be clicked while a thread is open.\n const handleThreadClick = (row: TracesListViewTrace) => {\n if (row.threadId) onSelectedThreadChange(row.threadId);\n };\n\n // Same rule as /traces: an empty window without filters gets the full-page empty state.\n const showEmptyState =\n !isLoading && !isError && rows.length === 0 && !filters.contentFiltersApplied && !selectedThreadId;\n\n return (\n <>\n <h1 className=\"sr-only\">Threads</h1>\n <ObservabilityListBody\n toolbar={\n <>\n {urlState && <ObservabilitySavedViews page=\"threads\" {...urlState} columns={columns} />}\n <ActionRow>\n <ActionRow.Start>\n <ColumnsMenu scope=\"threads\" value={columns.preferences} onChange={columns.setPreferences} />\n <ThreadsFilterBar\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n tokens={tokens}\n groups={groups}\n onDatePresetChange={filters.onDatePresetChange}\n onDateChange={filters.onDateChange}\n onDateRangeChange={filters.onDateRangeChange}\n onFiltersChange={filters.onFiltersChange}\n disabled={isLoading}\n />\n </ActionRow.Start>\n </ActionRow>\n </>\n }\n error={\n isError ? (\n <TracesErrorContent error={error} resource=\"threads\" errorTitle=\"Failed to load threads\" />\n ) : undefined\n }\n empty={\n showEmptyState ? (\n <NoTracesInfo\n resource=\"threads\"\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n />\n ) : undefined\n }\n >\n <TracesListView\n listId=\"all-threads\"\n columnPreferences={displayedColumns}\n outcomeColumn={false}\n traces={rows}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filters.filtersApplied}\n resource=\"threads\"\n sort={sort}\n onSortChange={next => filters.setSort({ field: 'startedAt', direction: next.direction })}\n featuredTraceId={selectedRow?.traceId}\n onTraceClick={handleThreadClick}\n />\n </ObservabilityListBody>\n <TraceThreadPanel\n open={!!selectedThreadId}\n threadId={selectedThreadId ?? ''}\n depth={1}\n closeLabel=\"Close\"\n withQueryTrace={withQueryTrace}\n withFeedback={withFeedback}\n onOpenScore={onOpenScore}\n onClose={() => onSelectedThreadChange(undefined)}\n />\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_trace_filters = require("../../../trace-filters-
|
|
3
|
-
const require_domains_traces_components_trace_time_range_chip = require("../../traces/components/trace-time-range-chip.cjs.js");
|
|
2
|
+
const require_trace_filters = require("../../../trace-filters-BNEZ31HX.cjs");
|
|
4
3
|
const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("../../traces/components/traces-explorer/traces-explorer-actions.cjs.js");
|
|
5
|
-
const
|
|
4
|
+
const require_domains_traces_components_trace_time_range_chip = require("../../traces/components/trace-time-range-chip.cjs.js");
|
|
5
|
+
const require_FilterBar = require("../../../FilterBar-BUd4f7oi.cjs");
|
|
6
6
|
const require_domains_threads_hooks_use_threads_filter_bar = require("../hooks/use-threads-filter-bar.cjs.js");
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
// src/domains/threads/components/threads-filter-bar.tsx
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { u as TRACE_FILTER_BAR_OPERATORS } from "../../../trace-filters-
|
|
2
|
-
import { TraceTimeRangeChip } from "../../traces/components/trace-time-range-chip.es.js";
|
|
1
|
+
import { u as TRACE_FILTER_BAR_OPERATORS } from "../../../trace-filters-BJaebsxJ.js";
|
|
3
2
|
import { DEFAULT_TRACES_FILTERS } from "../../traces/components/traces-explorer/traces-explorer-actions.es.js";
|
|
4
|
-
import {
|
|
3
|
+
import { TraceTimeRangeChip } from "../../traces/components/trace-time-range-chip.es.js";
|
|
4
|
+
import { n as FilterBar } from "../../../FilterBar--4oguuVe.js";
|
|
5
5
|
import { THREAD_TIME_RANGE_PRESETS, useThreadsFilterBar, useThreadsFilterBarFields } from "../hooks/use-threads-filter-bar.es.js";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
// src/domains/threads/components/threads-filter-bar.tsx
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_trace_filters = require("../../../trace-filters-
|
|
2
|
+
const require_trace_filters = require("../../../trace-filters-BNEZ31HX.cjs");
|
|
3
3
|
const require_types = require("../../../types-CP7wbYua.cjs");
|
|
4
|
-
const require_domains_traces_components_trace_time_range_chip = require("../../traces/components/trace-time-range-chip.cjs.js");
|
|
5
4
|
const require_domains_threads_thread_filters = require("../thread-filters.cjs.js");
|
|
5
|
+
const require_domains_traces_components_trace_time_range_chip = require("../../traces/components/trace-time-range-chip.cjs.js");
|
|
6
6
|
let react = require("react");
|
|
7
|
+
let _mastra_react_hooks_capabilities = require("@mastra/react/hooks/capabilities");
|
|
7
8
|
let _mastra_react_hooks_traces = require("@mastra/react/hooks/traces");
|
|
8
9
|
// src/domains/threads/hooks/use-threads-filter-bar.ts
|
|
9
10
|
/** The time range presets the threads filter bar offers. */
|
|
@@ -18,12 +19,22 @@ var THREAD_TIME_RANGE_PRESETS = [
|
|
|
18
19
|
var NO_SUGGESTIONS = [];
|
|
19
20
|
/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */
|
|
20
21
|
function useThreadsFilterBarFields() {
|
|
22
|
+
const { data: capabilities } = (0, _mastra_react_hooks_capabilities.useObservabilityCapabilities)();
|
|
23
|
+
const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;
|
|
24
|
+
const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;
|
|
21
25
|
const { data: entityNames = NO_SUGGESTIONS } = (0, _mastra_react_hooks_traces.useEntityNames)();
|
|
22
26
|
const { data: environments = NO_SUGGESTIONS } = (0, _mastra_react_hooks_traces.useEnvironments)();
|
|
23
27
|
return (0, react.useMemo)(() => [require_domains_traces_components_trace_time_range_chip.TRACE_TIME_RANGE_FIELD, ...require_domains_threads_thread_filters.createThreadFilterBarFields({
|
|
28
|
+
withTimeToFirstChunk,
|
|
29
|
+
withTimeToFirstToken,
|
|
30
|
+
entityNames,
|
|
31
|
+
environments
|
|
32
|
+
})], [
|
|
33
|
+
withTimeToFirstChunk,
|
|
34
|
+
withTimeToFirstToken,
|
|
24
35
|
entityNames,
|
|
25
36
|
environments
|
|
26
|
-
|
|
37
|
+
]);
|
|
27
38
|
}
|
|
28
39
|
/**
|
|
29
40
|
* The thread filters as a filter bar value, and the handlers that write bar edits back.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-threads-filter-bar.cjs.js","names":["useEntityNames","useEnvironments","useMemo","TRACE_TIME_RANGE_FIELD","createThreadFilterBarFields","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","TRACE_TIME_RANGE_ITEM","useCallback","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [TRACE_TIME_RANGE_FIELD
|
|
1
|
+
{"version":3,"file":"use-threads-filter-bar.cjs.js","names":["useObservabilityCapabilities","useEntityNames","useEnvironments","useMemo","TRACE_TIME_RANGE_FIELD","createThreadFilterBarFields","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","TRACE_TIME_RANGE_ITEM","useCallback","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,kBAAA,GAAiBA,iCAAAA,6BAAAA,CAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,oBAAA,GAAmBC,2BAAAA,eAAAA,CAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,oBAAA,GAAmBC,2BAAAA,gBAAAA,CAAgB;CAIhE,QAAA,GAAOC,MAAAA,QAAAA,OACC,CACJC,wDAAAA,wBACA,GAAGC,uCAAAA,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,SAAA,GAAQF,MAAAA,QAAAA,OAAcG,sBAAAA,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,kBAAA,GAAiBH,MAAAA,QAAAA,OAAmC;EACxD,MAAM,mBAAmBI,sBAAAA,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAACC,wDAAAA;IAAuB,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACpG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,qBAAA,GAAoBC,MAAAA,YAAAA,EACvB,eAAoC;EACnC,MAAM,OAAOC,sBAAAA,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQC,cAAAA,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,kBAAA,GAVpBF,MAAAA,YAAAA,EACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAOE,cAAAA,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { L as filterBarExpressionToTraceFilters, rt as traceTokensToFilterBarItems, tt as traceFiltersToFilterBarExpression } from "../../../trace-filters-BJaebsxJ.js";
|
|
2
2
|
import { t as isFilterBarGroup } from "../../../types-DiiL5mTO.js";
|
|
3
|
-
import { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_ITEM } from "../../traces/components/trace-time-range-chip.es.js";
|
|
4
3
|
import { createThreadFilterBarFields } from "../thread-filters.es.js";
|
|
4
|
+
import { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_ITEM } from "../../traces/components/trace-time-range-chip.es.js";
|
|
5
5
|
import { useCallback, useMemo } from "react";
|
|
6
|
+
import { useObservabilityCapabilities } from "@mastra/react/hooks/capabilities";
|
|
6
7
|
import { useEntityNames, useEnvironments } from "@mastra/react/hooks/traces";
|
|
7
8
|
// src/domains/threads/hooks/use-threads-filter-bar.ts
|
|
8
9
|
/** The time range presets the threads filter bar offers. */
|
|
@@ -17,12 +18,22 @@ var THREAD_TIME_RANGE_PRESETS = [
|
|
|
17
18
|
var NO_SUGGESTIONS = [];
|
|
18
19
|
/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */
|
|
19
20
|
function useThreadsFilterBarFields() {
|
|
21
|
+
const { data: capabilities } = useObservabilityCapabilities();
|
|
22
|
+
const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;
|
|
23
|
+
const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;
|
|
20
24
|
const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();
|
|
21
25
|
const { data: environments = NO_SUGGESTIONS } = useEnvironments();
|
|
22
26
|
return useMemo(() => [TRACE_TIME_RANGE_FIELD, ...createThreadFilterBarFields({
|
|
27
|
+
withTimeToFirstChunk,
|
|
28
|
+
withTimeToFirstToken,
|
|
29
|
+
entityNames,
|
|
30
|
+
environments
|
|
31
|
+
})], [
|
|
32
|
+
withTimeToFirstChunk,
|
|
33
|
+
withTimeToFirstToken,
|
|
23
34
|
entityNames,
|
|
24
35
|
environments
|
|
25
|
-
|
|
36
|
+
]);
|
|
26
37
|
}
|
|
27
38
|
/**
|
|
28
39
|
* The thread filters as a filter bar value, and the handlers that write bar edits back.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [TRACE_TIME_RANGE_FIELD
|
|
1
|
+
{"version":3,"file":"use-threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,iBAAiB,6BAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,mBAAmB,eAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,mBAAmB,gBAAgB;CAIhE,OAAO,cACC,CACJ,wBACA,GAAG,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,QAAQ,cAAc,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,iBAAiB,cAAmC;EACxD,MAAM,mBAAmB,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAAC;IAAuB,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACpG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,oBAAoB,aACvB,eAAoC;EACnC,MAAM,OAAO,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQ,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,iBAVpB,aACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAO,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_trace_filters = require("../../trace-filters-
|
|
2
|
+
const require_trace_filters = require("../../trace-filters-BNEZ31HX.cjs");
|
|
3
3
|
let lucide_react = require("lucide-react");
|
|
4
4
|
let _mastra_core_observability = require("@mastra/core/observability");
|
|
5
5
|
// src/domains/threads/thread-filters.ts
|
|
@@ -8,6 +8,7 @@ var THREAD_FILTER_FIELD_IDS = [
|
|
|
8
8
|
"status",
|
|
9
9
|
"traceCount",
|
|
10
10
|
"timeToFirstChunkMs",
|
|
11
|
+
"timeToFirstTokenMs",
|
|
11
12
|
"entityType",
|
|
12
13
|
"entityId",
|
|
13
14
|
"entityName",
|
|
@@ -25,7 +26,11 @@ var THREAD_FILTER_FIELD_IDS = [
|
|
|
25
26
|
"executionSource"
|
|
26
27
|
];
|
|
27
28
|
var FIELD_IDS = new Set(THREAD_FILTER_FIELD_IDS);
|
|
28
|
-
var NUMBER_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
29
|
+
var NUMBER_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
30
|
+
"traceCount",
|
|
31
|
+
"timeToFirstChunkMs",
|
|
32
|
+
"timeToFirstTokenMs"
|
|
33
|
+
]);
|
|
29
34
|
/** Fields every thread row carries. On any other field, "is not X" must also keep threads where it is missing. */
|
|
30
35
|
var REQUIRED_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
31
36
|
"threadId",
|
|
@@ -45,6 +50,7 @@ var THREAD_FILTER_BAR_LABELS = {
|
|
|
45
50
|
...require_trace_filters.TRACE_FILTER_BAR_LABELS,
|
|
46
51
|
traceCount: "Messages",
|
|
47
52
|
timeToFirstChunkMs: "Time to first chunk (ms)",
|
|
53
|
+
timeToFirstTokenMs: "Time to first token (ms)",
|
|
48
54
|
executionSource: "Execution source",
|
|
49
55
|
entityType: "Primitive type",
|
|
50
56
|
entityVersionId: "Primitive version ID"
|
|
@@ -52,6 +58,7 @@ var THREAD_FILTER_BAR_LABELS = {
|
|
|
52
58
|
/** Thread fields without their own trace icon borrow the icon of the closest trace field. */
|
|
53
59
|
var THREAD_ICON_FIELD_ALIASES = {
|
|
54
60
|
timeToFirstChunkMs: "durationMs",
|
|
61
|
+
timeToFirstTokenMs: "durationMs",
|
|
55
62
|
executionSource: "runId",
|
|
56
63
|
entityType: "rootEntityType",
|
|
57
64
|
entityVersionId: "entityId"
|
|
@@ -78,7 +85,7 @@ var STATUS_OPTIONS = require_trace_filters.TRACE_STATUS_OPTIONS.filter((option)
|
|
|
78
85
|
label: option.label
|
|
79
86
|
}));
|
|
80
87
|
/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */
|
|
81
|
-
function createThreadFilterBarFields({ entityNames, environments }) {
|
|
88
|
+
function createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }) {
|
|
82
89
|
const pick = (id, suggestions, operators = require_trace_filters.TRACE_STRING_OPERATORS) => ({
|
|
83
90
|
...threadFieldBase(id),
|
|
84
91
|
operators,
|
|
@@ -96,7 +103,8 @@ function createThreadFilterBarFields({ entityNames, environments }) {
|
|
|
96
103
|
type: "number",
|
|
97
104
|
operators: TRACE_COUNT_OPERATORS
|
|
98
105
|
};
|
|
99
|
-
case "timeToFirstChunkMs":
|
|
106
|
+
case "timeToFirstChunkMs":
|
|
107
|
+
case "timeToFirstTokenMs": return {
|
|
100
108
|
...threadFieldBase(id),
|
|
101
109
|
type: "number",
|
|
102
110
|
operators: require_trace_filters.TRACE_NUMBER_OPERATORS
|
|
@@ -111,11 +119,15 @@ function createThreadFilterBarFields({ entityNames, environments }) {
|
|
|
111
119
|
};
|
|
112
120
|
}
|
|
113
121
|
};
|
|
114
|
-
|
|
122
|
+
const offered = require_trace_filters.withoutUnrecordedStreamingTimings(FIELD_IDS, {
|
|
123
|
+
withTimeToFirstChunk,
|
|
124
|
+
withTimeToFirstToken
|
|
125
|
+
});
|
|
126
|
+
return THREAD_FILTER_FIELD_IDS.filter((id) => offered.has(id)).map(field).sort((a, b) => a.label.localeCompare(b.label));
|
|
115
127
|
}
|
|
116
|
-
function tokenToThreadQueryPredicate(token) {
|
|
128
|
+
function tokenToThreadQueryPredicate(token, allowedFieldIds) {
|
|
117
129
|
const { fieldId } = token;
|
|
118
|
-
if (!
|
|
130
|
+
if (!allowedFieldIds.has(fieldId)) return void 0;
|
|
119
131
|
const operatorId = token.operatorId ?? "is";
|
|
120
132
|
const isPresence = operatorId === "exists" || operatorId === "notExists";
|
|
121
133
|
const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter((value) => typeof value === "string" && Boolean(value.trim()) && !require_trace_filters.isLegacyAnyValue(value, operatorId));
|
|
@@ -137,8 +149,8 @@ function tokenToThreadQueryPredicate(token) {
|
|
|
137
149
|
};
|
|
138
150
|
return predicate;
|
|
139
151
|
}
|
|
140
|
-
function groupToThreadQueryPredicate(group) {
|
|
141
|
-
const args = group.nodes.map((node) => require_trace_filters.isTraceFilterGroup(node) ? groupToThreadQueryPredicate(node) : tokenToThreadQueryPredicate(node)).filter((predicate) => Boolean(predicate));
|
|
152
|
+
function groupToThreadQueryPredicate(group, allowedFieldIds) {
|
|
153
|
+
const args = group.nodes.map((node) => require_trace_filters.isTraceFilterGroup(node) ? groupToThreadQueryPredicate(node, allowedFieldIds) : tokenToThreadQueryPredicate(node, allowedFieldIds)).filter((predicate) => Boolean(predicate));
|
|
142
154
|
if (args.length === 0) return void 0;
|
|
143
155
|
return args.length === 1 ? args[0] : {
|
|
144
156
|
op: group.logic,
|
|
@@ -147,11 +159,12 @@ function groupToThreadQueryPredicate(group) {
|
|
|
147
159
|
}
|
|
148
160
|
/**
|
|
149
161
|
* The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.
|
|
150
|
-
* Conditions the thread query can't run (unknown fields,
|
|
151
|
-
* failing the request.
|
|
162
|
+
* Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,
|
|
163
|
+
* unusable values) are left out instead of failing the request.
|
|
152
164
|
*/
|
|
153
|
-
function buildThreadQueryWhere(tokens, groups) {
|
|
154
|
-
const
|
|
165
|
+
function buildThreadQueryWhere(tokens, groups, support) {
|
|
166
|
+
const allowedFieldIds = require_trace_filters.withoutUnrecordedStreamingTimings(FIELD_IDS, support);
|
|
167
|
+
const args = [...tokens.map((token) => tokenToThreadQueryPredicate(token, allowedFieldIds)), ...groups.map((group) => groupToThreadQueryPredicate(group, allowedFieldIds))].filter((predicate) => Boolean(predicate));
|
|
155
168
|
return args.length ? {
|
|
156
169
|
op: "and",
|
|
157
170
|
args
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-filters.cjs.js","names":["TRACE_FILTER_BAR_LABELS","MessagesSquareIcon","traceFilterFieldIcon","traceFilterFieldColor","ROOT_ENTITY_TYPE_OPTIONS","EntityType","TRACE_STATUS_OPTIONS","TRACE_STRING_OPERATORS","TRACE_REQUIRED_STRING_OPERATORS","TRACE_NUMBER_OPERATORS","isLegacyAnyValue","scalarPredicate","isTraceFilterGroup"],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n} from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n entityNames,\n environments,\n}: {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n return THREAD_FILTER_FIELD_IDS.map(field).sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(token: TraceFilterToken): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!FIELD_IDS.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(group: TraceFilterGroup): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node => (isTraceFilterGroup(node) ? groupToThreadQueryPredicate(node) : tokenToThreadQueryPredicate(node)))\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, unusable values) are left out instead of\n * failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n): TraceQueryScalarPredicate | undefined {\n const args = [...tokens.map(tokenToThreadQueryPredicate), ...groups.map(groupToThreadQueryPredicate)].filter(\n (predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate),\n );\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread-filters.cjs.js","names":["TRACE_FILTER_BAR_LABELS","MessagesSquareIcon","traceFilterFieldIcon","traceFilterFieldColor","ROOT_ENTITY_TYPE_OPTIONS","EntityType","TRACE_STATUS_OPTIONS","TRACE_STRING_OPERATORS","TRACE_REQUIRED_STRING_OPERATORS","TRACE_NUMBER_OPERATORS","withoutUnrecordedStreamingTimings","isLegacyAnyValue","scalarPredicate","isTraceFilterGroup"],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n withoutUnrecordedStreamingTimings,\n} from '../traces/trace-filters';\nimport type { StreamingTimingSupport } from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'timeToFirstTokenMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs', 'timeToFirstTokenMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n timeToFirstTokenMs: 'Time to first token (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n timeToFirstTokenMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n withTimeToFirstChunk,\n withTimeToFirstToken,\n entityNames,\n environments,\n}: StreamingTimingSupport & {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n case 'timeToFirstTokenMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, { withTimeToFirstChunk, withTimeToFirstToken });\n return THREAD_FILTER_FIELD_IDS.filter(id => offered.has(id))\n .map(field)\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(\n token: TraceFilterToken,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!allowedFieldIds.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(\n group: TraceFilterGroup,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node =>\n isTraceFilterGroup(node)\n ? groupToThreadQueryPredicate(node, allowedFieldIds)\n : tokenToThreadQueryPredicate(node, allowedFieldIds),\n )\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,\n * unusable values) are left out instead of failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n support: StreamingTimingSupport,\n): TraceQueryScalarPredicate | undefined {\n const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);\n const args = [\n ...tokens.map(token => tokenToThreadQueryPredicate(token, allowedFieldIds)),\n ...groups.map(group => groupToThreadQueryPredicate(group, allowedFieldIds)),\n ].filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as TRACE_STRING_OPERATORS, S as TRACE_REQUIRED_STRING_OPERATORS,
|
|
1
|
+
import { D as TRACE_STRING_OPERATORS, Q as traceFilterFieldIcon, S as TRACE_REQUIRED_STRING_OPERATORS, U as isLegacyAnyValue, Z as traceFilterFieldColor, it as withoutUnrecordedStreamingTimings, l as TRACE_FILTER_BAR_LABELS, pt as scalarPredicate, r as ROOT_ENTITY_TYPE_OPTIONS, ut as isTraceFilterGroup, v as TRACE_NUMBER_OPERATORS, w as TRACE_STATUS_OPTIONS } from "../../trace-filters-BJaebsxJ.js";
|
|
2
2
|
import { MessagesSquareIcon } from "lucide-react";
|
|
3
3
|
import { EntityType } from "@mastra/core/observability";
|
|
4
4
|
// src/domains/threads/thread-filters.ts
|
|
@@ -7,6 +7,7 @@ var THREAD_FILTER_FIELD_IDS = [
|
|
|
7
7
|
"status",
|
|
8
8
|
"traceCount",
|
|
9
9
|
"timeToFirstChunkMs",
|
|
10
|
+
"timeToFirstTokenMs",
|
|
10
11
|
"entityType",
|
|
11
12
|
"entityId",
|
|
12
13
|
"entityName",
|
|
@@ -24,7 +25,11 @@ var THREAD_FILTER_FIELD_IDS = [
|
|
|
24
25
|
"executionSource"
|
|
25
26
|
];
|
|
26
27
|
var FIELD_IDS = new Set(THREAD_FILTER_FIELD_IDS);
|
|
27
|
-
var NUMBER_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
28
|
+
var NUMBER_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
29
|
+
"traceCount",
|
|
30
|
+
"timeToFirstChunkMs",
|
|
31
|
+
"timeToFirstTokenMs"
|
|
32
|
+
]);
|
|
28
33
|
/** Fields every thread row carries. On any other field, "is not X" must also keep threads where it is missing. */
|
|
29
34
|
var REQUIRED_FIELD_IDS = /* @__PURE__ */ new Set([
|
|
30
35
|
"threadId",
|
|
@@ -44,6 +49,7 @@ var THREAD_FILTER_BAR_LABELS = {
|
|
|
44
49
|
...TRACE_FILTER_BAR_LABELS,
|
|
45
50
|
traceCount: "Messages",
|
|
46
51
|
timeToFirstChunkMs: "Time to first chunk (ms)",
|
|
52
|
+
timeToFirstTokenMs: "Time to first token (ms)",
|
|
47
53
|
executionSource: "Execution source",
|
|
48
54
|
entityType: "Primitive type",
|
|
49
55
|
entityVersionId: "Primitive version ID"
|
|
@@ -51,6 +57,7 @@ var THREAD_FILTER_BAR_LABELS = {
|
|
|
51
57
|
/** Thread fields without their own trace icon borrow the icon of the closest trace field. */
|
|
52
58
|
var THREAD_ICON_FIELD_ALIASES = {
|
|
53
59
|
timeToFirstChunkMs: "durationMs",
|
|
60
|
+
timeToFirstTokenMs: "durationMs",
|
|
54
61
|
executionSource: "runId",
|
|
55
62
|
entityType: "rootEntityType",
|
|
56
63
|
entityVersionId: "entityId"
|
|
@@ -77,7 +84,7 @@ var STATUS_OPTIONS = TRACE_STATUS_OPTIONS.filter((option) => option.value !== "r
|
|
|
77
84
|
label: option.label
|
|
78
85
|
}));
|
|
79
86
|
/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */
|
|
80
|
-
function createThreadFilterBarFields({ entityNames, environments }) {
|
|
87
|
+
function createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }) {
|
|
81
88
|
const pick = (id, suggestions, operators = TRACE_STRING_OPERATORS) => ({
|
|
82
89
|
...threadFieldBase(id),
|
|
83
90
|
operators,
|
|
@@ -95,7 +102,8 @@ function createThreadFilterBarFields({ entityNames, environments }) {
|
|
|
95
102
|
type: "number",
|
|
96
103
|
operators: TRACE_COUNT_OPERATORS
|
|
97
104
|
};
|
|
98
|
-
case "timeToFirstChunkMs":
|
|
105
|
+
case "timeToFirstChunkMs":
|
|
106
|
+
case "timeToFirstTokenMs": return {
|
|
99
107
|
...threadFieldBase(id),
|
|
100
108
|
type: "number",
|
|
101
109
|
operators: TRACE_NUMBER_OPERATORS
|
|
@@ -110,11 +118,15 @@ function createThreadFilterBarFields({ entityNames, environments }) {
|
|
|
110
118
|
};
|
|
111
119
|
}
|
|
112
120
|
};
|
|
113
|
-
|
|
121
|
+
const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, {
|
|
122
|
+
withTimeToFirstChunk,
|
|
123
|
+
withTimeToFirstToken
|
|
124
|
+
});
|
|
125
|
+
return THREAD_FILTER_FIELD_IDS.filter((id) => offered.has(id)).map(field).sort((a, b) => a.label.localeCompare(b.label));
|
|
114
126
|
}
|
|
115
|
-
function tokenToThreadQueryPredicate(token) {
|
|
127
|
+
function tokenToThreadQueryPredicate(token, allowedFieldIds) {
|
|
116
128
|
const { fieldId } = token;
|
|
117
|
-
if (!
|
|
129
|
+
if (!allowedFieldIds.has(fieldId)) return void 0;
|
|
118
130
|
const operatorId = token.operatorId ?? "is";
|
|
119
131
|
const isPresence = operatorId === "exists" || operatorId === "notExists";
|
|
120
132
|
const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter((value) => typeof value === "string" && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId));
|
|
@@ -136,8 +148,8 @@ function tokenToThreadQueryPredicate(token) {
|
|
|
136
148
|
};
|
|
137
149
|
return predicate;
|
|
138
150
|
}
|
|
139
|
-
function groupToThreadQueryPredicate(group) {
|
|
140
|
-
const args = group.nodes.map((node) => isTraceFilterGroup(node) ? groupToThreadQueryPredicate(node) : tokenToThreadQueryPredicate(node)).filter((predicate) => Boolean(predicate));
|
|
151
|
+
function groupToThreadQueryPredicate(group, allowedFieldIds) {
|
|
152
|
+
const args = group.nodes.map((node) => isTraceFilterGroup(node) ? groupToThreadQueryPredicate(node, allowedFieldIds) : tokenToThreadQueryPredicate(node, allowedFieldIds)).filter((predicate) => Boolean(predicate));
|
|
141
153
|
if (args.length === 0) return void 0;
|
|
142
154
|
return args.length === 1 ? args[0] : {
|
|
143
155
|
op: group.logic,
|
|
@@ -146,11 +158,12 @@ function groupToThreadQueryPredicate(group) {
|
|
|
146
158
|
}
|
|
147
159
|
/**
|
|
148
160
|
* The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.
|
|
149
|
-
* Conditions the thread query can't run (unknown fields,
|
|
150
|
-
* failing the request.
|
|
161
|
+
* Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,
|
|
162
|
+
* unusable values) are left out instead of failing the request.
|
|
151
163
|
*/
|
|
152
|
-
function buildThreadQueryWhere(tokens, groups) {
|
|
153
|
-
const
|
|
164
|
+
function buildThreadQueryWhere(tokens, groups, support) {
|
|
165
|
+
const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);
|
|
166
|
+
const args = [...tokens.map((token) => tokenToThreadQueryPredicate(token, allowedFieldIds)), ...groups.map((group) => groupToThreadQueryPredicate(group, allowedFieldIds))].filter((predicate) => Boolean(predicate));
|
|
154
167
|
return args.length ? {
|
|
155
168
|
op: "and",
|
|
156
169
|
args
|