@marinoscar/platform-web 0.0.0-stage → 0.1.0-next.3
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/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +96 -2
- package/dist/core/api-client.d.ts +112 -0
- package/dist/core/api-client.d.ts.map +1 -0
- package/dist/core/api-client.js +24 -0
- package/dist/core/api-client.js.map +1 -0
- package/dist/core/host.d.ts +74 -0
- package/dist/core/host.d.ts.map +1 -0
- package/dist/core/host.js +84 -0
- package/dist/core/host.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/settings-page.d.ts +47 -0
- package/dist/core/settings-page.d.ts.map +1 -0
- package/dist/core/settings-page.js +5 -0
- package/dist/core/settings-page.js.map +1 -0
- package/dist/core/viewer.d.ts +14 -0
- package/dist/core/viewer.d.ts.map +1 -0
- package/dist/core/viewer.js +4 -0
- package/dist/core/viewer.js.map +1 -0
- package/dist/doctor/headless/categories.d.ts +31 -0
- package/dist/doctor/headless/categories.d.ts.map +1 -0
- package/dist/doctor/headless/categories.js +41 -0
- package/dist/doctor/headless/categories.js.map +1 -0
- package/dist/doctor/headless/client.d.ts +33 -0
- package/dist/doctor/headless/client.d.ts.map +1 -0
- package/dist/doctor/headless/client.js +31 -0
- package/dist/doctor/headless/client.js.map +1 -0
- package/dist/doctor/headless/contract.d.ts +18 -0
- package/dist/doctor/headless/contract.d.ts.map +1 -0
- package/dist/doctor/headless/contract.js +15 -0
- package/dist/doctor/headless/contract.js.map +1 -0
- package/dist/doctor/headless/index.d.ts +12 -0
- package/dist/doctor/headless/index.d.ts.map +1 -0
- package/dist/doctor/headless/index.js +8 -0
- package/dist/doctor/headless/index.js.map +1 -0
- package/dist/doctor/headless/use-doctor.d.ts +36 -0
- package/dist/doctor/headless/use-doctor.d.ts.map +1 -0
- package/dist/doctor/headless/use-doctor.js +80 -0
- package/dist/doctor/headless/use-doctor.js.map +1 -0
- package/dist/doctor/headless/use-support-bundle-download.d.ts +68 -0
- package/dist/doctor/headless/use-support-bundle-download.d.ts.map +1 -0
- package/dist/doctor/headless/use-support-bundle-download.js +135 -0
- package/dist/doctor/headless/use-support-bundle-download.js.map +1 -0
- package/dist/doctor/internal/relative-time.d.ts +2 -0
- package/dist/doctor/internal/relative-time.d.ts.map +1 -0
- package/dist/doctor/internal/relative-time.js +29 -0
- package/dist/doctor/internal/relative-time.js.map +1 -0
- package/dist/doctor/internal/status-colors.d.ts +5 -0
- package/dist/doctor/internal/status-colors.d.ts.map +1 -0
- package/dist/doctor/internal/status-colors.js +29 -0
- package/dist/doctor/internal/status-colors.js.map +1 -0
- package/dist/doctor/internal/use-is-mounted.d.ts +2 -0
- package/dist/doctor/internal/use-is-mounted.d.ts.map +1 -0
- package/dist/doctor/internal/use-is-mounted.js +15 -0
- package/dist/doctor/internal/use-is-mounted.js.map +1 -0
- package/dist/doctor/ui/check-row.d.ts +54 -0
- package/dist/doctor/ui/check-row.d.ts.map +1 -0
- package/dist/doctor/ui/check-row.js +100 -0
- package/dist/doctor/ui/check-row.js.map +1 -0
- package/dist/doctor/ui/copy.d.ts +3 -0
- package/dist/doctor/ui/copy.d.ts.map +1 -0
- package/dist/doctor/ui/copy.js +6 -0
- package/dist/doctor/ui/copy.js.map +1 -0
- package/dist/doctor/ui/doctor-page.d.ts +50 -0
- package/dist/doctor/ui/doctor-page.d.ts.map +1 -0
- package/dist/doctor/ui/doctor-page.js +152 -0
- package/dist/doctor/ui/doctor-page.js.map +1 -0
- package/dist/doctor/ui/index.d.ts +8 -0
- package/dist/doctor/ui/index.d.ts.map +1 -0
- package/dist/doctor/ui/index.js +7 -0
- package/dist/doctor/ui/index.js.map +1 -0
- package/dist/doctor/ui/settings-page.d.ts +20 -0
- package/dist/doctor/ui/settings-page.d.ts.map +1 -0
- package/dist/doctor/ui/settings-page.js +32 -0
- package/dist/doctor/ui/settings-page.js.map +1 -0
- package/dist/doctor/ui/support-bundle-button.d.ts +37 -0
- package/dist/doctor/ui/support-bundle-button.d.ts.map +1 -0
- package/dist/doctor/ui/support-bundle-button.js +39 -0
- package/dist/doctor/ui/support-bundle-button.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/telemetry/headless/adapters/TelemetryWebAdapters.d.ts +106 -0
- package/dist/telemetry/headless/adapters/TelemetryWebAdapters.d.ts.map +1 -0
- package/dist/telemetry/headless/adapters/TelemetryWebAdapters.js +58 -0
- package/dist/telemetry/headless/adapters/TelemetryWebAdapters.js.map +1 -0
- package/dist/telemetry/headless/context/TelemetryConfigProvider.d.ts +43 -0
- package/dist/telemetry/headless/context/TelemetryConfigProvider.d.ts.map +1 -0
- package/dist/telemetry/headless/context/TelemetryConfigProvider.js +24 -0
- package/dist/telemetry/headless/context/TelemetryConfigProvider.js.map +1 -0
- package/dist/telemetry/headless/context/telemetryConfig.d.ts +68 -0
- package/dist/telemetry/headless/context/telemetryConfig.d.ts.map +1 -0
- package/dist/telemetry/headless/context/telemetryConfig.js +119 -0
- package/dist/telemetry/headless/context/telemetryConfig.js.map +1 -0
- package/dist/telemetry/headless/guards/RequireTelemetryEnabled.d.ts +35 -0
- package/dist/telemetry/headless/guards/RequireTelemetryEnabled.d.ts.map +1 -0
- package/dist/telemetry/headless/guards/RequireTelemetryEnabled.js +44 -0
- package/dist/telemetry/headless/guards/RequireTelemetryEnabled.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAdmin.d.ts +40 -0
- package/dist/telemetry/headless/hooks/useTelemetryAdmin.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAdmin.js +111 -0
- package/dist/telemetry/headless/hooks/useTelemetryAdmin.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistant.d.ts +120 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistant.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistant.js +185 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistant.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistantAvailable.d.ts +12 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistantAvailable.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistantAvailable.js +36 -0
- package/dist/telemetry/headless/hooks/useTelemetryAssistantAvailable.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryConnection.d.ts +46 -0
- package/dist/telemetry/headless/hooks/useTelemetryConnection.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryConnection.js +133 -0
- package/dist/telemetry/headless/hooks/useTelemetryConnection.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.d.ts +147 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.js +231 -0
- package/dist/telemetry/headless/hooks/useTelemetryDashboard.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryExplorer.d.ts +95 -0
- package/dist/telemetry/headless/hooks/useTelemetryExplorer.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryExplorer.js +197 -0
- package/dist/telemetry/headless/hooks/useTelemetryExplorer.js.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryStack.d.ts +69 -0
- package/dist/telemetry/headless/hooks/useTelemetryStack.d.ts.map +1 -0
- package/dist/telemetry/headless/hooks/useTelemetryStack.js +129 -0
- package/dist/telemetry/headless/hooks/useTelemetryStack.js.map +1 -0
- package/dist/telemetry/headless/index.d.ts +34 -0
- package/dist/telemetry/headless/index.d.ts.map +1 -0
- package/dist/telemetry/headless/index.js +34 -0
- package/dist/telemetry/headless/index.js.map +1 -0
- package/dist/telemetry/headless/lib/assistantExport.d.ts +12 -0
- package/dist/telemetry/headless/lib/assistantExport.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/assistantExport.js +116 -0
- package/dist/telemetry/headless/lib/assistantExport.js.map +1 -0
- package/dist/telemetry/headless/lib/dashboard/assistantPrompt.d.ts +91 -0
- package/dist/telemetry/headless/lib/dashboard/assistantPrompt.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/dashboard/assistantPrompt.js +246 -0
- package/dist/telemetry/headless/lib/dashboard/assistantPrompt.js.map +1 -0
- package/dist/telemetry/headless/lib/dashboardState.d.ts +58 -0
- package/dist/telemetry/headless/lib/dashboardState.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/dashboardState.js +153 -0
- package/dist/telemetry/headless/lib/dashboardState.js.map +1 -0
- package/dist/telemetry/headless/lib/explorerHandoff.d.ts +62 -0
- package/dist/telemetry/headless/lib/explorerHandoff.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/explorerHandoff.js +77 -0
- package/dist/telemetry/headless/lib/explorerHandoff.js.map +1 -0
- package/dist/telemetry/headless/lib/format.d.ts +113 -0
- package/dist/telemetry/headless/lib/format.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/format.js +280 -0
- package/dist/telemetry/headless/lib/format.js.map +1 -0
- package/dist/telemetry/headless/lib/metrics/metricSections.d.ts +44 -0
- package/dist/telemetry/headless/lib/metrics/metricSections.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/metrics/metricSections.js +61 -0
- package/dist/telemetry/headless/lib/metrics/metricSections.js.map +1 -0
- package/dist/telemetry/headless/lib/metrics/topNPreference.d.ts +15 -0
- package/dist/telemetry/headless/lib/metrics/topNPreference.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/metrics/topNPreference.js +33 -0
- package/dist/telemetry/headless/lib/metrics/topNPreference.js.map +1 -0
- package/dist/telemetry/headless/lib/queryHistory.d.ts +20 -0
- package/dist/telemetry/headless/lib/queryHistory.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/queryHistory.js +53 -0
- package/dist/telemetry/headless/lib/queryHistory.js.map +1 -0
- package/dist/telemetry/headless/lib/starterQueries.d.ts +48 -0
- package/dist/telemetry/headless/lib/starterQueries.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/starterQueries.js +84 -0
- package/dist/telemetry/headless/lib/starterQueries.js.map +1 -0
- package/dist/telemetry/headless/lib/traceLink.d.ts +26 -0
- package/dist/telemetry/headless/lib/traceLink.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/traceLink.js +32 -0
- package/dist/telemetry/headless/lib/traceLink.js.map +1 -0
- package/dist/telemetry/headless/lib/unknownRoutes.d.ts +23 -0
- package/dist/telemetry/headless/lib/unknownRoutes.d.ts.map +1 -0
- package/dist/telemetry/headless/lib/unknownRoutes.js +35 -0
- package/dist/telemetry/headless/lib/unknownRoutes.js.map +1 -0
- package/dist/telemetry/headless/services/client.d.ts +144 -0
- package/dist/telemetry/headless/services/client.d.ts.map +1 -0
- package/dist/telemetry/headless/services/client.js +144 -0
- package/dist/telemetry/headless/services/client.js.map +1 -0
- package/dist/telemetry/headless/services/telemetry.d.ts +483 -0
- package/dist/telemetry/headless/services/telemetry.d.ts.map +1 -0
- package/dist/telemetry/headless/services/telemetry.js +190 -0
- package/dist/telemetry/headless/services/telemetry.js.map +1 -0
- package/dist/telemetry/headless/services/telemetryDashboard.d.ts +321 -0
- package/dist/telemetry/headless/services/telemetryDashboard.d.ts.map +1 -0
- package/dist/telemetry/headless/services/telemetryDashboard.js +103 -0
- package/dist/telemetry/headless/services/telemetryDashboard.js.map +1 -0
- package/dist/telemetry/internal/useIsMounted.d.ts +9 -0
- package/dist/telemetry/internal/useIsMounted.d.ts.map +1 -0
- package/dist/telemetry/internal/useIsMounted.js +19 -0
- package/dist/telemetry/internal/useIsMounted.js.map +1 -0
- package/dist/telemetry/internal/useVisiblePolling.d.ts +55 -0
- package/dist/telemetry/internal/useVisiblePolling.d.ts.map +1 -0
- package/dist/telemetry/internal/useVisiblePolling.js +96 -0
- package/dist/telemetry/internal/useVisiblePolling.js.map +1 -0
- package/dist/telemetry/internal/visuallyHidden.d.ts +12 -0
- package/dist/telemetry/internal/visuallyHidden.d.ts.map +1 -0
- package/dist/telemetry/internal/visuallyHidden.js +15 -0
- package/dist/telemetry/internal/visuallyHidden.js.map +1 -0
- package/dist/telemetry/theme/augment.d.ts +65 -0
- package/dist/telemetry/theme/augment.d.ts.map +1 -0
- package/dist/telemetry/theme/augment.js +37 -0
- package/dist/telemetry/theme/augment.js.map +1 -0
- package/dist/telemetry/theme/telemetryTokens.d.ts +121 -0
- package/dist/telemetry/theme/telemetryTokens.d.ts.map +1 -0
- package/dist/telemetry/theme/telemetryTokens.js +129 -0
- package/dist/telemetry/theme/telemetryTokens.js.map +1 -0
- package/dist/telemetry/ui/admin.d.ts +35 -0
- package/dist/telemetry/ui/admin.d.ts.map +1 -0
- package/dist/telemetry/ui/admin.js +58 -0
- package/dist/telemetry/ui/admin.js.map +1 -0
- package/dist/telemetry/ui/components/AssistantContainer.d.ts +35 -0
- package/dist/telemetry/ui/components/AssistantContainer.d.ts.map +1 -0
- package/dist/telemetry/ui/components/AssistantContainer.js +83 -0
- package/dist/telemetry/ui/components/AssistantContainer.js.map +1 -0
- package/dist/telemetry/ui/components/AssistantPanel.d.ts +22 -0
- package/dist/telemetry/ui/components/AssistantPanel.d.ts.map +1 -0
- package/dist/telemetry/ui/components/AssistantPanel.js +150 -0
- package/dist/telemetry/ui/components/AssistantPanel.js.map +1 -0
- package/dist/telemetry/ui/components/AssistantReport.d.ts +13 -0
- package/dist/telemetry/ui/components/AssistantReport.d.ts.map +1 -0
- package/dist/telemetry/ui/components/AssistantReport.js +89 -0
- package/dist/telemetry/ui/components/AssistantReport.js.map +1 -0
- package/dist/telemetry/ui/components/AssistantTimeline.d.ts +10 -0
- package/dist/telemetry/ui/components/AssistantTimeline.d.ts.map +1 -0
- package/dist/telemetry/ui/components/AssistantTimeline.js +84 -0
- package/dist/telemetry/ui/components/AssistantTimeline.js.map +1 -0
- package/dist/telemetry/ui/components/ResultsGrid.d.ts +10 -0
- package/dist/telemetry/ui/components/ResultsGrid.d.ts.map +1 -0
- package/dist/telemetry/ui/components/ResultsGrid.js +71 -0
- package/dist/telemetry/ui/components/ResultsGrid.js.map +1 -0
- package/dist/telemetry/ui/components/SchemaPanel.d.ts +9 -0
- package/dist/telemetry/ui/components/SchemaPanel.d.ts.map +1 -0
- package/dist/telemetry/ui/components/SchemaPanel.js +42 -0
- package/dist/telemetry/ui/components/SchemaPanel.js.map +1 -0
- package/dist/telemetry/ui/components/SqlEditor.d.ts +21 -0
- package/dist/telemetry/ui/components/SqlEditor.d.ts.map +1 -0
- package/dist/telemetry/ui/components/SqlEditor.js +60 -0
- package/dist/telemetry/ui/components/SqlEditor.js.map +1 -0
- package/dist/telemetry/ui/components/TelemetryConnectionSection.d.ts +14 -0
- package/dist/telemetry/ui/components/TelemetryConnectionSection.d.ts.map +1 -0
- package/dist/telemetry/ui/components/TelemetryConnectionSection.js +243 -0
- package/dist/telemetry/ui/components/TelemetryConnectionSection.js.map +1 -0
- package/dist/telemetry/ui/components/TelemetryCrossLink.d.ts +12 -0
- package/dist/telemetry/ui/components/TelemetryCrossLink.d.ts.map +1 -0
- package/dist/telemetry/ui/components/TelemetryCrossLink.js +21 -0
- package/dist/telemetry/ui/components/TelemetryCrossLink.js.map +1 -0
- package/dist/telemetry/ui/components/TelemetryServicesSection.d.ts +23 -0
- package/dist/telemetry/ui/components/TelemetryServicesSection.d.ts.map +1 -0
- package/dist/telemetry/ui/components/TelemetryServicesSection.js +138 -0
- package/dist/telemetry/ui/components/TelemetryServicesSection.js.map +1 -0
- package/dist/telemetry/ui/components/TelemetrySpinner.d.ts +3 -0
- package/dist/telemetry/ui/components/TelemetrySpinner.d.ts.map +1 -0
- package/dist/telemetry/ui/components/TelemetrySpinner.js +14 -0
- package/dist/telemetry/ui/components/TelemetrySpinner.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/ApiTimelineChart.d.ts +17 -0
- package/dist/telemetry/ui/components/dashboard/ApiTimelineChart.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/ApiTimelineChart.js +70 -0
- package/dist/telemetry/ui/components/dashboard/ApiTimelineChart.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.d.ts +39 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.js +143 -0
- package/dist/telemetry/ui/components/dashboard/DashboardFilterBar.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.d.ts +58 -0
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.js +62 -0
- package/dist/telemetry/ui/components/dashboard/DashboardPanel.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/EventsFeed.d.ts +21 -0
- package/dist/telemetry/ui/components/dashboard/EventsFeed.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/EventsFeed.js +96 -0
- package/dist/telemetry/ui/components/dashboard/EventsFeed.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/KpiTiles.d.ts +13 -0
- package/dist/telemetry/ui/components/dashboard/KpiTiles.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/KpiTiles.js +82 -0
- package/dist/telemetry/ui/components/dashboard/KpiTiles.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/LogSeverityChart.d.ts +8 -0
- package/dist/telemetry/ui/components/dashboard/LogSeverityChart.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/LogSeverityChart.js +34 -0
- package/dist/telemetry/ui/components/dashboard/LogSeverityChart.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/TopProblems.d.ts +19 -0
- package/dist/telemetry/ui/components/dashboard/TopProblems.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/TopProblems.js +61 -0
- package/dist/telemetry/ui/components/dashboard/TopProblems.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/UnknownRoutesPanel.d.ts +12 -0
- package/dist/telemetry/ui/components/dashboard/UnknownRoutesPanel.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/UnknownRoutesPanel.js +36 -0
- package/dist/telemetry/ui/components/dashboard/UnknownRoutesPanel.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/VerdictBanner.d.ts +35 -0
- package/dist/telemetry/ui/components/dashboard/VerdictBanner.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/VerdictBanner.js +68 -0
- package/dist/telemetry/ui/components/dashboard/VerdictBanner.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/ZoomBrush.d.ts +9 -0
- package/dist/telemetry/ui/components/dashboard/ZoomBrush.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/ZoomBrush.js +96 -0
- package/dist/telemetry/ui/components/dashboard/ZoomBrush.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts +75 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js +247 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSections.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.d.ts +19 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.js +64 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricSeriesChart.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.d.ts +74 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.js +126 -0
- package/dist/telemetry/ui/components/dashboard/metrics/MetricTable.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/severity.d.ts +43 -0
- package/dist/telemetry/ui/components/dashboard/severity.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/severity.js +66 -0
- package/dist/telemetry/ui/components/dashboard/severity.js.map +1 -0
- package/dist/telemetry/ui/components/dashboard/timelineAxis.d.ts +11 -0
- package/dist/telemetry/ui/components/dashboard/timelineAxis.d.ts.map +1 -0
- package/dist/telemetry/ui/components/dashboard/timelineAxis.js +20 -0
- package/dist/telemetry/ui/components/dashboard/timelineAxis.js.map +1 -0
- package/dist/telemetry/ui/dashboard-page.d.ts +2 -0
- package/dist/telemetry/ui/dashboard-page.d.ts.map +1 -0
- package/dist/telemetry/ui/dashboard-page.js +6 -0
- package/dist/telemetry/ui/dashboard-page.js.map +1 -0
- package/dist/telemetry/ui/explorer-page.d.ts +2 -0
- package/dist/telemetry/ui/explorer-page.d.ts.map +1 -0
- package/dist/telemetry/ui/explorer-page.js +6 -0
- package/dist/telemetry/ui/explorer-page.js.map +1 -0
- package/dist/telemetry/ui/index.d.ts +6 -0
- package/dist/telemetry/ui/index.d.ts.map +1 -0
- package/dist/telemetry/ui/index.js +10 -0
- package/dist/telemetry/ui/index.js.map +1 -0
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.d.ts +14 -0
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.d.ts.map +1 -0
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.js +286 -0
- package/dist/telemetry/ui/pages/TelemetryDashboardPage.js.map +1 -0
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.d.ts +15 -0
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.d.ts.map +1 -0
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.js +197 -0
- package/dist/telemetry/ui/pages/TelemetryExplorerPage.js.map +1 -0
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.d.ts +28 -0
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.d.ts.map +1 -0
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.js +278 -0
- package/dist/telemetry/ui/pages/TelemetrySettingsPage.js.map +1 -0
- package/dist/telemetry/ui/settings-page.d.ts +2 -0
- package/dist/telemetry/ui/settings-page.d.ts.map +1 -0
- package/dist/telemetry/ui/settings-page.js +6 -0
- package/dist/telemetry/ui/settings-page.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +4 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-platform-host.d.ts +108 -0
- package/dist/testing/test-platform-host.d.ts.map +1 -0
- package/dist/testing/test-platform-host.js +101 -0
- package/dist/testing/test-platform-host.js.map +1 -0
- package/package.json +132 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMounted.js","sourceRoot":"","sources":["../../../src/telemetry/internal/useIsMounted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useVisiblePolling` — an interval that stops with the tab.
|
|
3
|
+
*
|
|
4
|
+
* Introduced by issue #266 for the jobs page and EXTRACTED here by #271, when
|
|
5
|
+
* the worker-fleet page needed the same behaviour. Extracted rather than
|
|
6
|
+
* copied, and the distinction is the whole point of this file existing: two
|
|
7
|
+
* implementations of "poll, but not in a background tab" would be two places
|
|
8
|
+
* the `visibilitychange` teardown could be got subtly wrong, and the second
|
|
9
|
+
* one would be discovered the way the first would have been — by a dashboard
|
|
10
|
+
* left open overnight, months later, in somebody's database load graph.
|
|
11
|
+
*
|
|
12
|
+
* `hooks/useJobs.ts` and `hooks/useWorkerNodes.ts` both RE-EXPORT this so each
|
|
13
|
+
* page keeps importing its polling from the hook module it already depends on
|
|
14
|
+
* (and so a page test that mocks that module still intercepts the poll). The
|
|
15
|
+
* re-exports are aliases of this one function; there is exactly one
|
|
16
|
+
* implementation, and this is it.
|
|
17
|
+
*
|
|
18
|
+
* =============================================================================
|
|
19
|
+
* WHY THE INTERVAL STOPS WITH THE TAB
|
|
20
|
+
* =============================================================================
|
|
21
|
+
*
|
|
22
|
+
* These pages poll because their contents change with nobody touching them: a
|
|
23
|
+
* queue drains, a worker stops heartbeating. An operator watching either needs
|
|
24
|
+
* the numbers to move, and a manual refresh button turns "is it recovering"
|
|
25
|
+
* into a clicking exercise.
|
|
26
|
+
*
|
|
27
|
+
* A bare `setInterval` keeps firing in a background tab, and that is not a
|
|
28
|
+
* micro-optimisation to skip. A dashboard left open on a second monitor
|
|
29
|
+
* overnight is ~2,900 requests at a 10-second poll — each one a real query
|
|
30
|
+
* against the same database the workers are competing for — and every response
|
|
31
|
+
* is discarded, because nobody is looking. Browsers throttle background timers
|
|
32
|
+
* but do not stop them, and the throttling is neither uniform nor something a
|
|
33
|
+
* server capacity plan can rely on.
|
|
34
|
+
*
|
|
35
|
+
* So the interval is torn down on `visibilitychange` to hidden and rebuilt on
|
|
36
|
+
* the way back, with ONE IMMEDIATE FETCH on return. The immediate fetch is the
|
|
37
|
+
* half that makes the pause invisible to the operator: without it, a tab
|
|
38
|
+
* restored after an hour would show hour-old numbers for up to a full interval,
|
|
39
|
+
* which is worse than not pausing at all — stale data that looks live.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Call `callback` every `intervalMs` — but only while the document is visible.
|
|
43
|
+
*
|
|
44
|
+
* `callback` is held in a ref rather than being an effect dependency: a page
|
|
45
|
+
* naturally passes a fresh closure on every render (it reads the current
|
|
46
|
+
* filters), and depending on it directly would tear down and rebuild the
|
|
47
|
+
* interval on every keystroke, so the timer would never actually reach its
|
|
48
|
+
* period. The ref is updated on each render, so a tick always calls the
|
|
49
|
+
* LATEST closure while the timer itself survives.
|
|
50
|
+
*
|
|
51
|
+
* `intervalMs <= 0` disables polling entirely, which is what a test — or a
|
|
52
|
+
* caller with no reason to poll — passes.
|
|
53
|
+
*/
|
|
54
|
+
export declare function useVisiblePolling(callback: () => void, intervalMs: number): void;
|
|
55
|
+
//# sourceMappingURL=useVisiblePolling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVisiblePolling.d.ts","sourceRoot":"","sources":["../../../src/telemetry/internal/useVisiblePolling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA4ChF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useVisiblePolling` — an interval that stops with the tab.
|
|
3
|
+
*
|
|
4
|
+
* Introduced by issue #266 for the jobs page and EXTRACTED here by #271, when
|
|
5
|
+
* the worker-fleet page needed the same behaviour. Extracted rather than
|
|
6
|
+
* copied, and the distinction is the whole point of this file existing: two
|
|
7
|
+
* implementations of "poll, but not in a background tab" would be two places
|
|
8
|
+
* the `visibilitychange` teardown could be got subtly wrong, and the second
|
|
9
|
+
* one would be discovered the way the first would have been — by a dashboard
|
|
10
|
+
* left open overnight, months later, in somebody's database load graph.
|
|
11
|
+
*
|
|
12
|
+
* `hooks/useJobs.ts` and `hooks/useWorkerNodes.ts` both RE-EXPORT this so each
|
|
13
|
+
* page keeps importing its polling from the hook module it already depends on
|
|
14
|
+
* (and so a page test that mocks that module still intercepts the poll). The
|
|
15
|
+
* re-exports are aliases of this one function; there is exactly one
|
|
16
|
+
* implementation, and this is it.
|
|
17
|
+
*
|
|
18
|
+
* =============================================================================
|
|
19
|
+
* WHY THE INTERVAL STOPS WITH THE TAB
|
|
20
|
+
* =============================================================================
|
|
21
|
+
*
|
|
22
|
+
* These pages poll because their contents change with nobody touching them: a
|
|
23
|
+
* queue drains, a worker stops heartbeating. An operator watching either needs
|
|
24
|
+
* the numbers to move, and a manual refresh button turns "is it recovering"
|
|
25
|
+
* into a clicking exercise.
|
|
26
|
+
*
|
|
27
|
+
* A bare `setInterval` keeps firing in a background tab, and that is not a
|
|
28
|
+
* micro-optimisation to skip. A dashboard left open on a second monitor
|
|
29
|
+
* overnight is ~2,900 requests at a 10-second poll — each one a real query
|
|
30
|
+
* against the same database the workers are competing for — and every response
|
|
31
|
+
* is discarded, because nobody is looking. Browsers throttle background timers
|
|
32
|
+
* but do not stop them, and the throttling is neither uniform nor something a
|
|
33
|
+
* server capacity plan can rely on.
|
|
34
|
+
*
|
|
35
|
+
* So the interval is torn down on `visibilitychange` to hidden and rebuilt on
|
|
36
|
+
* the way back, with ONE IMMEDIATE FETCH on return. The immediate fetch is the
|
|
37
|
+
* half that makes the pause invisible to the operator: without it, a tab
|
|
38
|
+
* restored after an hour would show hour-old numbers for up to a full interval,
|
|
39
|
+
* which is worse than not pausing at all — stale data that looks live.
|
|
40
|
+
*/
|
|
41
|
+
import { useEffect, useRef } from 'react';
|
|
42
|
+
/**
|
|
43
|
+
* Call `callback` every `intervalMs` — but only while the document is visible.
|
|
44
|
+
*
|
|
45
|
+
* `callback` is held in a ref rather than being an effect dependency: a page
|
|
46
|
+
* naturally passes a fresh closure on every render (it reads the current
|
|
47
|
+
* filters), and depending on it directly would tear down and rebuild the
|
|
48
|
+
* interval on every keystroke, so the timer would never actually reach its
|
|
49
|
+
* period. The ref is updated on each render, so a tick always calls the
|
|
50
|
+
* LATEST closure while the timer itself survives.
|
|
51
|
+
*
|
|
52
|
+
* `intervalMs <= 0` disables polling entirely, which is what a test — or a
|
|
53
|
+
* caller with no reason to poll — passes.
|
|
54
|
+
*/
|
|
55
|
+
export function useVisiblePolling(callback, intervalMs) {
|
|
56
|
+
const callbackRef = useRef(callback);
|
|
57
|
+
callbackRef.current = callback;
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (intervalMs <= 0)
|
|
60
|
+
return;
|
|
61
|
+
let timer = null;
|
|
62
|
+
const stop = () => {
|
|
63
|
+
if (timer !== null) {
|
|
64
|
+
clearInterval(timer);
|
|
65
|
+
timer = null;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const start = () => {
|
|
69
|
+
// Guarded rather than assumed: `visibilitychange` can fire more than
|
|
70
|
+
// once for the same effective state, and an unguarded `setInterval`
|
|
71
|
+
// would leak a second timer and double the request rate.
|
|
72
|
+
if (timer !== null)
|
|
73
|
+
return;
|
|
74
|
+
timer = setInterval(() => callbackRef.current(), intervalMs);
|
|
75
|
+
};
|
|
76
|
+
const onVisibilityChange = () => {
|
|
77
|
+
if (document.hidden) {
|
|
78
|
+
stop();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Catch up FIRST, then resume — see the file header on why a resumed
|
|
82
|
+
// poll that waits out a full interval is worse than never pausing.
|
|
83
|
+
callbackRef.current();
|
|
84
|
+
start();
|
|
85
|
+
};
|
|
86
|
+
// A tab that is already hidden at mount never starts one.
|
|
87
|
+
if (!document.hidden)
|
|
88
|
+
start();
|
|
89
|
+
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
90
|
+
return () => {
|
|
91
|
+
stop();
|
|
92
|
+
document.removeEventListener('visibilitychange', onVisibilityChange);
|
|
93
|
+
};
|
|
94
|
+
}, [intervalMs]);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=useVisiblePolling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVisiblePolling.js","sourceRoot":"","sources":["../../../src/telemetry/internal/useVisiblePolling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAoB,EAAE,UAAkB;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO;QAE5B,IAAI,KAAK,GAA0C,IAAI,CAAC;QAExD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,qEAAqE;YACrE,oEAAoE;YACpE,yDAAyD;YACzD,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAC3B,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,WAAW,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;QAEF,0DAA0D;QAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,KAAK,EAAE,CAAC;QAC9B,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QAElE,OAAO,GAAG,EAAE;YACV,IAAI,EAAE,CAAC;YACP,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACvE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const visuallyHidden: {
|
|
2
|
+
readonly border: 0;
|
|
3
|
+
readonly clipPath: "inset(50%)";
|
|
4
|
+
readonly height: "1px";
|
|
5
|
+
readonly margin: "-1px";
|
|
6
|
+
readonly overflow: "hidden";
|
|
7
|
+
readonly padding: 0;
|
|
8
|
+
readonly position: "absolute";
|
|
9
|
+
readonly whiteSpace: "nowrap";
|
|
10
|
+
readonly width: "1px";
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=visuallyHidden.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visuallyHidden.d.ts","sourceRoot":"","sources":["../../../src/telemetry/internal/visuallyHidden.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// The screen-reader-only style (issue #704): the same declarations as
|
|
2
|
+
// `@mui/utils/visuallyHidden`, inlined so the package does not reach into a
|
|
3
|
+
// transitive dependency of `@mui/material`. Not exported.
|
|
4
|
+
export const visuallyHidden = {
|
|
5
|
+
border: 0,
|
|
6
|
+
clipPath: 'inset(50%)',
|
|
7
|
+
height: '1px',
|
|
8
|
+
margin: '-1px',
|
|
9
|
+
overflow: 'hidden',
|
|
10
|
+
padding: 0,
|
|
11
|
+
position: 'absolute',
|
|
12
|
+
whiteSpace: 'nowrap',
|
|
13
|
+
width: '1px',
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=visuallyHidden.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visuallyHidden.js","sourceRoot":"","sources":["../../../src/telemetry/internal/visuallyHidden.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,4EAA4E;AAC5E,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,KAAK;CACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MUI module augmentation for the telemetry UI's theme-token contract
|
|
3
|
+
* (issue #686, platform-packages PP-1.15).
|
|
4
|
+
*
|
|
5
|
+
* Two palette roles beyond MUI's defaults, the first entries of the telemetry
|
|
6
|
+
* package's extension-point catalog (theme tokens, see #704):
|
|
7
|
+
*
|
|
8
|
+
* - `palette.status` — what a value MEANS: `ok`, `warn`, `crit`, `info` and
|
|
9
|
+
* `neutral`. Used for status codes, severities, outcomes, up/down cells.
|
|
10
|
+
* - `palette.chart.series` — categorical colours for chart lines and series
|
|
11
|
+
* that carry no meaning beyond "a different series", in assignment order.
|
|
12
|
+
*
|
|
13
|
+
* Rule: series colours are never used for status, and status colours are
|
|
14
|
+
* never used as a generic series colour.
|
|
15
|
+
*
|
|
16
|
+
* `withTelemetryTokens` (`telemetryTokens.ts`) fills both from the theme's own
|
|
17
|
+
* palette when the app did not set them, so an app overrides a token simply by
|
|
18
|
+
* passing it in its `createTheme` options:
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* createTheme({ palette: { status: { crit: '#b00020' }, chart: { series: ['#0057b8', '#ffd700'] } } });
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* The interface name `PaletteChart` with `series: string[]` and
|
|
25
|
+
* `Palette.chart: PaletteChart` are deliberate: TypeScript merges identical
|
|
26
|
+
* interface declarations, so an app that already augments MUI with the same
|
|
27
|
+
* shape keeps compiling. Do not change the shape.
|
|
28
|
+
*
|
|
29
|
+
* A MODULE (`export {}`), not a `.d.ts` script: a script's `declare module`
|
|
30
|
+
* would redeclare the package instead of augmenting it, and a `.d.ts` is only
|
|
31
|
+
* seen by programs whose `include` happens to cover it. `theme/index.ts` and
|
|
32
|
+
* `theme/telemetryTokens.ts` import this file for its side effect, so every
|
|
33
|
+
* program that compiles the theme (the app, the visual harness, vitest) gets
|
|
34
|
+
* the augmentation with it.
|
|
35
|
+
*/
|
|
36
|
+
export {};
|
|
37
|
+
declare module '@mui/material/styles' {
|
|
38
|
+
/** Status colours: what a value means. Never used as a series colour. */
|
|
39
|
+
interface PaletteStatus {
|
|
40
|
+
/** Healthy, succeeded, 2xx, up. */
|
|
41
|
+
ok: string;
|
|
42
|
+
/** Needs attention: 4xx, warnings, a highlighted tile. */
|
|
43
|
+
warn: string;
|
|
44
|
+
/** Failed: 5xx, error logs, down. */
|
|
45
|
+
crit: string;
|
|
46
|
+
/** Informational: 3xx, info logs. */
|
|
47
|
+
info: string;
|
|
48
|
+
/** No particular status: "other" log records. */
|
|
49
|
+
neutral: string;
|
|
50
|
+
}
|
|
51
|
+
/** Chart colours. Series colours are never used for status. */
|
|
52
|
+
interface PaletteChart {
|
|
53
|
+
/** Categorical series colours, in assignment order. */
|
|
54
|
+
series: string[];
|
|
55
|
+
}
|
|
56
|
+
interface Palette {
|
|
57
|
+
status: PaletteStatus;
|
|
58
|
+
chart: PaletteChart;
|
|
59
|
+
}
|
|
60
|
+
interface PaletteOptions {
|
|
61
|
+
status?: Partial<PaletteStatus>;
|
|
62
|
+
chart?: Partial<PaletteChart>;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=augment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../../src/telemetry/theme/augment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,CAAC;AAEV,OAAO,QAAQ,sBAAsB,CAAC;IACpC,yEAAyE;IACzE,UAAU,aAAa;QACrB,mCAAmC;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,0DAA0D;QAC1D,IAAI,EAAE,MAAM,CAAC;QACb,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAC;QACb,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAC;QACb,iDAAiD;QACjD,OAAO,EAAE,MAAM,CAAC;KACjB;IAED,+DAA+D;IAC/D,UAAU,YAAY;QACpB,uDAAuD;QACvD,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;IAED,UAAU,OAAO;QACf,MAAM,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,YAAY,CAAC;KACrB;IAED,UAAU,cAAc;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;KAC/B;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MUI module augmentation for the telemetry UI's theme-token contract
|
|
3
|
+
* (issue #686, platform-packages PP-1.15).
|
|
4
|
+
*
|
|
5
|
+
* Two palette roles beyond MUI's defaults, the first entries of the telemetry
|
|
6
|
+
* package's extension-point catalog (theme tokens, see #704):
|
|
7
|
+
*
|
|
8
|
+
* - `palette.status` — what a value MEANS: `ok`, `warn`, `crit`, `info` and
|
|
9
|
+
* `neutral`. Used for status codes, severities, outcomes, up/down cells.
|
|
10
|
+
* - `palette.chart.series` — categorical colours for chart lines and series
|
|
11
|
+
* that carry no meaning beyond "a different series", in assignment order.
|
|
12
|
+
*
|
|
13
|
+
* Rule: series colours are never used for status, and status colours are
|
|
14
|
+
* never used as a generic series colour.
|
|
15
|
+
*
|
|
16
|
+
* `withTelemetryTokens` (`telemetryTokens.ts`) fills both from the theme's own
|
|
17
|
+
* palette when the app did not set them, so an app overrides a token simply by
|
|
18
|
+
* passing it in its `createTheme` options:
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* createTheme({ palette: { status: { crit: '#b00020' }, chart: { series: ['#0057b8', '#ffd700'] } } });
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* The interface name `PaletteChart` with `series: string[]` and
|
|
25
|
+
* `Palette.chart: PaletteChart` are deliberate: TypeScript merges identical
|
|
26
|
+
* interface declarations, so an app that already augments MUI with the same
|
|
27
|
+
* shape keeps compiling. Do not change the shape.
|
|
28
|
+
*
|
|
29
|
+
* A MODULE (`export {}`), not a `.d.ts` script: a script's `declare module`
|
|
30
|
+
* would redeclare the package instead of augmenting it, and a `.d.ts` is only
|
|
31
|
+
* seen by programs whose `include` happens to cover it. `theme/index.ts` and
|
|
32
|
+
* `theme/telemetryTokens.ts` import this file for its side effect, so every
|
|
33
|
+
* program that compiles the theme (the app, the visual harness, vitest) gets
|
|
34
|
+
* the augmentation with it.
|
|
35
|
+
*/
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=augment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"augment.js","sourceRoot":"","sources":["../../../src/telemetry/theme/augment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The telemetry UI's theme-token contract (issue #686, platform-packages
|
|
3
|
+
* PP-1.15): `palette.status.{ok,warn,crit,info,neutral}` and
|
|
4
|
+
* `palette.chart.series`, declared in `augment.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Packages own structure, apps own appearance: the telemetry UI never reads a
|
|
7
|
+
* raw MUI palette role (`success`, `error`, `warning`, `info`, `secondary`,
|
|
8
|
+
* `grey`) to mean "status" or "chart series". It reads these tokens, and an
|
|
9
|
+
* app restyles it by setting them in its own theme.
|
|
10
|
+
*
|
|
11
|
+
* Rule: series tokens are never used for status, and status tokens are never
|
|
12
|
+
* used as a series colour.
|
|
13
|
+
*
|
|
14
|
+
* Defaults derive from the theme's own palette, so a theme that sets nothing
|
|
15
|
+
* looks exactly as it did before the tokens existed:
|
|
16
|
+
*
|
|
17
|
+
* | Token | Default |
|
|
18
|
+
* |------------------|------------------------------------------------------------|
|
|
19
|
+
* | `status.ok` | `palette.success.main` |
|
|
20
|
+
* | `status.warn` | `palette.warning.main` |
|
|
21
|
+
* | `status.crit` | `palette.error.main` |
|
|
22
|
+
* | `status.info` | `palette.info.main` |
|
|
23
|
+
* | `status.neutral` | `palette.grey[500]` |
|
|
24
|
+
* | `chart.series` | `primary, secondary, warning, success, error, info` `.main`, then `grey[500]`, `text.primary` |
|
|
25
|
+
*
|
|
26
|
+
* Packaged with the telemetry UI in `@marinoscar/platform-web/telemetry`
|
|
27
|
+
* (#704); the app applies `withTelemetryTokens` to its own themes.
|
|
28
|
+
*/
|
|
29
|
+
import './augment.js';
|
|
30
|
+
import { type Theme } from '@mui/material/styles';
|
|
31
|
+
/**
|
|
32
|
+
* `palette.status`: what a value MEANS. Never used as a series colour. The
|
|
33
|
+
* same shape as the `PaletteStatus` MUI augmentation this slice declares.
|
|
34
|
+
*
|
|
35
|
+
* @extensionPoint theme-token
|
|
36
|
+
* @stability experimental
|
|
37
|
+
*/
|
|
38
|
+
export interface TelemetryStatusTokens {
|
|
39
|
+
/** Healthy, succeeded, 2xx, up. Default `palette.success.main`. */
|
|
40
|
+
ok: string;
|
|
41
|
+
/** Needs attention: 4xx, warnings, a highlighted tile. Default `palette.warning.main`. */
|
|
42
|
+
warn: string;
|
|
43
|
+
/** Failed: 5xx, error logs, down. Default `palette.error.main`. */
|
|
44
|
+
crit: string;
|
|
45
|
+
/** Informational: 3xx, info logs. Default `palette.info.main`. */
|
|
46
|
+
info: string;
|
|
47
|
+
/** No particular status: "other" log records. Default `palette.grey[500]`. */
|
|
48
|
+
neutral: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* `palette.chart`: categorical chart colours. Never used for status. The same
|
|
52
|
+
* shape as the `PaletteChart` MUI augmentation this slice declares.
|
|
53
|
+
*
|
|
54
|
+
* @extensionPoint theme-token
|
|
55
|
+
* @stability experimental
|
|
56
|
+
*/
|
|
57
|
+
export interface TelemetryChartTokens {
|
|
58
|
+
/**
|
|
59
|
+
* Series colours, in assignment order. Default: the `.main` of `primary`,
|
|
60
|
+
* `secondary`, `warning`, `success`, `error` and `info`, then `grey[500]`
|
|
61
|
+
* and `text.primary`.
|
|
62
|
+
*/
|
|
63
|
+
series: string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Every telemetry token of a theme, complete (missing ones derived).
|
|
67
|
+
*
|
|
68
|
+
* @stability experimental
|
|
69
|
+
*/
|
|
70
|
+
export interface TelemetryTokens {
|
|
71
|
+
/** `palette.status`. */
|
|
72
|
+
status: TelemetryStatusTokens;
|
|
73
|
+
/** `palette.chart`. */
|
|
74
|
+
chart: TelemetryChartTokens;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Pure accessor: the theme's telemetry tokens, with every missing token
|
|
78
|
+
* derived from its palette. For code that receives a theme which may not
|
|
79
|
+
* have been through {@link withTelemetryTokens} (a test's `createTheme()`,
|
|
80
|
+
* MUI's default theme outside any provider). Never mutates `theme`.
|
|
81
|
+
*
|
|
82
|
+
* @param theme - any MUI theme.
|
|
83
|
+
* @returns the complete tokens.
|
|
84
|
+
*
|
|
85
|
+
* @stability experimental
|
|
86
|
+
*/
|
|
87
|
+
export declare function telemetryTokens(theme: Theme): TelemetryTokens;
|
|
88
|
+
/**
|
|
89
|
+
* Pure and idempotent: a copy of `theme` whose `palette.status` and
|
|
90
|
+
* `palette.chart` are complete. Tokens the app already set win; missing ones
|
|
91
|
+
* derive from the theme's own palette (`ok` = `success.main`, `warn` =
|
|
92
|
+
* `warning.main`, `crit` = `error.main`, `info` = `info.main`, `neutral` =
|
|
93
|
+
* `grey[500]`, `chart.series` = the `.main` of `primary`, `secondary`,
|
|
94
|
+
* `warning`, `success`, `error` and `info`, then `grey[500]` and
|
|
95
|
+
* `text.primary`). The input theme is not
|
|
96
|
+
* mutated, and nothing else in it changes. A package never creates a theme:
|
|
97
|
+
* the app passes its own through this.
|
|
98
|
+
*
|
|
99
|
+
* @param theme - the app's theme (from `createTheme`).
|
|
100
|
+
* @returns the theme with complete telemetry tokens.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* export const lightTheme = withTelemetryTokens(
|
|
105
|
+
* createTheme({ palette: { mode: 'light', status: { crit: '#b00020' }, chart: { series: ['#0057b8', '#ffd700'] } } }),
|
|
106
|
+
* );
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @extensionPoint theme-token
|
|
110
|
+
* @stability experimental
|
|
111
|
+
*/
|
|
112
|
+
export declare function withTelemetryTokens(theme: Theme): Theme;
|
|
113
|
+
/**
|
|
114
|
+
* The telemetry tokens of the theme in context (`useTheme()` + {@link telemetryTokens}).
|
|
115
|
+
*
|
|
116
|
+
* @returns the complete tokens.
|
|
117
|
+
*
|
|
118
|
+
* @stability experimental
|
|
119
|
+
*/
|
|
120
|
+
export declare function useTelemetryTokens(): TelemetryTokens;
|
|
121
|
+
//# sourceMappingURL=telemetryTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetryTokens.d.ts","sourceRoot":"","sources":["../../../src/telemetry/theme/telemetryTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAmD,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEnG;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,uBAAuB;IACvB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAc7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAUvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The telemetry UI's theme-token contract (issue #686, platform-packages
|
|
3
|
+
* PP-1.15): `palette.status.{ok,warn,crit,info,neutral}` and
|
|
4
|
+
* `palette.chart.series`, declared in `augment.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Packages own structure, apps own appearance: the telemetry UI never reads a
|
|
7
|
+
* raw MUI palette role (`success`, `error`, `warning`, `info`, `secondary`,
|
|
8
|
+
* `grey`) to mean "status" or "chart series". It reads these tokens, and an
|
|
9
|
+
* app restyles it by setting them in its own theme.
|
|
10
|
+
*
|
|
11
|
+
* Rule: series tokens are never used for status, and status tokens are never
|
|
12
|
+
* used as a series colour.
|
|
13
|
+
*
|
|
14
|
+
* Defaults derive from the theme's own palette, so a theme that sets nothing
|
|
15
|
+
* looks exactly as it did before the tokens existed:
|
|
16
|
+
*
|
|
17
|
+
* | Token | Default |
|
|
18
|
+
* |------------------|------------------------------------------------------------|
|
|
19
|
+
* | `status.ok` | `palette.success.main` |
|
|
20
|
+
* | `status.warn` | `palette.warning.main` |
|
|
21
|
+
* | `status.crit` | `palette.error.main` |
|
|
22
|
+
* | `status.info` | `palette.info.main` |
|
|
23
|
+
* | `status.neutral` | `palette.grey[500]` |
|
|
24
|
+
* | `chart.series` | `primary, secondary, warning, success, error, info` `.main`, then `grey[500]`, `text.primary` |
|
|
25
|
+
*
|
|
26
|
+
* Packaged with the telemetry UI in `@marinoscar/platform-web/telemetry`
|
|
27
|
+
* (#704); the app applies `withTelemetryTokens` to its own themes.
|
|
28
|
+
*/
|
|
29
|
+
import './augment.js';
|
|
30
|
+
import { useMemo } from 'react';
|
|
31
|
+
import { useTheme } from '@mui/material/styles';
|
|
32
|
+
function defaultStatus(theme) {
|
|
33
|
+
const { palette } = theme;
|
|
34
|
+
return {
|
|
35
|
+
ok: palette.success.main,
|
|
36
|
+
warn: palette.warning.main,
|
|
37
|
+
crit: palette.error.main,
|
|
38
|
+
info: palette.info.main,
|
|
39
|
+
neutral: palette.grey[500],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function defaultSeries(theme) {
|
|
43
|
+
const { palette } = theme;
|
|
44
|
+
// Distinct hues first (primary and info are both blue in the base theme).
|
|
45
|
+
return [
|
|
46
|
+
palette.primary.main,
|
|
47
|
+
palette.secondary.main,
|
|
48
|
+
palette.warning.main,
|
|
49
|
+
palette.success.main,
|
|
50
|
+
palette.error.main,
|
|
51
|
+
palette.info.main,
|
|
52
|
+
palette.grey[500],
|
|
53
|
+
palette.text.primary,
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Pure accessor: the theme's telemetry tokens, with every missing token
|
|
58
|
+
* derived from its palette. For code that receives a theme which may not
|
|
59
|
+
* have been through {@link withTelemetryTokens} (a test's `createTheme()`,
|
|
60
|
+
* MUI's default theme outside any provider). Never mutates `theme`.
|
|
61
|
+
*
|
|
62
|
+
* @param theme - any MUI theme.
|
|
63
|
+
* @returns the complete tokens.
|
|
64
|
+
*
|
|
65
|
+
* @stability experimental
|
|
66
|
+
*/
|
|
67
|
+
export function telemetryTokens(theme) {
|
|
68
|
+
const own = theme.palette;
|
|
69
|
+
const status = { ...defaultStatus(theme) };
|
|
70
|
+
for (const [key, value] of Object.entries(own.status ?? {})) {
|
|
71
|
+
if (typeof value === 'string' && value !== '')
|
|
72
|
+
status[key] = value;
|
|
73
|
+
}
|
|
74
|
+
const series = own.chart?.series;
|
|
75
|
+
return {
|
|
76
|
+
status,
|
|
77
|
+
chart: {
|
|
78
|
+
...own.chart,
|
|
79
|
+
series: Array.isArray(series) && series.length > 0 ? [...series] : defaultSeries(theme),
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Pure and idempotent: a copy of `theme` whose `palette.status` and
|
|
85
|
+
* `palette.chart` are complete. Tokens the app already set win; missing ones
|
|
86
|
+
* derive from the theme's own palette (`ok` = `success.main`, `warn` =
|
|
87
|
+
* `warning.main`, `crit` = `error.main`, `info` = `info.main`, `neutral` =
|
|
88
|
+
* `grey[500]`, `chart.series` = the `.main` of `primary`, `secondary`,
|
|
89
|
+
* `warning`, `success`, `error` and `info`, then `grey[500]` and
|
|
90
|
+
* `text.primary`). The input theme is not
|
|
91
|
+
* mutated, and nothing else in it changes. A package never creates a theme:
|
|
92
|
+
* the app passes its own through this.
|
|
93
|
+
*
|
|
94
|
+
* @param theme - the app's theme (from `createTheme`).
|
|
95
|
+
* @returns the theme with complete telemetry tokens.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* export const lightTheme = withTelemetryTokens(
|
|
100
|
+
* createTheme({ palette: { mode: 'light', status: { crit: '#b00020' }, chart: { series: ['#0057b8', '#ffd700'] } } }),
|
|
101
|
+
* );
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* @extensionPoint theme-token
|
|
105
|
+
* @stability experimental
|
|
106
|
+
*/
|
|
107
|
+
export function withTelemetryTokens(theme) {
|
|
108
|
+
const tokens = telemetryTokens(theme);
|
|
109
|
+
return {
|
|
110
|
+
...theme,
|
|
111
|
+
palette: {
|
|
112
|
+
...theme.palette,
|
|
113
|
+
status: tokens.status,
|
|
114
|
+
chart: tokens.chart,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The telemetry tokens of the theme in context (`useTheme()` + {@link telemetryTokens}).
|
|
120
|
+
*
|
|
121
|
+
* @returns the complete tokens.
|
|
122
|
+
*
|
|
123
|
+
* @stability experimental
|
|
124
|
+
*/
|
|
125
|
+
export function useTelemetryTokens() {
|
|
126
|
+
const theme = useTheme();
|
|
127
|
+
return useMemo(() => telemetryTokens(theme), [theme]);
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=telemetryTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetryTokens.js","sourceRoot":"","sources":["../../../src/telemetry/theme/telemetryTokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAqD,MAAM,sBAAsB,CAAC;AAoDnG,SAAS,aAAa,CAAC,KAAY;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QACxB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACvB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,0EAA0E;IAC1E,OAAO;QACL,OAAO,CAAC,OAAO,CAAC,IAAI;QACpB,OAAO,CAAC,SAAS,CAAC,IAAI;QACtB,OAAO,CAAC,OAAO,CAAC,IAAI;QACpB,OAAO,CAAC,OAAO,CAAC,IAAI;QACpB,OAAO,CAAC,KAAK,CAAC,IAAI;QAClB,OAAO,CAAC,IAAI,CAAC,IAAI;QACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAiC,CAAC;IACpD,MAAM,MAAM,GAAkB,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;YAAE,MAAM,CAAC,GAA0B,CAAC,GAAG,KAAK,CAAC;IAC5F,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,OAAO;QACL,MAAM;QACN,KAAK,EAAE;YACL,GAAG,GAAG,CAAC,KAAK;YACZ,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;SACxF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PlatformSettingsPage } from '../../core/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* One telemetry admin card: the `PlatformSettingsPage` card shape (#696) plus
|
|
4
|
+
* its icon, structurally a `SettingsCardDef` of the reference app.
|
|
5
|
+
*
|
|
6
|
+
* @stability experimental
|
|
7
|
+
*/
|
|
8
|
+
export type TelemetryAdminCard = PlatformSettingsPage<'telemetry'>['card'] & {
|
|
9
|
+
/** The card and rail icon (an MUI SvgIcon). */
|
|
10
|
+
Icon: PlatformSettingsPage['Icon'];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The three Observability cards of the telemetry slice, in registry order:
|
|
14
|
+
*
|
|
15
|
+
* - `Telemetry` (`/admin/settings/telemetry`, `telemetry:read`): NO `feature`,
|
|
16
|
+
* deliberately; it is where telemetry is switched on. Saving needs
|
|
17
|
+
* `telemetry:write`, which the page gates.
|
|
18
|
+
* - `Telemetry Explorer` (`…/explorer`, `telemetry:query`, `feature: 'telemetry'`).
|
|
19
|
+
* - `Telemetry Dashboard` (`…/dashboard`, `telemetry:query`, `feature: 'telemetry'`).
|
|
20
|
+
*
|
|
21
|
+
* The permissions are the exact strings the telemetry controllers enforce.
|
|
22
|
+
* Both nested pages sit under the Telemetry route, so a longest-prefix title
|
|
23
|
+
* resolver names them correctly.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* // apps/web/src/config/adminSections.tsx, the Observability section
|
|
28
|
+
* cards: [...telemetryAdminCards, { ...doctorSettingsPage.card, Icon: doctorSettingsPage.Icon }],
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @extensionPoint component
|
|
32
|
+
* @stability experimental
|
|
33
|
+
*/
|
|
34
|
+
export declare const telemetryAdminCards: readonly TelemetryAdminCard[];
|
|
35
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/telemetry/ui/admin.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG;IAC3E,+CAA+C;IAC/C,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,kBAAkB,EA0B3D,CAAC"}
|