@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,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The telemetry API client (issues #537, #558, #567, #578, #680; packaged by
|
|
3
|
+
* #704).
|
|
4
|
+
*
|
|
5
|
+
* Every call goes through the app's transport (`PlatformApiClient`, the
|
|
6
|
+
* `@marinoscar/platform-web/core` port): the auth header, the token refresh
|
|
7
|
+
* and the maintenance handling stay in the app. Paths are relative to the API
|
|
8
|
+
* base. The routes and the permission each one enforces:
|
|
9
|
+
*
|
|
10
|
+
* - `GET /telemetry/config` (any signed-in user)
|
|
11
|
+
* - `GET /admin/telemetry/config` (`telemetry:read`)
|
|
12
|
+
* - `PUT /admin/telemetry/config` (`telemetry:write`, If-Match)
|
|
13
|
+
* - `GET /admin/telemetry/status` (`telemetry:read`)
|
|
14
|
+
* - `GET|PUT|DELETE /admin/telemetry/connection`, `POST …/connection/test`
|
|
15
|
+
* (`telemetry:read` / `telemetry:write`)
|
|
16
|
+
* - `GET /admin/telemetry/stack`, `POST …/stack/deploy`
|
|
17
|
+
* (`system_settings:read` / `system_settings:write`)
|
|
18
|
+
* - `POST /admin/telemetry/query`, `GET …/schema`, `POST …/export`
|
|
19
|
+
* (`telemetry:query`)
|
|
20
|
+
* - `POST /admin/telemetry/assistant/stream` (`telemetry:query` + `ai:use`)
|
|
21
|
+
* - `GET /admin/telemetry/dashboard/*` (`telemetry:query`)
|
|
22
|
+
*
|
|
23
|
+
* The browser only presents and collects. Whether a statement is read-only,
|
|
24
|
+
* how many rows it may return and how long it may run are decided by the API.
|
|
25
|
+
*/
|
|
26
|
+
import { useMemo } from 'react';
|
|
27
|
+
import { usePlatformApi } from '../../../core/index.js';
|
|
28
|
+
import { downloadBlob, filenameFromContentDisposition, telemetryExportFilename, } from './telemetry.js';
|
|
29
|
+
import { dashboardSearchParams } from './telemetryDashboard.js';
|
|
30
|
+
const DASHBOARD = '/admin/telemetry/dashboard';
|
|
31
|
+
function ifMatch(expectedVersion) {
|
|
32
|
+
return expectedVersion === undefined ? {} : { ifMatch: String(expectedVersion) };
|
|
33
|
+
}
|
|
34
|
+
function signalOf(options) {
|
|
35
|
+
return options?.signal === undefined ? {} : { signal: options.signal };
|
|
36
|
+
}
|
|
37
|
+
/** An older API sends no `report`; a newer one may send `null`. Both read as `null`. */
|
|
38
|
+
function normalizeAssistantAnswer(payload) {
|
|
39
|
+
const answer = payload;
|
|
40
|
+
const report = answer.report;
|
|
41
|
+
return {
|
|
42
|
+
...answer,
|
|
43
|
+
report: report && typeof report === 'object' ? report : null,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The telemetry routes over the app's transport.
|
|
48
|
+
*
|
|
49
|
+
* @param api - the app's transport (`usePlatformApi()`, or any `PlatformApiClient`).
|
|
50
|
+
* @returns a {@link TelemetryClient}.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* const telemetry = createTelemetryClient(host.api);
|
|
55
|
+
* const status = await telemetry.getTelemetryStatus();
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @stability experimental
|
|
59
|
+
*/
|
|
60
|
+
export function createTelemetryClient(api) {
|
|
61
|
+
return {
|
|
62
|
+
getTelemetryConfig: () => api.get('/telemetry/config'),
|
|
63
|
+
getTelemetryAdminConfig: () => api.get('/admin/telemetry/config'),
|
|
64
|
+
updateTelemetryAdminConfig: (settings, expectedVersion) => api.put('/admin/telemetry/config', settings, ifMatch(expectedVersion)),
|
|
65
|
+
getTelemetryStatus: () => api.get('/admin/telemetry/status'),
|
|
66
|
+
getTelemetryConnection: () => api.get('/admin/telemetry/connection'),
|
|
67
|
+
updateTelemetryConnection: (input, expectedVersion) => api.put('/admin/telemetry/connection', input, ifMatch(expectedVersion)),
|
|
68
|
+
resetTelemetryConnection: (expectedVersion) => api.delete('/admin/telemetry/connection', ifMatch(expectedVersion)),
|
|
69
|
+
testTelemetryConnection: (input) => api.post('/admin/telemetry/connection/test', input),
|
|
70
|
+
getTelemetryStack: () => api.get('/admin/telemetry/stack'),
|
|
71
|
+
deployTelemetryStack: () => api.post('/admin/telemetry/stack/deploy'),
|
|
72
|
+
runTelemetryQuery: (sql, options = {}) => {
|
|
73
|
+
const body = { sql };
|
|
74
|
+
if (options.maxRows !== undefined)
|
|
75
|
+
body.maxRows = options.maxRows;
|
|
76
|
+
return api.post('/admin/telemetry/query', body, signalOf(options));
|
|
77
|
+
},
|
|
78
|
+
getTelemetrySchema: () => api.get('/admin/telemetry/schema'),
|
|
79
|
+
exportTelemetry: async (sql, format) => {
|
|
80
|
+
if (!api.postBlob) {
|
|
81
|
+
throw new Error('The platform host transport has no postBlob, so the telemetry export cannot download.');
|
|
82
|
+
}
|
|
83
|
+
const { blob, headers } = await api.postBlob('/admin/telemetry/export', { sql, format });
|
|
84
|
+
const filename = filenameFromContentDisposition(headers.get('Content-Disposition')) ?? telemetryExportFilename(format);
|
|
85
|
+
downloadBlob(blob, filename);
|
|
86
|
+
const rawCount = headers.get('X-Telemetry-Row-Count');
|
|
87
|
+
const rowCount = rawCount !== null && rawCount.trim() !== '' ? Number(rawCount) : null;
|
|
88
|
+
return {
|
|
89
|
+
filename,
|
|
90
|
+
rowCount: rowCount !== null && Number.isFinite(rowCount) ? rowCount : null,
|
|
91
|
+
truncated: (headers.get('X-Telemetry-Truncated') ?? '').toLowerCase() === 'true',
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
streamTelemetryAssistant: async (request, handlers = {}) => {
|
|
95
|
+
if (!api.postSse) {
|
|
96
|
+
throw new Error('The platform host transport has no postSse, so the telemetry assistant cannot stream.');
|
|
97
|
+
}
|
|
98
|
+
await api.postSse('/admin/telemetry/assistant/stream', request, {
|
|
99
|
+
...signalOf(handlers),
|
|
100
|
+
onFrame: (eventName, data) => {
|
|
101
|
+
const payload = (typeof data === 'object' && data !== null ? data : {});
|
|
102
|
+
switch (eventName) {
|
|
103
|
+
case 'step':
|
|
104
|
+
handlers.onStep?.(payload);
|
|
105
|
+
break;
|
|
106
|
+
case 'answer':
|
|
107
|
+
handlers.onAnswer?.(normalizeAssistantAnswer(payload));
|
|
108
|
+
break;
|
|
109
|
+
case 'error':
|
|
110
|
+
handlers.onError?.({
|
|
111
|
+
code: String(payload.code ?? 'ERROR'),
|
|
112
|
+
message: String(payload.message ?? 'The assistant failed'),
|
|
113
|
+
});
|
|
114
|
+
break;
|
|
115
|
+
default:
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
getDashboardSummary: (query, options) => api.get(`${DASHBOARD}/summary?${dashboardSearchParams(query)}`, signalOf(options)),
|
|
122
|
+
getDashboardTimeseries: (panel, query, options) => api.get(`${DASHBOARD}/timeseries?${dashboardSearchParams(query, { panel })}`, signalOf(options)),
|
|
123
|
+
getDashboardTop: (kind, query, options) => api.get(`${DASHBOARD}/top?${dashboardSearchParams(query, { kind })}`, signalOf(options)),
|
|
124
|
+
getDashboardEvents: (query, options) => api.get(`${DASHBOARD}/events?${dashboardSearchParams(query)}`, signalOf(options)),
|
|
125
|
+
getDashboardFilters: (query, options) => api.get(`${DASHBOARD}/filters?${dashboardSearchParams(query)}`, signalOf(options)),
|
|
126
|
+
getDashboardMetrics: (group, query, options) => api.get(`${DASHBOARD}/metrics?${dashboardSearchParams(query, { group })}`, signalOf(options)),
|
|
127
|
+
getDashboardMetricGroups: (options) => api.get(`${DASHBOARD}/metric-groups`, signalOf(options)),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The telemetry client over the platform host's transport, memoised on it (a
|
|
132
|
+
* stable transport gives a stable client, so hooks keyed on it never refetch
|
|
133
|
+
* on a re-render).
|
|
134
|
+
*
|
|
135
|
+
* @returns a {@link TelemetryClient}.
|
|
136
|
+
* @throws Error outside a `PlatformHostProvider`.
|
|
137
|
+
*
|
|
138
|
+
* @stability experimental
|
|
139
|
+
*/
|
|
140
|
+
export function useTelemetryClient() {
|
|
141
|
+
const api = usePlatformApi();
|
|
142
|
+
return useMemo(() => createTelemetryClient(api), [api]);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/telemetry/headless/services/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telemetry API client (issue #537, epic #528).
|
|
3
|
+
*
|
|
4
|
+
* The routes this client calls (epic #528):
|
|
5
|
+
*
|
|
6
|
+
* - `GET /telemetry/config` (#534, any signed-in user)
|
|
7
|
+
* - `GET /admin/telemetry/config` (#534, `telemetry:read`)
|
|
8
|
+
* - `PUT /admin/telemetry/config` (#534, `telemetry:write`, If-Match)
|
|
9
|
+
* - `GET /admin/telemetry/status` (#534, `telemetry:read`)
|
|
10
|
+
* - `POST /admin/telemetry/query` (#535, `telemetry:query`)
|
|
11
|
+
* - `GET /admin/telemetry/schema` (#535, `telemetry:query`)
|
|
12
|
+
* - `POST /admin/telemetry/export` (#535, `telemetry:query`)
|
|
13
|
+
* - `POST /admin/telemetry/assistant/stream` (#536, `telemetry:query` + `ai:use`)
|
|
14
|
+
*
|
|
15
|
+
* The browser only presents and collects. Whether a statement is read-only,
|
|
16
|
+
* how many rows it may return and how long it may run are decided by the API;
|
|
17
|
+
* the SQL typed here is sent verbatim and the server's guard is the gate.
|
|
18
|
+
*
|
|
19
|
+
* THE WIRE SHAPES ARE `@marinoscar/platform-contract/telemetry` (#702): the
|
|
20
|
+
* same zod schemas the API's DTOs wrap. This file aliases the contract's types
|
|
21
|
+
* to the names the components already use, and re-exports its zod-free
|
|
22
|
+
* constants. Types are imported with `import type` and values come from the
|
|
23
|
+
* contract's constants module only, so zod never reaches the bundle
|
|
24
|
+
* (`"sideEffects": false`). Where a web type deliberately differs from the
|
|
25
|
+
* wire (looser, for a server ahead of or behind this build, or narrower, for
|
|
26
|
+
* a form), it is derived from the contract type, says why, and
|
|
27
|
+
* `src/__tests__/services/telemetryContract.test.ts` pins the relation.
|
|
28
|
+
*/
|
|
29
|
+
import { TELEMETRY_CONNECTION_DEFAULTS, TELEMETRY_CONNECTION_SOURCES, TELEMETRY_EXPORT_FORMATS as TELEMETRY_EXPORT_WIRE_FORMATS, TELEMETRY_INSTANCE_ID_PATTERN, TELEMETRY_LIMITS, TELEMETRY_SQL_MAX_LENGTH } from '@marinoscar/platform-contract/telemetry';
|
|
30
|
+
import type { TelemetryAssistantAnswerEvent, TelemetryAssistantConfidence, TelemetryAssistantFinding, TelemetryAssistantQuery, TelemetryAssistantReport as ContractTelemetryAssistantReport, TelemetryAssistantReportStatus, TelemetryAssistantRequest as ContractTelemetryAssistantRequest, TelemetryAssistantSeverity, TelemetryAssistantStepEvent, TelemetryAssistantToolName, TelemetryAssistantTurn as ContractTelemetryAssistantTurn, TelemetryColumn as ContractTelemetryColumn, TelemetryColumnType as ContractTelemetryColumnType, TelemetryConfigResponse, TelemetryConnectionHostMode as ContractTelemetryConnectionHostMode, TelemetryConnectionProbe as ContractTelemetryConnectionProbe, TelemetryConnectionResponse, TelemetryConnectionSkipped as ContractTelemetryConnectionSkipped, TelemetryConnectionSource as ContractTelemetryConnectionSource, TelemetryConnectionTestResult as ContractTelemetryConnectionTestResult, TelemetryCredentialStatus as ContractTelemetryCredentialStatus, TelemetryDeploymentConnection as ContractTelemetryDeploymentConnection, TelemetryExportFormat as ContractTelemetryExportFormat, TelemetryPublicConfig as ContractTelemetryPublicConfig, TelemetryQueryResult as ContractTelemetryQueryResult, TelemetrySchema as ContractTelemetrySchema, TelemetrySchemaColumn as ContractTelemetrySchemaColumn, TelemetrySchemaTable as ContractTelemetrySchemaTable, TelemetrySemanticType as ContractTelemetrySemanticType, TelemetrySettings as ContractTelemetrySettings, TelemetryStackAgentState, TelemetryStackDeploy as ContractTelemetryStackDeploy, TelemetryStackService as ContractTelemetryStackService, TelemetryStackServiceHealth as ContractTelemetryStackServiceHealth, TelemetryStackServiceState as ContractTelemetryStackServiceState, TelemetryStackStatus, TelemetryStatus as ContractTelemetryStatus, UpdateTelemetryConfigInput } from '@marinoscar/platform-contract/telemetry';
|
|
31
|
+
import type { TelemetryStackDeployStatus } from '@marinoscar/platform-contract/telemetry';
|
|
32
|
+
/**
|
|
33
|
+
* `GET /telemetry/config` — the feature flag every signed-in client reads.
|
|
34
|
+
*
|
|
35
|
+
* @stability experimental
|
|
36
|
+
*/
|
|
37
|
+
export type TelemetryPublicConfig = ContractTelemetryPublicConfig;
|
|
38
|
+
/**
|
|
39
|
+
* The stored `telemetry` settings namespace — the `PUT` body, verbatim.
|
|
40
|
+
*
|
|
41
|
+
* @stability experimental
|
|
42
|
+
*/
|
|
43
|
+
export type TelemetrySettings = ContractTelemetrySettings;
|
|
44
|
+
/**
|
|
45
|
+
* `GET /admin/telemetry/config` — the settings plus provenance.
|
|
46
|
+
*
|
|
47
|
+
* @stability experimental
|
|
48
|
+
*/
|
|
49
|
+
export type TelemetryAdminConfig = TelemetryConfigResponse;
|
|
50
|
+
/**
|
|
51
|
+
* `GET /admin/telemetry/status` — a diagnosis, always 200.
|
|
52
|
+
*
|
|
53
|
+
* @stability experimental
|
|
54
|
+
*/
|
|
55
|
+
export type TelemetryStatus = ContractTelemetryStatus;
|
|
56
|
+
/** The bounds of every numeric setting; the settings schema is built from them. */
|
|
57
|
+
export { TELEMETRY_LIMITS };
|
|
58
|
+
/**
|
|
59
|
+
* `telemetry.instanceId`'s pattern: 1-63 characters, lowercase letters,
|
|
60
|
+
* digits, `.`, `_` or `-`, starting with a letter or digit. A convenience for
|
|
61
|
+
* inline feedback — the API is the gate.
|
|
62
|
+
*/
|
|
63
|
+
export { TELEMETRY_INSTANCE_ID_PATTERN };
|
|
64
|
+
/**
|
|
65
|
+
* The `PUT /admin/telemetry/config` body: the stored namespace, except that
|
|
66
|
+
* `instanceId` may be omitted (absent keeps the stored value, `null` resets it
|
|
67
|
+
* to the default, a string overrides it).
|
|
68
|
+
*
|
|
69
|
+
* @stability experimental
|
|
70
|
+
*/
|
|
71
|
+
export type TelemetrySettingsUpdate = UpdateTelemetryConfigInput;
|
|
72
|
+
export { TELEMETRY_CONNECTION_SOURCES };
|
|
73
|
+
/**
|
|
74
|
+
* Where the connection in force comes from: the stored (admin UI) connection, the deployment default (environment) or none.
|
|
75
|
+
*
|
|
76
|
+
* @stability experimental
|
|
77
|
+
*/
|
|
78
|
+
export type TelemetryConnectionSource = ContractTelemetryConnectionSource;
|
|
79
|
+
/**
|
|
80
|
+
* How the connection names its host: `auto` (the GreptimeDB deployed with this application) or `custom`.
|
|
81
|
+
*
|
|
82
|
+
* @stability experimental
|
|
83
|
+
*/
|
|
84
|
+
export type TelemetryConnectionHostMode = ContractTelemetryConnectionHostMode;
|
|
85
|
+
/** GreptimeDB's Postgres-wire port and database when nothing says otherwise. */
|
|
86
|
+
export { TELEMETRY_CONNECTION_DEFAULTS };
|
|
87
|
+
/**
|
|
88
|
+
* Masked, non-secret facts about one password. Never the password.
|
|
89
|
+
*
|
|
90
|
+
* @stability experimental
|
|
91
|
+
*/
|
|
92
|
+
export type TelemetryCredentialStatus = ContractTelemetryCredentialStatus;
|
|
93
|
+
/**
|
|
94
|
+
* The GreptimeDB deployed with this application, as the deployment describes
|
|
95
|
+
* it (issue #570). What an automatic host uses. Non-secret: never a password.
|
|
96
|
+
*
|
|
97
|
+
* @stability experimental
|
|
98
|
+
*/
|
|
99
|
+
export type TelemetryDeploymentConnection = ContractTelemetryDeploymentConnection;
|
|
100
|
+
/**
|
|
101
|
+
* `GET /admin/telemetry/connection` (and the `PUT` / `DELETE` responses).
|
|
102
|
+
*
|
|
103
|
+
* @stability experimental
|
|
104
|
+
*/
|
|
105
|
+
export type TelemetryConnection = TelemetryConnectionResponse;
|
|
106
|
+
/**
|
|
107
|
+
* AUTOMATIC: the GreptimeDB deployed with this application. The deployment
|
|
108
|
+
* supplies everything else, so nothing else is sent (#570).
|
|
109
|
+
*
|
|
110
|
+
* @stability experimental
|
|
111
|
+
*/
|
|
112
|
+
export interface TelemetryConnectionAutomaticInput {
|
|
113
|
+
/** No host: the deployment supplies the connection. */
|
|
114
|
+
host: null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* CUSTOM: an external GreptimeDB. An omitted (or empty) password KEEPS the
|
|
118
|
+
* stored one on save, and means "the connection in force's password" on test.
|
|
119
|
+
*
|
|
120
|
+
* @stability experimental
|
|
121
|
+
*/
|
|
122
|
+
export interface TelemetryConnectionCustomInput {
|
|
123
|
+
/** The external GreptimeDB's hostname or IP address. */
|
|
124
|
+
host: string;
|
|
125
|
+
/** Omitted: 4003. */
|
|
126
|
+
pgPort?: number;
|
|
127
|
+
/** Omitted: `public`. */
|
|
128
|
+
database?: string;
|
|
129
|
+
/** The read-only login the explorer and dashboard query with. */
|
|
130
|
+
readerUser: string;
|
|
131
|
+
/** The reader's password. Write-only; omitted or empty keeps the stored one. */
|
|
132
|
+
readerPassword?: string;
|
|
133
|
+
/** Null: no admin login (a stored admin password is deleted). */
|
|
134
|
+
adminUser: string | null;
|
|
135
|
+
/** The admin login's password. Write-only; omitted or empty keeps the stored one. */
|
|
136
|
+
adminPassword?: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The `PUT` / `POST …/test` body. INTENTIONALLY NARROWER than the contract's
|
|
140
|
+
* request schema (one object whose fields are all optional): the form sends
|
|
141
|
+
* exactly one of the two shapes the API distinguishes. Each variant is
|
|
142
|
+
* assignable to the contract's input type (pinned in telemetryContract.test.ts).
|
|
143
|
+
*
|
|
144
|
+
* @stability experimental
|
|
145
|
+
*/
|
|
146
|
+
export type TelemetryConnectionInput = TelemetryConnectionAutomaticInput | TelemetryConnectionCustomInput;
|
|
147
|
+
/**
|
|
148
|
+
* One probe of a connection test (reader or admin login): whether it connected, and why not.
|
|
149
|
+
*
|
|
150
|
+
* @stability experimental
|
|
151
|
+
*/
|
|
152
|
+
export type TelemetryConnectionProbe = ContractTelemetryConnectionProbe;
|
|
153
|
+
/**
|
|
154
|
+
* A probe the connection test did not run: the admin probe when the candidate has no admin login.
|
|
155
|
+
*
|
|
156
|
+
* @stability experimental
|
|
157
|
+
*/
|
|
158
|
+
export type TelemetryConnectionSkipped = ContractTelemetryConnectionSkipped;
|
|
159
|
+
/**
|
|
160
|
+
* `POST /admin/telemetry/connection/test` — a diagnosis, always 200.
|
|
161
|
+
*
|
|
162
|
+
* @stability experimental
|
|
163
|
+
*/
|
|
164
|
+
export type TelemetryConnectionTestResult = ContractTelemetryConnectionTestResult;
|
|
165
|
+
/**
|
|
166
|
+
* Whether a connection-test probe was skipped rather than run.
|
|
167
|
+
*
|
|
168
|
+
* @param probe - one probe of a {@link TelemetryConnectionTestResult}.
|
|
169
|
+
* @returns `true` for a skipped probe.
|
|
170
|
+
*
|
|
171
|
+
* @stability experimental
|
|
172
|
+
*/
|
|
173
|
+
export declare function isTelemetryProbeSkipped(probe: TelemetryConnectionProbe | TelemetryConnectionSkipped): probe is TelemetryConnectionSkipped;
|
|
174
|
+
/**
|
|
175
|
+
* Whether the API can reach the deployment agent that manages the containers.
|
|
176
|
+
*
|
|
177
|
+
* @stability experimental
|
|
178
|
+
*/
|
|
179
|
+
export type TelemetryStackAgent = TelemetryStackAgentState;
|
|
180
|
+
/**
|
|
181
|
+
* The services the API reports today (it may add one: see {@link TelemetryStackService}).
|
|
182
|
+
*
|
|
183
|
+
* @stability experimental
|
|
184
|
+
*/
|
|
185
|
+
export type TelemetryStackServiceName = 'greptimedb' | 'otel-collector';
|
|
186
|
+
/**
|
|
187
|
+
* A telemetry container's state as the deployment agent reports it (`running`, `exited`, ...).
|
|
188
|
+
*
|
|
189
|
+
* @stability experimental
|
|
190
|
+
*/
|
|
191
|
+
export type TelemetryStackServiceState = ContractTelemetryStackServiceState;
|
|
192
|
+
/**
|
|
193
|
+
* A telemetry container's health check result, when it has one.
|
|
194
|
+
*
|
|
195
|
+
* @stability experimental
|
|
196
|
+
*/
|
|
197
|
+
export type TelemetryStackServiceHealth = ContractTelemetryStackServiceHealth;
|
|
198
|
+
/**
|
|
199
|
+
* One telemetry container. INTENTIONALLY LOOSER than the wire: `name` and
|
|
200
|
+
* `state` are typed open-ended so a service or state the API adds later still
|
|
201
|
+
* renders. The contract's type is assignable to it.
|
|
202
|
+
*
|
|
203
|
+
* @stability experimental
|
|
204
|
+
*/
|
|
205
|
+
export type TelemetryStackService = Omit<ContractTelemetryStackService, 'name' | 'state'> & {
|
|
206
|
+
/** The service name (`greptimedb`, `otel-collector`, or one the API adds later). */
|
|
207
|
+
name: TelemetryStackServiceName | (string & {});
|
|
208
|
+
/** The container state (open-ended, so a new state still renders). */
|
|
209
|
+
state: TelemetryStackServiceState | (string & {});
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* The latest deploy job. INTENTIONALLY LOOSER than the wire: `status` is the
|
|
213
|
+
* queue's own (`JOB_STATUSES` in `services/jobs.ts`), open-ended. The
|
|
214
|
+
* contract's type is assignable to it.
|
|
215
|
+
*
|
|
216
|
+
* @stability experimental
|
|
217
|
+
*/
|
|
218
|
+
export type TelemetryStackDeploy = Omit<ContractTelemetryStackDeploy, 'status'> & {
|
|
219
|
+
/** The deploy job's queue status (open-ended). */
|
|
220
|
+
status: TelemetryStackDeployStatus | (string & {});
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* `GET /admin/telemetry/stack`, with the looser {@link TelemetryStackService}
|
|
224
|
+
* and {@link TelemetryStackDeploy}. `agentError` is the deployment agent's own
|
|
225
|
+
* secret-free message when `agent` is `unavailable` or `unauthorized`.
|
|
226
|
+
*
|
|
227
|
+
* @stability experimental
|
|
228
|
+
*/
|
|
229
|
+
export type TelemetryStack = Omit<TelemetryStackStatus, 'services' | 'deploy'> & {
|
|
230
|
+
/** The telemetry containers. */
|
|
231
|
+
services: TelemetryStackService[];
|
|
232
|
+
/** The latest deploy job, or `null` when none ran. */
|
|
233
|
+
deploy: TelemetryStackDeploy | null;
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* The PostgreSQL-wire type name: `bool`, `int2`, `int4`, `int8`, `float4`,
|
|
237
|
+
* `float8`, `numeric`, `text`, `bytea`, `date`, `time`, `timestamp`, `json`
|
|
238
|
+
* or `unknown`. `int8` and `numeric` VALUES arrive as strings (no precision
|
|
239
|
+
* loss in JSON). Timestamps are truncated to microseconds by the wire
|
|
240
|
+
* protocol — `CAST(ts AS STRING)` keeps nanoseconds.
|
|
241
|
+
*
|
|
242
|
+
* @stability experimental
|
|
243
|
+
*/
|
|
244
|
+
export type TelemetryColumnType = ContractTelemetryColumnType;
|
|
245
|
+
/**
|
|
246
|
+
* A result column. INTENTIONALLY LOOSER than the wire: `type` is open-ended
|
|
247
|
+
* so a new wire type never breaks the grid. The contract's type is assignable
|
|
248
|
+
* to it.
|
|
249
|
+
*
|
|
250
|
+
* @stability experimental
|
|
251
|
+
*/
|
|
252
|
+
export type TelemetryColumn = Omit<ContractTelemetryColumn, 'type'> & {
|
|
253
|
+
/** A {@link TelemetryColumnType}; typed loosely so a new one never breaks the grid. */
|
|
254
|
+
type: TelemetryColumnType | (string & {});
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* GreptimeDB's role for a schema column.
|
|
258
|
+
*
|
|
259
|
+
* @stability experimental
|
|
260
|
+
*/
|
|
261
|
+
export type TelemetrySemanticType = ContractTelemetrySemanticType;
|
|
262
|
+
/**
|
|
263
|
+
* A schema column. INTENTIONALLY LOOSER than the wire (whose `semanticType`
|
|
264
|
+
* is a nullable string): `semanticType` names the three roles GreptimeDB
|
|
265
|
+
* reports and may be absent. The contract's type is assignable to it.
|
|
266
|
+
*
|
|
267
|
+
* @stability experimental
|
|
268
|
+
*/
|
|
269
|
+
export type TelemetrySchemaColumn = Omit<ContractTelemetrySchemaColumn, 'semanticType' | 'type'> & {
|
|
270
|
+
/** The PostgreSQL-wire type name (open-ended). */
|
|
271
|
+
type: TelemetryColumn['type'];
|
|
272
|
+
/** GreptimeDB's role for the column (`TAG`, `FIELD`, `TIMESTAMP`), when known. */
|
|
273
|
+
semanticType?: TelemetrySemanticType | (string & {}) | null;
|
|
274
|
+
};
|
|
275
|
+
/**
|
|
276
|
+
* The longest statement `POST /admin/telemetry/query` accepts. The API
|
|
277
|
+
* enforces it; the browser uses it only to ignore an oversized SQL handoff
|
|
278
|
+
* into the explorer (#579).
|
|
279
|
+
*/
|
|
280
|
+
export { TELEMETRY_SQL_MAX_LENGTH };
|
|
281
|
+
/**
|
|
282
|
+
* `POST /admin/telemetry/query`. Rows are POSITIONAL: names can repeat. Columns as {@link TelemetryColumn}.
|
|
283
|
+
*
|
|
284
|
+
* @stability experimental
|
|
285
|
+
*/
|
|
286
|
+
export type TelemetryQueryResult = Omit<ContractTelemetryQueryResult, 'columns'> & {
|
|
287
|
+
/** The result columns, positional. */
|
|
288
|
+
columns: TelemetryColumn[];
|
|
289
|
+
};
|
|
290
|
+
/**
|
|
291
|
+
* One table of `GET /admin/telemetry/schema`, with the looser {@link TelemetrySchemaColumn}.
|
|
292
|
+
*
|
|
293
|
+
* @stability experimental
|
|
294
|
+
*/
|
|
295
|
+
export type TelemetrySchemaTable = Omit<ContractTelemetrySchemaTable, 'columns'> & {
|
|
296
|
+
/** The table's columns. */
|
|
297
|
+
columns: TelemetrySchemaColumn[];
|
|
298
|
+
};
|
|
299
|
+
/**
|
|
300
|
+
* `GET /admin/telemetry/schema`, with the looser {@link TelemetrySchemaTable}.
|
|
301
|
+
*
|
|
302
|
+
* @stability experimental
|
|
303
|
+
*/
|
|
304
|
+
export type TelemetrySchema = Omit<ContractTelemetrySchema, 'tables'> & {
|
|
305
|
+
/** The tables the reader login may query. */
|
|
306
|
+
tables: TelemetrySchemaTable[];
|
|
307
|
+
};
|
|
308
|
+
/**
|
|
309
|
+
* An export format of `POST /admin/telemetry/export` (the wire enum).
|
|
310
|
+
*
|
|
311
|
+
* @stability experimental
|
|
312
|
+
*/
|
|
313
|
+
export type TelemetryExportFormat = ContractTelemetryExportFormat;
|
|
314
|
+
/**
|
|
315
|
+
* The export formats in MENU order (CSV, Excel, Parquet, NDJSON), which is
|
|
316
|
+
* not the wire enum's order (`csv, ndjson, xlsx, parquet`): a display list
|
|
317
|
+
* over the contract's `TELEMETRY_EXPORT_FORMATS`, holding exactly its values
|
|
318
|
+
* (pinned in telemetryContract.test.ts).
|
|
319
|
+
*
|
|
320
|
+
* @stability experimental
|
|
321
|
+
*/
|
|
322
|
+
export declare const TELEMETRY_EXPORT_MENU_ORDER: readonly ["csv", "xlsx", "parquet", "ndjson"];
|
|
323
|
+
/**
|
|
324
|
+
* The export menu's formats, in menu order: {@link TELEMETRY_EXPORT_MENU_ORDER}.
|
|
325
|
+
*
|
|
326
|
+
* @stability experimental
|
|
327
|
+
*/
|
|
328
|
+
export declare const TELEMETRY_EXPORT_FORMATS: readonly ["csv", "xlsx", "parquet", "ndjson"];
|
|
329
|
+
/** The wire enum of export formats, in its own order. */
|
|
330
|
+
export { TELEMETRY_EXPORT_WIRE_FORMATS };
|
|
331
|
+
/**
|
|
332
|
+
* The export menu's label of each format.
|
|
333
|
+
*
|
|
334
|
+
* @stability experimental
|
|
335
|
+
*/
|
|
336
|
+
export declare const TELEMETRY_EXPORT_LABELS: Record<TelemetryExportFormat, string>;
|
|
337
|
+
/**
|
|
338
|
+
* The telemetry REASONS the explorer routes answer with. The envelope's
|
|
339
|
+
* `code` is derived from the HTTP status; the reason is `details.reason`
|
|
340
|
+
* (read it with {@link telemetryErrorReason}).
|
|
341
|
+
*
|
|
342
|
+
* @stability experimental
|
|
343
|
+
*/
|
|
344
|
+
export declare const TELEMETRY_ERROR_REASONS: readonly ["TELEMETRY_NOT_CONFIGURED", "TELEMETRY_UNREACHABLE", "TELEMETRY_DISABLED", "TELEMETRY_QUERY_REJECTED", "TELEMETRY_QUERY_FAILED", "TELEMETRY_QUERY_TIMEOUT", "TELEMETRY_ASSISTANT_DISABLED"];
|
|
345
|
+
/**
|
|
346
|
+
* One of {@link TELEMETRY_ERROR_REASONS}.
|
|
347
|
+
*
|
|
348
|
+
* @stability experimental
|
|
349
|
+
*/
|
|
350
|
+
export type TelemetryErrorReason = (typeof TELEMETRY_ERROR_REASONS)[number];
|
|
351
|
+
/**
|
|
352
|
+
* `details.reason` of a telemetry API error, or `null`.
|
|
353
|
+
*
|
|
354
|
+
* @stability experimental
|
|
355
|
+
*/
|
|
356
|
+
export declare function telemetryErrorReason(err: unknown): string | null;
|
|
357
|
+
/**
|
|
358
|
+
* `telemetry-<timestamp>.<ext>` — what the server's Content-Disposition names it too.
|
|
359
|
+
*
|
|
360
|
+
* @stability experimental
|
|
361
|
+
*/
|
|
362
|
+
export declare function telemetryExportFilename(format: TelemetryExportFormat, now?: Date): string;
|
|
363
|
+
/**
|
|
364
|
+
* Hand a Blob to the browser as a download (object URL + anchor + revoke).
|
|
365
|
+
*
|
|
366
|
+
* @stability experimental
|
|
367
|
+
*/
|
|
368
|
+
export declare function downloadBlob(blob: Blob, filename: string): boolean;
|
|
369
|
+
/**
|
|
370
|
+
* The filename from a `Content-Disposition` header (`filename*=UTF-8''…` or
|
|
371
|
+
* `filename="…"` / `filename=…`), or `null`. Path separators are stripped.
|
|
372
|
+
*
|
|
373
|
+
* @stability experimental
|
|
374
|
+
*/
|
|
375
|
+
export declare function filenameFromContentDisposition(header: string | null): string | null;
|
|
376
|
+
/**
|
|
377
|
+
* What {@link TelemetryClient.exportTelemetry} resolves with.
|
|
378
|
+
*
|
|
379
|
+
* @stability experimental
|
|
380
|
+
*/
|
|
381
|
+
export interface TelemetryExportResult {
|
|
382
|
+
/** The downloaded file's name. */
|
|
383
|
+
filename: string;
|
|
384
|
+
/** `X-Telemetry-Row-Count`, or `null` when absent. */
|
|
385
|
+
rowCount: number | null;
|
|
386
|
+
/** `X-Telemetry-Truncated: true` — the export hit the row cap. */
|
|
387
|
+
truncated: boolean;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* A tool the troubleshooting assistant may call (the wire enum).
|
|
391
|
+
*
|
|
392
|
+
* @stability experimental
|
|
393
|
+
*/
|
|
394
|
+
export type TelemetryAssistantTool = TelemetryAssistantToolName;
|
|
395
|
+
/**
|
|
396
|
+
* `event: step`. INTENTIONALLY LOOSER than the wire: `tool` is open-ended so
|
|
397
|
+
* a tool the API adds later still renders. The contract's type is assignable
|
|
398
|
+
* to it.
|
|
399
|
+
*
|
|
400
|
+
* @stability experimental
|
|
401
|
+
*/
|
|
402
|
+
export type TelemetryAssistantStep = Omit<TelemetryAssistantStepEvent, 'tool'> & {
|
|
403
|
+
/** The tool the step called (open-ended, so a new tool still renders). */
|
|
404
|
+
tool: TelemetryAssistantTool | string;
|
|
405
|
+
};
|
|
406
|
+
/**
|
|
407
|
+
* Whether the assistant's report found an issue, found none, was inconclusive or had no data.
|
|
408
|
+
*
|
|
409
|
+
* @stability experimental
|
|
410
|
+
*/
|
|
411
|
+
export type TelemetryReportStatus = TelemetryAssistantReportStatus;
|
|
412
|
+
/**
|
|
413
|
+
* A finding's severity in the assistant's report.
|
|
414
|
+
*
|
|
415
|
+
* @stability experimental
|
|
416
|
+
*/
|
|
417
|
+
export type TelemetryFindingSeverity = TelemetryAssistantSeverity;
|
|
418
|
+
/**
|
|
419
|
+
* How sure the assistant is of a finding or a report.
|
|
420
|
+
*
|
|
421
|
+
* @stability experimental
|
|
422
|
+
*/
|
|
423
|
+
export type TelemetryReportConfidence = TelemetryAssistantConfidence;
|
|
424
|
+
/**
|
|
425
|
+
* One finding of the assistant's report: what, why, evidence and next step.
|
|
426
|
+
*
|
|
427
|
+
* @stability experimental
|
|
428
|
+
*/
|
|
429
|
+
export type TelemetryReportFinding = TelemetryAssistantFinding;
|
|
430
|
+
/**
|
|
431
|
+
* A query the assistant ran, with its SQL and what it showed.
|
|
432
|
+
*
|
|
433
|
+
* @stability experimental
|
|
434
|
+
*/
|
|
435
|
+
export type TelemetryReportQuery = TelemetryAssistantQuery;
|
|
436
|
+
/**
|
|
437
|
+
* The troubleshooting agent's structured report (#571).
|
|
438
|
+
*
|
|
439
|
+
* @stability experimental
|
|
440
|
+
*/
|
|
441
|
+
export type TelemetryAssistantReport = ContractTelemetryAssistantReport;
|
|
442
|
+
/**
|
|
443
|
+
* `event: answer`. INTENTIONALLY LOOSER than the wire: `report` may be absent
|
|
444
|
+
* (an older API sends none; the stream client normalizes it to `null`). The
|
|
445
|
+
* contract's type is assignable to it.
|
|
446
|
+
*
|
|
447
|
+
* @stability experimental
|
|
448
|
+
*/
|
|
449
|
+
export type TelemetryAssistantAnswer = Omit<TelemetryAssistantAnswerEvent, 'report'> & {
|
|
450
|
+
/** `null` when the model gave no parseable report; absent on an older API. */
|
|
451
|
+
report?: TelemetryAssistantReport | null;
|
|
452
|
+
};
|
|
453
|
+
/**
|
|
454
|
+
* One earlier turn sent back as context (`role` plus `content`).
|
|
455
|
+
*
|
|
456
|
+
* @stability experimental
|
|
457
|
+
*/
|
|
458
|
+
export type TelemetryAssistantTurn = ContractTelemetryAssistantTurn;
|
|
459
|
+
/**
|
|
460
|
+
* The request body: `question` (1..4000 characters) and at most 20 `history` turns.
|
|
461
|
+
*
|
|
462
|
+
* @stability experimental
|
|
463
|
+
*/
|
|
464
|
+
export type TelemetryAssistantRequest = ContractTelemetryAssistantRequest;
|
|
465
|
+
/**
|
|
466
|
+
* What {@link TelemetryClient.streamTelemetryAssistant} calls as the stream arrives.
|
|
467
|
+
*
|
|
468
|
+
* @stability experimental
|
|
469
|
+
*/
|
|
470
|
+
export interface TelemetryAssistantHandlers {
|
|
471
|
+
/** A tool step (`event: step`). */
|
|
472
|
+
onStep?: (step: TelemetryAssistantStep) => void;
|
|
473
|
+
/** The final answer (`event: answer`). */
|
|
474
|
+
onAnswer?: (answer: TelemetryAssistantAnswer) => void;
|
|
475
|
+
/** A failure after streaming began (`event: error`). */
|
|
476
|
+
onError?: (error: {
|
|
477
|
+
code: string;
|
|
478
|
+
message: string;
|
|
479
|
+
}) => void;
|
|
480
|
+
/** Aborts the stream; the call then resolves quietly. */
|
|
481
|
+
signal?: AbortSignal;
|
|
482
|
+
}
|
|
483
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/headless/services/telemetry.ts"],"names":[],"mappings":"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"}
|