@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,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ft as resolveTraceQueryTimeRange } from "../../../trace-filters-BJaebsxJ.js";
|
|
2
|
+
import { resolveTracesDateWindow } from "../../traces/components/traces-explorer/traces-explorer-actions.es.js";
|
|
3
|
+
import { OBSERVABILITY_LIST_DEFAULT_DATE_PRESET, OBSERVABILITY_LIST_SORT_FIELDS, readObservabilityListDates, readObservabilityListFilters, readObservabilityListSort, writeObservabilityListDates, writeObservabilityListFilters, writeObservabilityListSort } from "../observability-list-url-state.es.js";
|
|
2
4
|
import { recoveryRefetchInterval } from "../list-polling.es.js";
|
|
3
|
-
import {
|
|
4
|
-
import { useMemo, useState } from "react";
|
|
5
|
+
import { rangeBeforeZoom, rememberZoom } from "../lib/zoom-memory.es.js";
|
|
6
|
+
import { useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
5
7
|
// src/domains/observability/hooks/use-observability-list-filters.ts
|
|
6
|
-
var DEFAULT_DATE_PRESET = DEFAULT_TRACES_FILTERS.datePreset;
|
|
7
8
|
/**
|
|
8
9
|
* Like the traces list with delta polling: a timer or a window focus would reload every loaded page
|
|
9
10
|
* and reset the cursor chain, so an observability list only reloads to recover from a transient failure.
|
|
@@ -12,13 +13,33 @@ var observabilityListQueryOptions = {
|
|
|
12
13
|
refetchInterval: ({ state }) => recoveryRefetchInterval(state.error),
|
|
13
14
|
refetchOnWindowFocus: false
|
|
14
15
|
};
|
|
15
|
-
/** The
|
|
16
|
-
function
|
|
17
|
-
const [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
/** The search params of `url`, or of an in-memory store when the host keeps no URL state. */
|
|
17
|
+
function useListSearchParams(url) {
|
|
18
|
+
const [localParams, setLocalParams] = useState(() => new URLSearchParams());
|
|
19
|
+
if (url) return url;
|
|
20
|
+
return {
|
|
21
|
+
searchParams: localParams,
|
|
22
|
+
setSearchParams: (next) => setLocalParams((prev) => typeof next === "function" ? next(prev) : next)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The time range, filter and sort state of a spans or threads list, kept in the host's URL (same
|
|
27
|
+
* date, sort and group params as /traces) so it survives a reload and can be shared. Without `url`
|
|
28
|
+
* the state lives in memory. A sort on a field outside `sortFields` reads as start time, newest first.
|
|
29
|
+
* `defaultDatePreset` is the range shown when the URL names none (last 7 days unless the host differs);
|
|
30
|
+
* it is left out of the URL like any default.
|
|
31
|
+
*/
|
|
32
|
+
function useObservabilityListFilters(url, { sortFields, defaultDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET } = {}) {
|
|
33
|
+
const { searchParams, setSearchParams } = useListSearchParams(url);
|
|
34
|
+
const datesKey = JSON.stringify(readObservabilityListDates(searchParams, defaultDatePreset));
|
|
35
|
+
const filtersKey = JSON.stringify(readObservabilityListFilters(searchParams));
|
|
36
|
+
const { datePreset, dateFrom, dateTo } = useMemo(() => readObservabilityListDates(searchParams, defaultDatePreset), [datesKey]);
|
|
37
|
+
const { tokens, groups } = useMemo(() => readObservabilityListFilters(searchParams), [filtersKey]);
|
|
38
|
+
const urlSort = readObservabilityListSort(searchParams, sortFields ?? OBSERVABILITY_LIST_SORT_FIELDS);
|
|
39
|
+
const sort = useMemo(() => ({
|
|
40
|
+
field: urlSort.field,
|
|
41
|
+
direction: urlSort.direction
|
|
42
|
+
}), [urlSort.field, urlSort.direction]);
|
|
22
43
|
const fromMs = dateFrom?.getTime();
|
|
23
44
|
const toMs = dateTo?.getTime();
|
|
24
45
|
const timeRange = useMemo(() => {
|
|
@@ -29,11 +50,29 @@ function useObservabilityListFilters() {
|
|
|
29
50
|
fromMs,
|
|
30
51
|
toMs
|
|
31
52
|
]);
|
|
32
|
-
const
|
|
53
|
+
const pending = useRef(null);
|
|
54
|
+
useLayoutEffect(() => {
|
|
55
|
+
pending.current = null;
|
|
56
|
+
}, [searchParams]);
|
|
57
|
+
const update = (write) => {
|
|
58
|
+
const base = pending.current ?? searchParams;
|
|
59
|
+
const next = new URLSearchParams(base);
|
|
60
|
+
write(next);
|
|
61
|
+
if (next.toString() === base.toString()) return;
|
|
62
|
+
pending.current = next;
|
|
63
|
+
setSearchParams(next, { replace: true });
|
|
64
|
+
};
|
|
65
|
+
const updateDates = (change) => update((next) => writeObservabilityListDates(next, change(readObservabilityListDates(next, defaultDatePreset)), defaultDatePreset));
|
|
66
|
+
const zoomMemory = useRef(void 0);
|
|
67
|
+
const pickDates = (change) => {
|
|
68
|
+
zoomMemory.current = void 0;
|
|
69
|
+
updateDates(change);
|
|
70
|
+
};
|
|
71
|
+
const onDatePresetChange = (preset) => pickDates((current) => preset === "custom" ? {
|
|
33
72
|
...current,
|
|
34
73
|
datePreset: preset
|
|
35
74
|
} : { datePreset: preset });
|
|
36
|
-
const onDateChange = (date, end) =>
|
|
75
|
+
const onDateChange = (date, end) => pickDates((current) => {
|
|
37
76
|
if (current.datePreset !== "custom") return current;
|
|
38
77
|
return end === "from" ? {
|
|
39
78
|
...current,
|
|
@@ -43,15 +82,31 @@ function useObservabilityListFilters() {
|
|
|
43
82
|
dateTo: date
|
|
44
83
|
};
|
|
45
84
|
});
|
|
46
|
-
const onDateRangeChange = (from, to) =>
|
|
85
|
+
const onDateRangeChange = (from, to) => pickDates((current) => current.datePreset === "custom" ? {
|
|
47
86
|
...current,
|
|
48
87
|
dateFrom: from,
|
|
49
88
|
dateTo: to
|
|
50
89
|
} : current);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
90
|
+
/** Narrows the range to a histogram selection, remembering the range to return to on reset. */
|
|
91
|
+
const onZoom = (from, to) => updateDates((current) => {
|
|
92
|
+
zoomMemory.current = rememberZoom(zoomMemory.current, current, from, to);
|
|
93
|
+
return {
|
|
94
|
+
datePreset: "custom",
|
|
95
|
+
dateFrom: from,
|
|
96
|
+
dateTo: to
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
/** Undoes the last histogram zoom, or switches to `defaultPreset` when there is none to undo. */
|
|
100
|
+
const onDateReset = (defaultPreset) => updateDates((current) => {
|
|
101
|
+
const before = rangeBeforeZoom(zoomMemory.current, current);
|
|
102
|
+
zoomMemory.current = void 0;
|
|
103
|
+
return before ?? { datePreset: defaultPreset };
|
|
104
|
+
});
|
|
105
|
+
const onFiltersChange = (nextTokens, nextGroups) => update((next) => writeObservabilityListFilters(next, {
|
|
106
|
+
tokens: nextTokens,
|
|
107
|
+
groups: nextGroups
|
|
108
|
+
}));
|
|
109
|
+
const setSort = (next) => update((params) => writeObservabilityListSort(params, next));
|
|
55
110
|
const contentFiltersApplied = tokens.length > 0 || groups.length > 0;
|
|
56
111
|
return {
|
|
57
112
|
datePreset,
|
|
@@ -67,9 +122,11 @@ function useObservabilityListFilters() {
|
|
|
67
122
|
onDatePresetChange,
|
|
68
123
|
onDateChange,
|
|
69
124
|
onDateRangeChange,
|
|
125
|
+
onZoom,
|
|
126
|
+
onDateReset,
|
|
70
127
|
onFiltersChange,
|
|
71
128
|
contentFiltersApplied,
|
|
72
|
-
filtersApplied: contentFiltersApplied || datePreset !==
|
|
129
|
+
filtersApplied: contentFiltersApplied || datePreset !== defaultDatePreset
|
|
73
130
|
};
|
|
74
131
|
}
|
|
75
132
|
export { observabilityListQueryOptions, useObservabilityListFilters };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-observability-list-filters.es.js","names":[],"sources":["../../../../src/domains/observability/hooks/use-observability-list-filters.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { recoveryRefetchInterval } from '@/domains/observability/list-polling';\nimport {\n DEFAULT_TRACES_FILTERS,\n resolveTracesDateWindow,\n} from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport { resolveTraceQueryTimeRange } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport type { DataListSort } from '@/ds/components/DataList/data-list-sortable-top-cell';\n\n// Same window as /traces, so switching between the pages keeps the time chip identical.\nconst DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\ntype DateState = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/**\n * Like the traces list with delta polling: a timer or a window focus would reload every loaded page\n * and reset the cursor chain, so an observability list only reloads to recover from a transient failure.\n */\nexport const observabilityListQueryOptions = {\n refetchInterval: ({ state }: { state: { error: unknown } }) => recoveryRefetchInterval(state.error),\n refetchOnWindowFocus: false,\n};\n\n/** The time range, filter and sort state of a spans or threads list. */\nexport function useObservabilityListFilters() {\n const [dates, setDates] = useState<DateState>({ datePreset: DEFAULT_DATE_PRESET });\n const [tokens, setTokens] = useState<TraceFilterToken[]>([]);\n const [groups, setGroups] = useState<TraceFilterGroup[]>([]);\n const [sort, setSort] = useState<DataListSort>('desc');\n\n const { datePreset, dateFrom, dateTo } = dates;\n const fromMs = dateFrom?.getTime();\n const toMs = dateTo?.getTime();\n // Rolling presets are resolved against \"now\" only when the range changes, so the query key\n // (and the cursors issued for it) stays stable while the list scrolls.\n const timeRange = useMemo(() => {\n const window = resolveTracesDateWindow(\n datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n );\n return resolveTraceQueryTimeRange(window.dateFrom, window.dateTo, new Date());\n }, [datePreset, fromMs, toMs]);\n\n // Switching to `custom` keeps the current dates so the picker opens on them; any other preset drops them.\n const onDatePresetChange = (preset: TraceDatePreset) =>\n setDates(current => (preset === 'custom' ? { ...current, datePreset: preset } : { datePreset: preset }));\n // The picker can report a date right after switching away from `custom`; those are ignored.\n const onDateChange = (date: Date | undefined, end: 'from' | 'to') =>\n setDates(current => {\n if (current.datePreset !== 'custom') return current;\n return end === 'from' ? { ...current, dateFrom: date } : { ...current, dateTo: date };\n });\n const onDateRangeChange = (from: Date | undefined, to: Date | undefined) =>\n setDates(current => (current.datePreset === 'custom' ? { ...current, dateFrom: from, dateTo: to } : current));\n const onFiltersChange = (nextTokens: TraceFilterToken[], nextGroups: TraceFilterGroup[]) => {\n setTokens(nextTokens);\n setGroups(nextGroups);\n };\n\n const contentFiltersApplied = tokens.length > 0 || groups.length > 0;\n const filtersApplied = contentFiltersApplied || datePreset !== DEFAULT_DATE_PRESET;\n\n return {\n datePreset,\n dateFrom,\n dateTo,\n timeRange,\n /** The window ends at \"now\", so new rows can still land in it. */\n rolling: dateTo === undefined,\n tokens,\n groups,\n sort,\n setSort,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onFiltersChange,\n contentFiltersApplied,\n filtersApplied,\n };\n}\n"],"mappings":";;;;;AAYA,IAAM,sBAAuC,uBAAuB;;;;;AAQpE,IAAa,gCAAgC;CAC3C,kBAAkB,EAAE,YAA2C,wBAAwB,MAAM,KAAK;CAClG,sBAAsB;AACxB;;AAGA,SAAgB,8BAA8B;CAC5C,MAAM,CAAC,OAAO,YAAY,SAAoB,EAAE,YAAY,oBAAoB,CAAC;CACjF,MAAM,CAAC,QAAQ,aAAa,SAA6B,CAAC,CAAC;CAC3D,MAAM,CAAC,QAAQ,aAAa,SAA6B,CAAC,CAAC;CAC3D,MAAM,CAAC,MAAM,WAAW,SAAuB,MAAM;CAErD,MAAM,EAAE,YAAY,UAAU,WAAW;CACzC,MAAM,SAAS,UAAU,QAAQ;CACjC,MAAM,OAAO,QAAQ,QAAQ;CAG7B,MAAM,YAAY,cAAc;EAC9B,MAAM,SAAS,wBACb,YACA,WAAW,KAAA,IAAY,KAAA,IAAY,IAAI,KAAK,MAAM,GAClD,SAAS,KAAA,IAAY,KAAA,IAAY,IAAI,KAAK,IAAI,CAChD;EACA,OAAO,2BAA2B,OAAO,UAAU,OAAO,wBAAQ,IAAI,KAAK,CAAC;CAC9E,GAAG;EAAC;EAAY;EAAQ;CAAI,CAAC;CAG7B,MAAM,sBAAsB,WAC1B,UAAS,YAAY,WAAW,WAAW;EAAE,GAAG;EAAS,YAAY;CAAO,IAAI,EAAE,YAAY,OAAO,CAAE;CAEzG,MAAM,gBAAgB,MAAwB,QAC5C,UAAS,YAAW;EAClB,IAAI,QAAQ,eAAe,UAAU,OAAO;EAC5C,OAAO,QAAQ,SAAS;GAAE,GAAG;GAAS,UAAU;EAAK,IAAI;GAAE,GAAG;GAAS,QAAQ;EAAK;CACtF,CAAC;CACH,MAAM,qBAAqB,MAAwB,OACjD,UAAS,YAAY,QAAQ,eAAe,WAAW;EAAE,GAAG;EAAS,UAAU;EAAM,QAAQ;CAAG,IAAI,OAAQ;CAC9G,MAAM,mBAAmB,YAAgC,eAAmC;EAC1F,UAAU,UAAU;EACpB,UAAU,UAAU;CACtB;CAEA,MAAM,wBAAwB,OAAO,SAAS,KAAK,OAAO,SAAS;CAGnE,OAAO;EACL;EACA;EACA;EACA;;EAEA,SAAS,WAAW,KAAA;EACpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAlBqB,yBAAyB,eAAe;CAmB/D;AACF"}
|
|
1
|
+
{"version":3,"file":"use-observability-list-filters.es.js","names":[],"sources":["../../../../src/domains/observability/hooks/use-observability-list-filters.ts"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { rangeBeforeZoom, rememberZoom } from '../lib/zoom-memory';\nimport type { ZoomMemory } from '../lib/zoom-memory';\nimport {\n OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n OBSERVABILITY_LIST_SORT_FIELDS,\n readObservabilityListDates,\n readObservabilityListFilters,\n readObservabilityListSort,\n writeObservabilityListDates,\n writeObservabilityListFilters,\n writeObservabilityListSort,\n} from '../observability-list-url-state';\nimport type { ObservabilityListDates, ObservabilityListSort } from '../observability-list-url-state';\nimport { recoveryRefetchInterval } from '@/domains/observability/list-polling';\nimport { resolveTracesDateWindow } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport { resolveTraceQueryTimeRange } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport type { SetURLSearchParamsLike } from '@/lib/sort/use-url-sort';\n\n/**\n * Like the traces list with delta polling: a timer or a window focus would reload every loaded page\n * and reset the cursor chain, so an observability list only reloads to recover from a transient failure.\n */\nexport const observabilityListQueryOptions = {\n refetchInterval: ({ state }: { state: { error: unknown } }) => recoveryRefetchInterval(state.error),\n refetchOnWindowFocus: false,\n};\n\nexport type ObservabilityListUrlState = {\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n};\n\n/** The search params of `url`, or of an in-memory store when the host keeps no URL state. */\nfunction useListSearchParams(url: ObservabilityListUrlState | undefined): ObservabilityListUrlState {\n const [localParams, setLocalParams] = useState(() => new URLSearchParams());\n if (url) return url;\n return {\n searchParams: localParams,\n setSearchParams: next => setLocalParams(prev => (typeof next === 'function' ? next(prev) : next)),\n };\n}\n\n/**\n * The time range, filter and sort state of a spans or threads list, kept in the host's URL (same\n * date, sort and group params as /traces) so it survives a reload and can be shared. Without `url`\n * the state lives in memory. A sort on a field outside `sortFields` reads as start time, newest first.\n * `defaultDatePreset` is the range shown when the URL names none (last 7 days unless the host differs);\n * it is left out of the URL like any default.\n */\nexport function useObservabilityListFilters<F extends string = 'startedAt'>(\n url?: ObservabilityListUrlState,\n {\n sortFields,\n defaultDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n }: { sortFields?: readonly F[]; defaultDatePreset?: TraceDatePreset } = {},\n) {\n const { searchParams, setSearchParams } = useListSearchParams(url);\n\n // Decoded values keep their identity while unrelated params (e.g. the open row) change.\n const datesKey = JSON.stringify(readObservabilityListDates(searchParams, defaultDatePreset));\n const filtersKey = JSON.stringify(readObservabilityListFilters(searchParams));\n const { datePreset, dateFrom, dateTo } = useMemo(\n () => readObservabilityListDates(searchParams, defaultDatePreset),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only re-read when the date params change\n [datesKey],\n );\n const { tokens, groups } = useMemo(\n () => readObservabilityListFilters(searchParams),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only re-read when the filter params change\n [filtersKey],\n );\n const urlSort = readObservabilityListSort<F | 'startedAt'>(\n searchParams,\n sortFields ?? OBSERVABILITY_LIST_SORT_FIELDS,\n );\n const sort = useMemo<ObservabilityListSort<F | 'startedAt'>>(\n () => ({ field: urlSort.field, direction: urlSort.direction }),\n [urlSort.field, urlSort.direction],\n );\n\n const fromMs = dateFrom?.getTime();\n const toMs = dateTo?.getTime();\n // Rolling presets are resolved against \"now\" only when the range changes, so the query key\n // (and the cursors issued for it) stays stable while the list scrolls.\n const timeRange = useMemo(() => {\n const window = resolveTracesDateWindow(\n datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n );\n return resolveTraceQueryTimeRange(window.dateFrom, window.dateTo, new Date());\n }, [datePreset, fromMs, toMs]);\n\n // react-router resolves even a functional update against the params of the last render, so writes\n // made in the same tick (zoom sets `custom` then the range; the picker reports the range after a\n // preset change) build on the pending params instead, like `useState` updaters would.\n const pending = useRef<URLSearchParams | null>(null);\n useLayoutEffect(() => {\n pending.current = null;\n }, [searchParams]);\n const update = (write: (next: URLSearchParams) => void) => {\n const base = pending.current ?? searchParams;\n const next = new URLSearchParams(base);\n write(next);\n if (next.toString() === base.toString()) return;\n pending.current = next;\n setSearchParams(next, { replace: true });\n };\n const updateDates = (change: (current: ObservabilityListDates) => ObservabilityListDates) =>\n update(next =>\n writeObservabilityListDates(next, change(readObservabilityListDates(next, defaultDatePreset)), defaultDatePreset),\n );\n\n // Not URL state: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\n // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickDates = (change: (current: ObservabilityListDates) => ObservabilityListDates) => {\n zoomMemory.current = undefined;\n updateDates(change);\n };\n\n // Switching to `custom` keeps the current dates so the picker opens on them; any other preset drops them.\n const onDatePresetChange = (preset: TraceDatePreset) =>\n pickDates(current => (preset === 'custom' ? { ...current, datePreset: preset } : { datePreset: preset }));\n // The picker can report a date right after switching away from `custom`; those are ignored.\n const onDateChange = (date: Date | undefined, end: 'from' | 'to') =>\n pickDates(current => {\n if (current.datePreset !== 'custom') return current;\n return end === 'from' ? { ...current, dateFrom: date } : { ...current, dateTo: date };\n });\n const onDateRangeChange = (from: Date | undefined, to: Date | undefined) =>\n pickDates(current => (current.datePreset === 'custom' ? { ...current, dateFrom: from, dateTo: to } : current));\n /** Narrows the range to a histogram selection, remembering the range to return to on reset. */\n const onZoom = (from: Date, to: Date) =>\n updateDates(current => {\n zoomMemory.current = rememberZoom(zoomMemory.current, current, from, to);\n return { datePreset: 'custom', dateFrom: from, dateTo: to };\n });\n /** Undoes the last histogram zoom, or switches to `defaultPreset` when there is none to undo. */\n const onDateReset = (defaultPreset: TraceDatePreset) =>\n updateDates(current => {\n const before = rangeBeforeZoom(zoomMemory.current, current);\n zoomMemory.current = undefined;\n return before ?? { datePreset: defaultPreset };\n });\n const onFiltersChange = (nextTokens: TraceFilterToken[], nextGroups: TraceFilterGroup[]) =>\n update(next => writeObservabilityListFilters(next, { tokens: nextTokens, groups: nextGroups }));\n const setSort = (next: ObservabilityListSort<F | 'startedAt'>) =>\n update(params => writeObservabilityListSort(params, next));\n\n const contentFiltersApplied = tokens.length > 0 || groups.length > 0;\n const filtersApplied = contentFiltersApplied || datePreset !== defaultDatePreset;\n\n return {\n datePreset,\n dateFrom,\n dateTo,\n timeRange,\n /** The window ends at \"now\", so new rows can still land in it. */\n rolling: dateTo === undefined,\n tokens,\n groups,\n sort,\n setSort,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onZoom,\n onDateReset,\n onFiltersChange,\n contentFiltersApplied,\n filtersApplied,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
// src/domains/observability/lib/zoom-memory.ts
|
|
3
|
+
var isZoomedIn = (memory, current) => memory !== void 0 && current.datePreset === "custom" && current.dateFrom?.getTime() === memory.fromMs && current.dateTo?.getTime() === memory.toMs;
|
|
4
|
+
/** Zooming from an earlier zoom keeps the range picked before the first one. */
|
|
5
|
+
function rememberZoom(memory, current, from, to) {
|
|
6
|
+
return {
|
|
7
|
+
before: isZoomedIn(memory, current) ? memory.before : current.datePreset === "custom" ? {
|
|
8
|
+
datePreset: current.datePreset,
|
|
9
|
+
dateFrom: current.dateFrom,
|
|
10
|
+
dateTo: current.dateTo
|
|
11
|
+
} : { datePreset: current.datePreset },
|
|
12
|
+
fromMs: from.getTime(),
|
|
13
|
+
toMs: to.getTime()
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The range to restore while `current` is still the remembered zoom. Once the user picks another
|
|
18
|
+
* range, the zoom no longer applies and this returns `undefined`.
|
|
19
|
+
*/
|
|
20
|
+
var rangeBeforeZoom = (memory, current) => isZoomedIn(memory, current) ? memory.before : void 0;
|
|
21
|
+
exports.rangeBeforeZoom = rangeBeforeZoom;
|
|
22
|
+
exports.rememberZoom = rememberZoom;
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=zoom-memory.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-memory.cjs.js","names":[],"sources":["../../../../src/domains/observability/lib/zoom-memory.ts"],"sourcesContent":["import type { TraceDatePreset } from '@/domains/traces/types';\n\nexport type DateRangeSelection = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/** The range picked before a histogram zoom, and the zoomed range it can be restored from. */\nexport type ZoomMemory = { before: DateRangeSelection; fromMs: number; toMs: number };\n\nconst isZoomedIn = (memory: ZoomMemory | undefined, current: DateRangeSelection): memory is ZoomMemory =>\n memory !== undefined &&\n current.datePreset === 'custom' &&\n current.dateFrom?.getTime() === memory.fromMs &&\n current.dateTo?.getTime() === memory.toMs;\n\n/** Zooming from an earlier zoom keeps the range picked before the first one. */\nexport function rememberZoom(\n memory: ZoomMemory | undefined,\n current: DateRangeSelection,\n from: Date,\n to: Date,\n): ZoomMemory {\n const before = isZoomedIn(memory, current)\n ? memory.before\n : current.datePreset === 'custom'\n ? { datePreset: current.datePreset, dateFrom: current.dateFrom, dateTo: current.dateTo }\n : { datePreset: current.datePreset };\n return { before, fromMs: from.getTime(), toMs: to.getTime() };\n}\n\n/**\n * The range to restore while `current` is still the remembered zoom. Once the user picks another\n * range, the zoom no longer applies and this returns `undefined`.\n */\nexport const rangeBeforeZoom = (memory: ZoomMemory | undefined, current: DateRangeSelection) =>\n isZoomedIn(memory, current) ? memory.before : undefined;\n"],"mappings":";;AAOA,IAAM,cAAc,QAAgC,YAClD,WAAW,KAAA,KACX,QAAQ,eAAe,YACvB,QAAQ,UAAU,QAAQ,MAAM,OAAO,UACvC,QAAQ,QAAQ,QAAQ,MAAM,OAAO;;AAGvC,SAAgB,aACd,QACA,SACA,MACA,IACY;CAMZ,OAAO;EAAE,QALM,WAAW,QAAQ,OAAO,IACrC,OAAO,SACP,QAAQ,eAAe,WACrB;GAAE,YAAY,QAAQ;GAAY,UAAU,QAAQ;GAAU,QAAQ,QAAQ;EAAO,IACrF,EAAE,YAAY,QAAQ,WAAW;EACtB,QAAQ,KAAK,QAAQ;EAAG,MAAM,GAAG,QAAQ;CAAE;AAC9D;;;;;AAMA,IAAa,mBAAmB,QAAgC,YAC9D,WAAW,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../../src/domains/observability/lib/zoom-memory';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// src/domains/observability/lib/zoom-memory.ts
|
|
2
|
+
var isZoomedIn = (memory, current) => memory !== void 0 && current.datePreset === "custom" && current.dateFrom?.getTime() === memory.fromMs && current.dateTo?.getTime() === memory.toMs;
|
|
3
|
+
/** Zooming from an earlier zoom keeps the range picked before the first one. */
|
|
4
|
+
function rememberZoom(memory, current, from, to) {
|
|
5
|
+
return {
|
|
6
|
+
before: isZoomedIn(memory, current) ? memory.before : current.datePreset === "custom" ? {
|
|
7
|
+
datePreset: current.datePreset,
|
|
8
|
+
dateFrom: current.dateFrom,
|
|
9
|
+
dateTo: current.dateTo
|
|
10
|
+
} : { datePreset: current.datePreset },
|
|
11
|
+
fromMs: from.getTime(),
|
|
12
|
+
toMs: to.getTime()
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The range to restore while `current` is still the remembered zoom. Once the user picks another
|
|
17
|
+
* range, the zoom no longer applies and this returns `undefined`.
|
|
18
|
+
*/
|
|
19
|
+
var rangeBeforeZoom = (memory, current) => isZoomedIn(memory, current) ? memory.before : void 0;
|
|
20
|
+
export { rangeBeforeZoom, rememberZoom };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=zoom-memory.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-memory.es.js","names":[],"sources":["../../../../src/domains/observability/lib/zoom-memory.ts"],"sourcesContent":["import type { TraceDatePreset } from '@/domains/traces/types';\n\nexport type DateRangeSelection = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/** The range picked before a histogram zoom, and the zoomed range it can be restored from. */\nexport type ZoomMemory = { before: DateRangeSelection; fromMs: number; toMs: number };\n\nconst isZoomedIn = (memory: ZoomMemory | undefined, current: DateRangeSelection): memory is ZoomMemory =>\n memory !== undefined &&\n current.datePreset === 'custom' &&\n current.dateFrom?.getTime() === memory.fromMs &&\n current.dateTo?.getTime() === memory.toMs;\n\n/** Zooming from an earlier zoom keeps the range picked before the first one. */\nexport function rememberZoom(\n memory: ZoomMemory | undefined,\n current: DateRangeSelection,\n from: Date,\n to: Date,\n): ZoomMemory {\n const before = isZoomedIn(memory, current)\n ? memory.before\n : current.datePreset === 'custom'\n ? { datePreset: current.datePreset, dateFrom: current.dateFrom, dateTo: current.dateTo }\n : { datePreset: current.datePreset };\n return { before, fromMs: from.getTime(), toMs: to.getTime() };\n}\n\n/**\n * The range to restore while `current` is still the remembered zoom. Once the user picks another\n * range, the zoom no longer applies and this returns `undefined`.\n */\nexport const rangeBeforeZoom = (memory: ZoomMemory | undefined, current: DateRangeSelection) =>\n isZoomedIn(memory, current) ? memory.before : undefined;\n"],"mappings":";AAOA,IAAM,cAAc,QAAgC,YAClD,WAAW,KAAA,KACX,QAAQ,eAAe,YACvB,QAAQ,UAAU,QAAQ,MAAM,OAAO,UACvC,QAAQ,QAAQ,QAAQ,MAAM,OAAO;;AAGvC,SAAgB,aACd,QACA,SACA,MACA,IACY;CAMZ,OAAO;EAAE,QALM,WAAW,QAAQ,OAAO,IACrC,OAAO,SACP,QAAQ,eAAe,WACrB;GAAE,YAAY,QAAQ;GAAY,UAAU,QAAQ;GAAU,QAAQ,QAAQ;EAAO,IACrF,EAAE,YAAY,QAAQ,WAAW;EACtB,QAAQ,KAAK,QAAQ;EAAG,MAAM,GAAG,QAAQ;CAAE;AAC9D;;;;;AAMA,IAAa,mBAAmB,QAAgC,YAC9D,WAAW,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAA"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_trace_filters = require("../../trace-filters-BNEZ31HX.cjs");
|
|
3
|
+
const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("../traces/components/traces-explorer/traces-explorer-actions.cjs.js");
|
|
4
|
+
const require_sort_use_url_sort = require("../../sort/use-url-sort.cjs.js");
|
|
5
|
+
// src/domains/observability/observability-list-url-state.ts
|
|
6
|
+
/**
|
|
7
|
+
* URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;
|
|
8
|
+
* a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),
|
|
9
|
+
* since span and thread fields are not in the trace page's fixed `filterX` param map.
|
|
10
|
+
*/
|
|
11
|
+
var OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = "filter.";
|
|
12
|
+
var OBSERVABILITY_LIST_SORT_FIELDS = ["startedAt"];
|
|
13
|
+
/** Spans can also be ordered by their streaming timings, where the store supports it. */
|
|
14
|
+
var SPAN_LIST_SORT_FIELDS = [
|
|
15
|
+
"startedAt",
|
|
16
|
+
"timeToFirstChunkMs",
|
|
17
|
+
"timeToFirstTokenMs"
|
|
18
|
+
];
|
|
19
|
+
var OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = require_domains_traces_components_traces_explorer_traces_explorer_actions.DEFAULT_TRACES_FILTERS.datePreset;
|
|
20
|
+
var OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = "desc";
|
|
21
|
+
var filterParam = (fieldId) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;
|
|
22
|
+
var isTokenParam = (param) => param.startsWith("filter.") && param.length > 7 && !param.endsWith(".op");
|
|
23
|
+
var isFilterParam = (param) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);
|
|
24
|
+
function parseDate(raw) {
|
|
25
|
+
if (!raw) return void 0;
|
|
26
|
+
const parsed = new Date(raw);
|
|
27
|
+
return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
|
|
28
|
+
}
|
|
29
|
+
/** `defaultPreset` is the range the host shows when the URL names none. */
|
|
30
|
+
function readObservabilityListDates(params, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
|
|
31
|
+
const preset = params.get(require_trace_filters.TRACE_DATE_PRESET_PARAM);
|
|
32
|
+
const datePreset = preset && require_trace_filters.TRACE_DATE_PRESET_VALUES.has(preset) ? preset : defaultPreset;
|
|
33
|
+
if (datePreset !== "custom") return { datePreset };
|
|
34
|
+
const dateFrom = parseDate(params.get(require_trace_filters.TRACE_DATE_FROM_PARAM));
|
|
35
|
+
const dateTo = parseDate(params.get(require_trace_filters.TRACE_DATE_TO_PARAM));
|
|
36
|
+
return {
|
|
37
|
+
datePreset,
|
|
38
|
+
...dateFrom ? { dateFrom } : {},
|
|
39
|
+
...dateTo ? { dateTo } : {}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */
|
|
43
|
+
function writeObservabilityListDates(params, { datePreset, dateFrom, dateTo }, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
|
|
44
|
+
if (datePreset === defaultPreset) params.delete(require_trace_filters.TRACE_DATE_PRESET_PARAM);
|
|
45
|
+
else params.set(require_trace_filters.TRACE_DATE_PRESET_PARAM, datePreset);
|
|
46
|
+
const custom = datePreset === "custom";
|
|
47
|
+
if (custom && dateFrom) params.set(require_trace_filters.TRACE_DATE_FROM_PARAM, dateFrom.toISOString());
|
|
48
|
+
else params.delete(require_trace_filters.TRACE_DATE_FROM_PARAM);
|
|
49
|
+
if (custom && dateTo) params.set(require_trace_filters.TRACE_DATE_TO_PARAM, dateTo.toISOString());
|
|
50
|
+
else params.delete(require_trace_filters.TRACE_DATE_TO_PARAM);
|
|
51
|
+
}
|
|
52
|
+
/** Flat tokens in URL order, plus the advanced groups. */
|
|
53
|
+
function readObservabilityListFilters(params) {
|
|
54
|
+
const tokens = [];
|
|
55
|
+
const seen = /* @__PURE__ */ new Set();
|
|
56
|
+
for (const param of params.keys()) {
|
|
57
|
+
if (!isTokenParam(param) || seen.has(param)) continue;
|
|
58
|
+
seen.add(param);
|
|
59
|
+
const fieldId = param.slice(7);
|
|
60
|
+
const rawOperator = params.get(require_trace_filters.traceFilterOperatorParam(param));
|
|
61
|
+
const operatorId = rawOperator !== null && require_trace_filters.isTraceFilterOperatorId(rawOperator) ? rawOperator : void 0;
|
|
62
|
+
const values = params.getAll(param);
|
|
63
|
+
if (operatorId === "in" || operatorId === "notIn") tokens.push({
|
|
64
|
+
fieldId,
|
|
65
|
+
value: values.filter(Boolean),
|
|
66
|
+
operatorId
|
|
67
|
+
});
|
|
68
|
+
else tokens.push({
|
|
69
|
+
fieldId,
|
|
70
|
+
value: values[0] ?? "",
|
|
71
|
+
...operatorId ? { operatorId } : {}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
tokens,
|
|
76
|
+
groups: require_trace_filters.getTraceFilterGroups(params)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */
|
|
80
|
+
function writeObservabilityListFilters(params, { tokens, groups }) {
|
|
81
|
+
for (const param of Array.from(params.keys())) if (isFilterParam(param)) params.delete(param);
|
|
82
|
+
params.delete(require_trace_filters.TRACE_FILTER_GROUP_PARAM);
|
|
83
|
+
for (const token of tokens) {
|
|
84
|
+
const param = filterParam(token.fieldId);
|
|
85
|
+
if (Array.isArray(token.value)) {
|
|
86
|
+
if (token.value.length === 0) params.append(param, "");
|
|
87
|
+
for (const value of token.value) params.append(param, value);
|
|
88
|
+
} else params.set(param, token.value.trim());
|
|
89
|
+
const operatorId = require_trace_filters.traceFilterTokenOperator(token);
|
|
90
|
+
if (operatorId !== "is") params.set(require_trace_filters.traceFilterOperatorParam(param), operatorId);
|
|
91
|
+
}
|
|
92
|
+
for (const group of groups) params.append(require_trace_filters.TRACE_FILTER_GROUP_PARAM, require_trace_filters.serializeTraceFilterGroup(group));
|
|
93
|
+
}
|
|
94
|
+
/** The URL's sort when its field is one of `fields`, else start time, newest first. */
|
|
95
|
+
function readObservabilityListSort(params, fields) {
|
|
96
|
+
const sort = require_sort_use_url_sort.readUrlSort(params, fields);
|
|
97
|
+
return sort ? {
|
|
98
|
+
field: sort.key,
|
|
99
|
+
direction: sort.direction
|
|
100
|
+
} : {
|
|
101
|
+
field: "startedAt",
|
|
102
|
+
direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** Mutates `params`. */
|
|
106
|
+
function writeObservabilityListSort(params, { field, direction }) {
|
|
107
|
+
params.set(require_sort_use_url_sort.SORT_KEY_PARAM, field);
|
|
108
|
+
params.set("dir", direction);
|
|
109
|
+
}
|
|
110
|
+
exports.OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET;
|
|
111
|
+
exports.OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION;
|
|
112
|
+
exports.OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = OBSERVABILITY_LIST_FILTER_PARAM_PREFIX;
|
|
113
|
+
exports.OBSERVABILITY_LIST_SORT_FIELDS = OBSERVABILITY_LIST_SORT_FIELDS;
|
|
114
|
+
exports.SPAN_LIST_SORT_FIELDS = SPAN_LIST_SORT_FIELDS;
|
|
115
|
+
exports.readObservabilityListDates = readObservabilityListDates;
|
|
116
|
+
exports.readObservabilityListFilters = readObservabilityListFilters;
|
|
117
|
+
exports.readObservabilityListSort = readObservabilityListSort;
|
|
118
|
+
exports.writeObservabilityListDates = writeObservabilityListDates;
|
|
119
|
+
exports.writeObservabilityListFilters = writeObservabilityListFilters;
|
|
120
|
+
exports.writeObservabilityListSort = writeObservabilityListSort;
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=observability-list-url-state.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability-list-url-state.cjs.js","names":["DEFAULT_TRACES_FILTERS","TRACE_DATE_PRESET_PARAM","TRACE_DATE_PRESET_VALUES","TRACE_DATE_FROM_PARAM","TRACE_DATE_TO_PARAM","traceFilterOperatorParam","isTraceFilterOperatorId","getTraceFilterGroups","TRACE_FILTER_GROUP_PARAM","traceFilterTokenOperator","serializeTraceFilterGroup","readUrlSort","SORT_KEY_PARAM"],"sources":["../../../src/domains/observability/observability-list-url-state.ts"],"sourcesContent":["import { DEFAULT_TRACES_FILTERS } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport {\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_FILTER_GROUP_PARAM,\n TRACE_FILTER_OPERATOR_PARAM_SUFFIX,\n getTraceFilterGroups,\n serializeTraceFilterGroup,\n traceFilterOperatorParam,\n traceFilterTokenOperator,\n} from '@/domains/traces/trace-filters';\nimport { isTraceFilterOperatorId } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport { SORT_DIR_PARAM, SORT_KEY_PARAM, readUrlSort } from '@/lib/sort/use-url-sort';\n\n/**\n * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;\n * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),\n * since span and thread fields are not in the trace page's fixed `filterX` param map.\n */\nexport const OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = 'filter.';\nexport const OBSERVABILITY_LIST_SORT_FIELDS = ['startedAt'] as const;\n/** Spans can also be ordered by their streaming timings, where the store supports it. */\nexport const SPAN_LIST_SORT_FIELDS = ['startedAt', 'timeToFirstChunkMs', 'timeToFirstTokenMs'] as const;\nexport const OBSERVABILITY_LIST_DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\nexport type ObservabilityListSortDirection = 'asc' | 'desc';\nexport const OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION: ObservabilityListSortDirection = 'desc';\nexport type ObservabilityListSort<F extends string = string> = { field: F; direction: ObservabilityListSortDirection };\n\nexport type ObservabilityListDates = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\nexport type ObservabilityListFilters = { tokens: TraceFilterToken[]; groups: TraceFilterGroup[] };\n\nconst filterParam = (fieldId: string) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;\n\nconst isTokenParam = (param: string) =>\n param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX) &&\n param.length > OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length &&\n !param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isFilterParam = (param: string) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);\n\nfunction parseDate(raw: string | null): Date | undefined {\n if (!raw) return undefined;\n const parsed = new Date(raw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n}\n\n/** `defaultPreset` is the range the host shows when the URL names none. */\nexport function readObservabilityListDates(\n params: URLSearchParams,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n): ObservabilityListDates {\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n const datePreset =\n preset && TRACE_DATE_PRESET_VALUES.has(preset as TraceDatePreset) ? (preset as TraceDatePreset) : defaultPreset;\n if (datePreset !== 'custom') return { datePreset };\n const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));\n const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));\n return { datePreset, ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) };\n}\n\n/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */\nexport function writeObservabilityListDates(\n params: URLSearchParams,\n { datePreset, dateFrom, dateTo }: ObservabilityListDates,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n) {\n if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);\n else params.set(TRACE_DATE_PRESET_PARAM, datePreset);\n const custom = datePreset === 'custom';\n if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());\n else params.delete(TRACE_DATE_FROM_PARAM);\n if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());\n else params.delete(TRACE_DATE_TO_PARAM);\n}\n\n/** Flat tokens in URL order, plus the advanced groups. */\nexport function readObservabilityListFilters(params: URLSearchParams): ObservabilityListFilters {\n const tokens: TraceFilterToken[] = [];\n const seen = new Set<string>();\n for (const param of params.keys()) {\n if (!isTokenParam(param) || seen.has(param)) continue;\n seen.add(param);\n const fieldId = param.slice(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length);\n const rawOperator = params.get(traceFilterOperatorParam(param));\n const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : undefined;\n const values = params.getAll(param);\n if (operatorId === 'in' || operatorId === 'notIn') {\n // An empty entry is the sentinel of a chip with nothing picked yet.\n tokens.push({ fieldId, value: values.filter(Boolean), operatorId });\n } else {\n tokens.push({ fieldId, value: values[0] ?? '', ...(operatorId ? { operatorId } : {}) });\n }\n }\n return { tokens, groups: getTraceFilterGroups(params) };\n}\n\n/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */\nexport function writeObservabilityListFilters(params: URLSearchParams, { tokens, groups }: ObservabilityListFilters) {\n for (const param of Array.from(params.keys())) {\n if (isFilterParam(param)) params.delete(param);\n }\n params.delete(TRACE_FILTER_GROUP_PARAM);\n\n for (const token of tokens) {\n const param = filterParam(token.fieldId);\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) params.append(param, '');\n for (const value of token.value) params.append(param, value);\n } else {\n params.set(param, token.value.trim());\n }\n const operatorId = traceFilterTokenOperator(token);\n if (operatorId !== 'is') params.set(traceFilterOperatorParam(param), operatorId);\n }\n for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n}\n\n/** The URL's sort when its field is one of `fields`, else start time, newest first. */\nexport function readObservabilityListSort<F extends string>(\n params: URLSearchParams,\n fields: readonly F[],\n): ObservabilityListSort<F | 'startedAt'> {\n const sort = readUrlSort(params, fields);\n return sort\n ? { field: sort.key, direction: sort.direction }\n : { field: 'startedAt', direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION };\n}\n\n/** Mutates `params`. */\nexport function writeObservabilityListSort(params: URLSearchParams, { field, direction }: ObservabilityListSort) {\n params.set(SORT_KEY_PARAM, field);\n params.set(SORT_DIR_PARAM, direction);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../../src/domains/observability/observability-list-url-state';
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { $ as traceFilterOperatorParam, B as getTraceFilterGroups, X as serializeTraceFilterGroup, a as TRACE_DATE_FROM_PARAM, c as TRACE_DATE_TO_PARAM, d as TRACE_FILTER_GROUP_PARAM, dt as isTraceFilterOperatorId, et as traceFilterTokenOperator, o as TRACE_DATE_PRESET_PARAM, s as TRACE_DATE_PRESET_VALUES } from "../../trace-filters-BJaebsxJ.js";
|
|
2
|
+
import { DEFAULT_TRACES_FILTERS } from "../traces/components/traces-explorer/traces-explorer-actions.es.js";
|
|
3
|
+
import { SORT_KEY_PARAM, readUrlSort } from "../../sort/use-url-sort.es.js";
|
|
4
|
+
// src/domains/observability/observability-list-url-state.ts
|
|
5
|
+
/**
|
|
6
|
+
* URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;
|
|
7
|
+
* a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),
|
|
8
|
+
* since span and thread fields are not in the trace page's fixed `filterX` param map.
|
|
9
|
+
*/
|
|
10
|
+
var OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = "filter.";
|
|
11
|
+
var OBSERVABILITY_LIST_SORT_FIELDS = ["startedAt"];
|
|
12
|
+
/** Spans can also be ordered by their streaming timings, where the store supports it. */
|
|
13
|
+
var SPAN_LIST_SORT_FIELDS = [
|
|
14
|
+
"startedAt",
|
|
15
|
+
"timeToFirstChunkMs",
|
|
16
|
+
"timeToFirstTokenMs"
|
|
17
|
+
];
|
|
18
|
+
var OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = DEFAULT_TRACES_FILTERS.datePreset;
|
|
19
|
+
var OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = "desc";
|
|
20
|
+
var filterParam = (fieldId) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;
|
|
21
|
+
var isTokenParam = (param) => param.startsWith("filter.") && param.length > 7 && !param.endsWith(".op");
|
|
22
|
+
var isFilterParam = (param) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);
|
|
23
|
+
function parseDate(raw) {
|
|
24
|
+
if (!raw) return void 0;
|
|
25
|
+
const parsed = new Date(raw);
|
|
26
|
+
return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
|
|
27
|
+
}
|
|
28
|
+
/** `defaultPreset` is the range the host shows when the URL names none. */
|
|
29
|
+
function readObservabilityListDates(params, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
|
|
30
|
+
const preset = params.get(TRACE_DATE_PRESET_PARAM);
|
|
31
|
+
const datePreset = preset && TRACE_DATE_PRESET_VALUES.has(preset) ? preset : defaultPreset;
|
|
32
|
+
if (datePreset !== "custom") return { datePreset };
|
|
33
|
+
const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));
|
|
34
|
+
const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));
|
|
35
|
+
return {
|
|
36
|
+
datePreset,
|
|
37
|
+
...dateFrom ? { dateFrom } : {},
|
|
38
|
+
...dateTo ? { dateTo } : {}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */
|
|
42
|
+
function writeObservabilityListDates(params, { datePreset, dateFrom, dateTo }, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
|
|
43
|
+
if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);
|
|
44
|
+
else params.set(TRACE_DATE_PRESET_PARAM, datePreset);
|
|
45
|
+
const custom = datePreset === "custom";
|
|
46
|
+
if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());
|
|
47
|
+
else params.delete(TRACE_DATE_FROM_PARAM);
|
|
48
|
+
if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());
|
|
49
|
+
else params.delete(TRACE_DATE_TO_PARAM);
|
|
50
|
+
}
|
|
51
|
+
/** Flat tokens in URL order, plus the advanced groups. */
|
|
52
|
+
function readObservabilityListFilters(params) {
|
|
53
|
+
const tokens = [];
|
|
54
|
+
const seen = /* @__PURE__ */ new Set();
|
|
55
|
+
for (const param of params.keys()) {
|
|
56
|
+
if (!isTokenParam(param) || seen.has(param)) continue;
|
|
57
|
+
seen.add(param);
|
|
58
|
+
const fieldId = param.slice(7);
|
|
59
|
+
const rawOperator = params.get(traceFilterOperatorParam(param));
|
|
60
|
+
const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : void 0;
|
|
61
|
+
const values = params.getAll(param);
|
|
62
|
+
if (operatorId === "in" || operatorId === "notIn") tokens.push({
|
|
63
|
+
fieldId,
|
|
64
|
+
value: values.filter(Boolean),
|
|
65
|
+
operatorId
|
|
66
|
+
});
|
|
67
|
+
else tokens.push({
|
|
68
|
+
fieldId,
|
|
69
|
+
value: values[0] ?? "",
|
|
70
|
+
...operatorId ? { operatorId } : {}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
tokens,
|
|
75
|
+
groups: getTraceFilterGroups(params)
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */
|
|
79
|
+
function writeObservabilityListFilters(params, { tokens, groups }) {
|
|
80
|
+
for (const param of Array.from(params.keys())) if (isFilterParam(param)) params.delete(param);
|
|
81
|
+
params.delete(TRACE_FILTER_GROUP_PARAM);
|
|
82
|
+
for (const token of tokens) {
|
|
83
|
+
const param = filterParam(token.fieldId);
|
|
84
|
+
if (Array.isArray(token.value)) {
|
|
85
|
+
if (token.value.length === 0) params.append(param, "");
|
|
86
|
+
for (const value of token.value) params.append(param, value);
|
|
87
|
+
} else params.set(param, token.value.trim());
|
|
88
|
+
const operatorId = traceFilterTokenOperator(token);
|
|
89
|
+
if (operatorId !== "is") params.set(traceFilterOperatorParam(param), operatorId);
|
|
90
|
+
}
|
|
91
|
+
for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));
|
|
92
|
+
}
|
|
93
|
+
/** The URL's sort when its field is one of `fields`, else start time, newest first. */
|
|
94
|
+
function readObservabilityListSort(params, fields) {
|
|
95
|
+
const sort = readUrlSort(params, fields);
|
|
96
|
+
return sort ? {
|
|
97
|
+
field: sort.key,
|
|
98
|
+
direction: sort.direction
|
|
99
|
+
} : {
|
|
100
|
+
field: "startedAt",
|
|
101
|
+
direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Mutates `params`. */
|
|
105
|
+
function writeObservabilityListSort(params, { field, direction }) {
|
|
106
|
+
params.set(SORT_KEY_PARAM, field);
|
|
107
|
+
params.set("dir", direction);
|
|
108
|
+
}
|
|
109
|
+
export { OBSERVABILITY_LIST_DEFAULT_DATE_PRESET, OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION, OBSERVABILITY_LIST_FILTER_PARAM_PREFIX, OBSERVABILITY_LIST_SORT_FIELDS, SPAN_LIST_SORT_FIELDS, readObservabilityListDates, readObservabilityListFilters, readObservabilityListSort, writeObservabilityListDates, writeObservabilityListFilters, writeObservabilityListSort };
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=observability-list-url-state.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability-list-url-state.es.js","names":[],"sources":["../../../src/domains/observability/observability-list-url-state.ts"],"sourcesContent":["import { DEFAULT_TRACES_FILTERS } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport {\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_FILTER_GROUP_PARAM,\n TRACE_FILTER_OPERATOR_PARAM_SUFFIX,\n getTraceFilterGroups,\n serializeTraceFilterGroup,\n traceFilterOperatorParam,\n traceFilterTokenOperator,\n} from '@/domains/traces/trace-filters';\nimport { isTraceFilterOperatorId } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport { SORT_DIR_PARAM, SORT_KEY_PARAM, readUrlSort } from '@/lib/sort/use-url-sort';\n\n/**\n * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;\n * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),\n * since span and thread fields are not in the trace page's fixed `filterX` param map.\n */\nexport const OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = 'filter.';\nexport const OBSERVABILITY_LIST_SORT_FIELDS = ['startedAt'] as const;\n/** Spans can also be ordered by their streaming timings, where the store supports it. */\nexport const SPAN_LIST_SORT_FIELDS = ['startedAt', 'timeToFirstChunkMs', 'timeToFirstTokenMs'] as const;\nexport const OBSERVABILITY_LIST_DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\nexport type ObservabilityListSortDirection = 'asc' | 'desc';\nexport const OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION: ObservabilityListSortDirection = 'desc';\nexport type ObservabilityListSort<F extends string = string> = { field: F; direction: ObservabilityListSortDirection };\n\nexport type ObservabilityListDates = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\nexport type ObservabilityListFilters = { tokens: TraceFilterToken[]; groups: TraceFilterGroup[] };\n\nconst filterParam = (fieldId: string) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;\n\nconst isTokenParam = (param: string) =>\n param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX) &&\n param.length > OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length &&\n !param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isFilterParam = (param: string) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);\n\nfunction parseDate(raw: string | null): Date | undefined {\n if (!raw) return undefined;\n const parsed = new Date(raw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n}\n\n/** `defaultPreset` is the range the host shows when the URL names none. */\nexport function readObservabilityListDates(\n params: URLSearchParams,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n): ObservabilityListDates {\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n const datePreset =\n preset && TRACE_DATE_PRESET_VALUES.has(preset as TraceDatePreset) ? (preset as TraceDatePreset) : defaultPreset;\n if (datePreset !== 'custom') return { datePreset };\n const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));\n const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));\n return { datePreset, ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) };\n}\n\n/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */\nexport function writeObservabilityListDates(\n params: URLSearchParams,\n { datePreset, dateFrom, dateTo }: ObservabilityListDates,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n) {\n if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);\n else params.set(TRACE_DATE_PRESET_PARAM, datePreset);\n const custom = datePreset === 'custom';\n if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());\n else params.delete(TRACE_DATE_FROM_PARAM);\n if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());\n else params.delete(TRACE_DATE_TO_PARAM);\n}\n\n/** Flat tokens in URL order, plus the advanced groups. */\nexport function readObservabilityListFilters(params: URLSearchParams): ObservabilityListFilters {\n const tokens: TraceFilterToken[] = [];\n const seen = new Set<string>();\n for (const param of params.keys()) {\n if (!isTokenParam(param) || seen.has(param)) continue;\n seen.add(param);\n const fieldId = param.slice(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length);\n const rawOperator = params.get(traceFilterOperatorParam(param));\n const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : undefined;\n const values = params.getAll(param);\n if (operatorId === 'in' || operatorId === 'notIn') {\n // An empty entry is the sentinel of a chip with nothing picked yet.\n tokens.push({ fieldId, value: values.filter(Boolean), operatorId });\n } else {\n tokens.push({ fieldId, value: values[0] ?? '', ...(operatorId ? { operatorId } : {}) });\n }\n }\n return { tokens, groups: getTraceFilterGroups(params) };\n}\n\n/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */\nexport function writeObservabilityListFilters(params: URLSearchParams, { tokens, groups }: ObservabilityListFilters) {\n for (const param of Array.from(params.keys())) {\n if (isFilterParam(param)) params.delete(param);\n }\n params.delete(TRACE_FILTER_GROUP_PARAM);\n\n for (const token of tokens) {\n const param = filterParam(token.fieldId);\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) params.append(param, '');\n for (const value of token.value) params.append(param, value);\n } else {\n params.set(param, token.value.trim());\n }\n const operatorId = traceFilterTokenOperator(token);\n if (operatorId !== 'is') params.set(traceFilterOperatorParam(param), operatorId);\n }\n for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n}\n\n/** The URL's sort when its field is one of `fields`, else start time, newest first. */\nexport function readObservabilityListSort<F extends string>(\n params: URLSearchParams,\n fields: readonly F[],\n): ObservabilityListSort<F | 'startedAt'> {\n const sort = readUrlSort(params, fields);\n return sort\n ? { field: sort.key, direction: sort.direction }\n : { field: 'startedAt', direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION };\n}\n\n/** Mutates `params`. */\nexport function writeObservabilityListSort(params: URLSearchParams, { field, direction }: ObservabilityListSort) {\n params.set(SORT_KEY_PARAM, field);\n params.set(SORT_DIR_PARAM, direction);\n}\n"],"mappings":"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"}
|