@oneuptime/common 13.0.3 → 13.0.5
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/Models/DatabaseModels/Index.ts +4 -0
- package/Models/DatabaseModels/RumApplication.ts +1 -1
- package/Models/DatabaseModels/SecurityEventConnection.ts +457 -0
- package/Models/DatabaseModels/SecurityEventConnectionRun.ts +263 -0
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +2 -2
- package/Server/API/AIInvestigationAPI.ts +484 -24
- package/Server/API/GoogleSecOpsConnectionAPI.ts +249 -8
- package/Server/API/SecurityEventConnectionAPI.ts +250 -0
- package/Server/API/TelemetryAPI.ts +402 -265
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792700000000-AddSecurityEventConnections.ts +99 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
- package/Server/Middleware/TelemetryIngest.ts +101 -6
- package/Server/Services/ExceptionAggregationService.ts +7 -16
- package/Server/Services/GoogleSecOpsConnectionService.ts +15 -0
- package/Server/Services/Index.ts +4 -0
- package/Server/Services/InventoryItemService.ts +28 -0
- package/Server/Services/LogAggregationService.ts +17 -23
- package/Server/Services/MetricAggregationService.ts +4 -14
- package/Server/Services/SecurityEventConnectionRunService.ts +10 -0
- package/Server/Services/SecurityEventConnectionService.ts +538 -0
- package/Server/Services/TraceAggregationService.ts +77 -28
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +9 -0
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +13 -1
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +15 -1
- package/Server/Utils/AI/SRE/InvestigationEvidence.ts +658 -0
- package/Server/Utils/AI/SRE/InvestigationReferences.ts +324 -0
- package/Server/Utils/AI/Toolbox/Index.ts +38 -0
- package/Server/Utils/AI/Toolbox/TimelineTools.ts +9 -2
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +80 -0
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +5 -3
- package/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubClient.ts +1108 -0
- package/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubConnector.ts +732 -0
- package/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.ts +495 -0
- package/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconClient.ts +689 -0
- package/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconConnector.ts +767 -0
- package/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityClient.ts +571 -0
- package/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityConnector.ts +827 -0
- package/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrClient.ts +610 -0
- package/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrConnector.ts +549 -0
- package/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelClient.ts +830 -0
- package/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelConnector.ts +684 -0
- package/Server/Utils/SecurityEvent/Connectors/Okta/OktaClient.ts +487 -0
- package/Server/Utils/SecurityEvent/Connectors/Okta/OktaConnector.ts +778 -0
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.ts +1002 -0
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.ts +556 -0
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.ts +275 -0
- package/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.ts +53 -0
- package/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkClient.ts +709 -0
- package/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkConnector.ts +596 -0
- package/Server/Utils/SecurityEvent/Connectors/Types.ts +191 -0
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.ts +353 -65
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.ts +777 -0
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +747 -148
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.ts +48 -2
- package/Server/Utils/SecurityEvent/SecurityEventDedupe.ts +81 -0
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +741 -40
- package/Server/Utils/StartServer.ts +10 -0
- package/Server/Utils/Telemetry/EntityRegistry.ts +8 -0
- package/Server/Utils/Telemetry/KubernetesResourceAttributes.ts +108 -0
- package/Server/Utils/Telemetry/ResourceEntityFilter.ts +174 -93
- package/Server/Utils/Telemetry/ResourceFacetPlanner.ts +251 -0
- package/Server/Utils/Telemetry/ResourceFacetResolver.ts +248 -413
- package/Server/Utils/Telemetry/ServiceDependencyDiscovery.ts +668 -0
- package/Server/Utils/Telemetry/TraceContextPropagation.ts +348 -0
- package/Server/Utils/Telemetry.ts +18 -0
- package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +413 -0
- package/Tests/App/Dashboard/AIRootCauseFeedItem.test.tsx +285 -0
- package/Tests/App/Dashboard/AffectedResourcesDisplay.test.tsx +242 -0
- package/Tests/App/Dashboard/AlertEpisodeViewFields.test.tsx +601 -15
- package/Tests/App/Dashboard/ChangeAlertStateAIHeader.test.tsx +835 -0
- package/Tests/App/Dashboard/CloudResourceTelemetryScope.test.ts +41 -0
- package/Tests/App/Dashboard/ConnectionTestModal.test.tsx +604 -0
- package/Tests/App/Dashboard/ConnectorTestReportView.test.tsx +738 -0
- package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +153 -6
- package/Tests/App/Dashboard/EntityDetailPanel.test.tsx +165 -0
- package/Tests/App/Dashboard/EpisodeChangeState.test.tsx +1069 -0
- package/Tests/App/Dashboard/EpisodeMembersCard.test.tsx +772 -0
- package/Tests/App/Dashboard/EventOverviewPages.test.tsx +2354 -0
- package/Tests/App/Dashboard/EventOverviewSkeleton.test.tsx +210 -0
- package/Tests/App/Dashboard/EventStatBar.test.tsx +392 -0
- package/Tests/App/Dashboard/EventStatusPanel.test.tsx +247 -0
- package/Tests/App/Dashboard/ExceptionAIAssistance.test.tsx +606 -0
- package/Tests/App/Dashboard/ExceptionBreadcrumbTimeline.test.tsx +273 -0
- package/Tests/App/Dashboard/ExceptionDetailSideMenu.test.tsx +176 -0
- package/Tests/App/Dashboard/ExceptionOverviewCards.test.tsx +366 -0
- package/Tests/App/Dashboard/ExceptionSignalPages.test.tsx +371 -0
- package/Tests/App/Dashboard/ExceptionStackFrameViewer.test.tsx +440 -0
- package/Tests/App/Dashboard/ExceptionSummary.test.tsx +381 -0
- package/Tests/App/Dashboard/ExceptionTriage.test.tsx +306 -0
- package/Tests/App/Dashboard/ExceptionsResourceFacets.test.tsx +604 -0
- package/Tests/App/Dashboard/ExceptionsViewerEntityChips.test.tsx +706 -0
- package/Tests/App/Dashboard/FeedOrdering.test.ts +32 -0
- package/Tests/App/Dashboard/GoogleSecOpsConnectionForm.test.tsx +838 -0
- package/Tests/App/Dashboard/GoogleSecOpsConnectionsErrors.test.tsx +18 -0
- package/Tests/App/Dashboard/GoogleSecOpsDiagnostics.test.tsx +297 -20
- package/Tests/App/Dashboard/IncidentEpisodeViewFields.test.tsx +618 -13
- package/Tests/App/Dashboard/InfrastructureExplorer.test.tsx +254 -207
- package/Tests/App/Dashboard/InfrastructureGraph.test.tsx +303 -135
- package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +1251 -0
- package/Tests/App/Dashboard/InvestigationFeedRefresh.test.tsx +303 -0
- package/Tests/App/Dashboard/InvestigationPanel.test.tsx +876 -8
- package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +35 -0
- package/Tests/App/Dashboard/InvestigationReferenceLink.test.tsx +177 -0
- package/Tests/App/Dashboard/InvestigationReportView.test.tsx +1295 -0
- package/Tests/App/Dashboard/KubernetesImageReferenceView.test.tsx +114 -0
- package/Tests/App/Dashboard/KubernetesLogsTabChips.test.tsx +285 -0
- package/Tests/App/Dashboard/LogsEntityChipNames.test.tsx +316 -0
- package/Tests/App/Dashboard/LogsResourceFacetChips.test.tsx +361 -0
- package/Tests/App/Dashboard/ProfileTableEntityNames.test.tsx +432 -0
- package/Tests/App/Dashboard/ProfileViewEntityName.test.tsx +250 -0
- package/Tests/App/Dashboard/ResourceArchiveSettings.test.tsx +10 -0
- package/Tests/App/Dashboard/ResourceLogsTabsBareLayout.test.tsx +700 -0
- package/Tests/App/Dashboard/ResourcePageEntityNameProps.test.tsx +803 -0
- package/Tests/App/Dashboard/RumSessionReplaySideMenu.test.tsx +11 -1
- package/Tests/App/Dashboard/ScheduledMaintenanceChangeState.test.tsx +1026 -0
- package/Tests/App/Dashboard/ScheduledMaintenanceFeedRefresh.test.tsx +436 -0
- package/Tests/App/Dashboard/ScheduledMaintenanceOverviewPage.test.tsx +1195 -0
- package/Tests/App/Dashboard/SecurityEventConnectionFormModal.test.tsx +1022 -0
- package/Tests/App/Dashboard/SecurityEventConnectionsTable.test.tsx +905 -0
- package/Tests/App/Dashboard/SecurityEventsSideMenu.test.tsx +247 -0
- package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +375 -274
- package/Tests/App/Dashboard/SessionReplayAuditTable.test.tsx +410 -0
- package/Tests/App/Dashboard/TelemetryResourceRetentionSettings.test.tsx +774 -0
- package/Tests/App/Dashboard/TopErrorsPanelResourceNames.test.tsx +316 -0
- package/Tests/App/Dashboard/TopologyDataLoading.test.tsx +30 -0
- package/Tests/App/Dashboard/TopologyPageNavigation.test.tsx +88 -24
- package/Tests/App/Dashboard/TraceExplorer.test.tsx +1590 -0
- package/Tests/App/Dashboard/TraceWaterfall.test.tsx +488 -0
- package/Tests/App/Dashboard/TracesAnalyticsSeriesLabels.test.tsx +367 -0
- package/Tests/App/Dashboard/TracesEntityNames.test.tsx +585 -0
- package/Tests/App/Dashboard/TracesResourceFacets.test.tsx +613 -0
- package/Tests/App/Dashboard/UseServiceNames.test.tsx +359 -0
- package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +7 -0
- package/Tests/Models/InventoryItemNaming.test.ts +132 -16
- package/Tests/Models/SecurityDomainAccessControl.test.ts +61 -17
- package/Tests/Server/API/AIInvestigationAPI.test.ts +611 -2
- package/Tests/Server/API/AIInvestigationEvidenceAPI.test.ts +1098 -0
- package/Tests/Server/API/GoogleSecOpsConnectionAPI.test.ts +409 -0
- package/Tests/Server/API/SecurityEventConnectionAPI.test.ts +856 -0
- package/Tests/Server/API/SessionReplayAPI.test.ts +528 -1
- package/Tests/Server/API/TelemetryFacetsAPI.test.ts +810 -0
- package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +240 -0
- package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +229 -0
- package/Tests/Server/Services/InventoryItemDisplayName.test.ts +66 -0
- package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +28 -1
- package/Tests/Server/Services/SecurityEventConnectionService.test.ts +1233 -0
- package/Tests/Server/Services/TelemetryIngestionKeyValidation.test.ts +53 -0
- package/Tests/Server/Services/TelemetryResourceFacetCounting.test.ts +218 -0
- package/Tests/Server/Services/TelemetryResourceFacetFilters.test.ts +155 -1
- package/Tests/Server/Services/TraceAggregationExceptionScope.test.ts +142 -0
- package/Tests/Server/Services/TraceAnalyticsResourceDisplayNames.test.ts +85 -24
- package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +33 -0
- package/Tests/Server/Utils/AI/InvestigationEvidence.test.ts +1395 -0
- package/Tests/Server/Utils/AI/InvestigationReferences.test.ts +616 -0
- package/Tests/Server/Utils/AI/TimelineTools.test.ts +119 -0
- package/Tests/Server/Utils/AI/Toolbox/AIToolbox.test.ts +151 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +65 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGeneratorExceptionScope.test.ts +224 -0
- package/Tests/Server/Utils/LoggerCore.test.ts +597 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPerSeriesFanout.test.ts +55 -2
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtil.test.ts +1109 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubClient.test.ts +1240 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubConnector.test.ts +1853 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.test.ts +1129 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconClient.test.ts +1066 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconConnector.test.ts +1568 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityClient.test.ts +930 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityConnector.test.ts +1409 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrClient.test.ts +763 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrConnector.test.ts +1296 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelClient.test.ts +1102 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelConnector.test.ts +1174 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/Okta/OktaClient.test.ts +1032 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/Okta/OktaConnector.test.ts +1558 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.test.ts +3041 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.test.ts +1168 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.test.ts +906 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkClient.test.ts +1068 -0
- package/Tests/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkConnector.test.ts +1004 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.test.ts +784 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.test.ts +113 -1
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClient.test.ts +5 -1
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsDiagnostics.test.ts +93 -13
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsHttpIntegration.test.ts +23 -1
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +25 -3
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +22 -8
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +82 -16
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSearchDetections.test.ts +730 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsThreePassPoller.test.ts +1577 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayOriginAllowlist.test.ts +41 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayReadServiceQueries.test.ts +1453 -18
- package/Tests/Server/Utils/Telemetry/EntityRegistry.test.ts +711 -0
- package/Tests/Server/Utils/Telemetry/KubernetesResourceAttributes.test.ts +162 -0
- package/Tests/Server/Utils/Telemetry/ResourceEntityFilter.test.ts +460 -13
- package/Tests/Server/Utils/Telemetry/ResourceFacetPlanner.test.ts +678 -0
- package/Tests/Server/Utils/Telemetry/ResourceFacetResolver.test.ts +868 -0
- package/Tests/Server/Utils/Telemetry/ServiceDependencyDiscovery.test.ts +525 -0
- package/Tests/Server/Utils/Telemetry/TraceContextPropagation.test.ts +420 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilCorePaths.test.ts +1014 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilExhaustiveRotation.test.ts +9 -6
- package/Tests/Types/Rules/RuleCriteriaFieldRegistry.test.ts +276 -0
- package/Tests/Types/Rum/SessionReplayApiContracts.test.ts +73 -0
- package/Tests/Types/Rum/SessionReplayTransportContracts.test.ts +95 -0
- package/Tests/Types/SecurityEvent/Connectors/ConnectorDiagnostics.test.ts +82 -0
- package/Tests/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.test.ts +314 -0
- package/Tests/Types/Telemetry/ExceptionSpanScope.test.ts +89 -0
- package/Tests/Types/Telemetry/LlmConventions.test.ts +495 -0
- package/Tests/Types/Telemetry/ResourceEntityFacet.test.ts +96 -0
- package/Tests/Types/Telemetry/ResourceFacetCatalog.test.ts +304 -0
- package/Tests/UI/Components/ActiveFilterChipsLockedFilters.test.tsx +357 -0
- package/Tests/UI/Components/Card.test.tsx +312 -1
- package/Tests/UI/Components/CardModelDetailHeaderLayout.test.tsx +253 -0
- package/Tests/UI/Components/CardModelDetailRefresher.test.tsx +342 -0
- package/Tests/UI/Components/Checkbox.test.tsx +79 -0
- package/Tests/UI/Components/CopyTextButton.test.tsx +142 -0
- package/Tests/UI/Components/DetailCompactStyle.test.tsx +621 -0
- package/Tests/UI/Components/ErrorBoundary.test.tsx +60 -0
- package/Tests/UI/Components/FacetSections.test.tsx +581 -0
- package/Tests/UI/Components/FacetSidebarControls.test.tsx +812 -0
- package/Tests/UI/Components/FacetVisibility.test.ts +429 -0
- package/Tests/UI/Components/LockedFilterActions.test.tsx +396 -0
- package/Tests/UI/Components/LockedFilterChip.test.tsx +651 -0
- package/Tests/UI/Components/LogsEntityNames.test.ts +1769 -0
- package/Tests/UI/Components/LogsEntityNamesComponents.test.tsx +696 -0
- package/Tests/UI/Components/LogsFacetSidebarHiddenFacets.test.tsx +600 -0
- package/Tests/UI/Components/LogsViewerEntityNames.test.tsx +713 -0
- package/Tests/UI/Components/MarkdownInlineReferences.test.tsx +2079 -0
- package/Tests/UI/Components/MemberRoleAssignment.test.tsx +446 -0
- package/Tests/UI/Components/ModelDetailRefetch.test.tsx +397 -0
- package/Tests/UI/Components/ModelListRefetch.test.tsx +233 -0
- package/Tests/UI/Components/ModelPageModelChange.test.tsx +409 -0
- package/Tests/UI/Components/PaginationIntegration.test.tsx +25 -0
- package/Tests/UI/Components/ResourceFacetConfigs.test.ts +172 -0
- package/Tests/UI/Components/SavedViewsSidebarIntegration.test.tsx +32 -14
- package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +44 -1
- package/Tests/UI/Components/TelemetryActiveFilterChipsLockedFilters.test.tsx +304 -0
- package/Tests/UI/Components/TelemetryFacetSidebarHiddenFacets.test.tsx +718 -0
- package/Tests/UI/Monitor/EvaluationLogList.test.tsx +303 -0
- package/Tests/UI/Monitor/MonitorSummarySnapshotRender.test.tsx +55 -1
- package/Tests/UI/Rum/FidelityNotices.test.ts +22 -0
- package/Tests/UI/Rum/RecordingHealthCard.test.tsx +120 -136
- package/Tests/UI/Rum/RecordingHealthDashboard.test.tsx +988 -0
- package/Tests/UI/Rum/ReplayCard.test.tsx +32 -0
- package/Tests/UI/Rum/ReplayCorrelationPanel.test.tsx +709 -12
- package/Tests/UI/Rum/ReplayHeader.test.tsx +50 -1
- package/Tests/UI/Rum/ReplayPinControl.test.tsx +67 -10
- package/Tests/UI/Rum/ReplayPlayerChrome.test.tsx +41 -12
- package/Tests/UI/Rum/ReplayStage.test.tsx +663 -1
- package/Tests/UI/Rum/ReplayStageOverlays.test.tsx +173 -0
- package/Tests/UI/Rum/ReplayUi.test.tsx +189 -2
- package/Tests/UI/Rum/ReplayUserSessionsMenu.test.tsx +91 -0
- package/Tests/UI/Rum/SessionReplayEmptyState.test.tsx +1 -1
- package/Tests/UI/Rum/SessionReplaySettingsPolicyLoading.test.tsx +585 -0
- package/Tests/UI/Rum/SessionReplayTable.test.tsx +844 -51
- package/Tests/UI/Rum/SessionReplayUsersTable.test.tsx +29 -1
- package/Tests/UI/Telemetry/TelemetryDetailPanel.test.tsx +288 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +31 -1
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +6 -0
- package/Tests/UI/Utils/Clipboard.test.ts +154 -0
- package/Tests/UI/Utils/Navigation.test.ts +24 -0
- package/Tests/UI/Utils/Telemetry/TelemetryEntityNames.test.ts +2205 -0
- package/Tests/UI/Utils/Telemetry/UseTelemetryEntityNames.test.tsx +844 -0
- package/Tests/Utils/AI/InvestigationReport.test.ts +2430 -0
- package/Tests/Utils/APIOutgoingRequestTracer.test.ts +137 -0
- package/Tests/Utils/Rum/SessionReplayHealth.test.ts +884 -0
- package/Tests/Utils/Rum/SessionReplayHealthDiagnosis.test.ts +40 -0
- package/Tests/Utils/Rum/SessionReplayRecordingEnded.test.ts +619 -0
- package/Tests/Utils/SecurityEvent/Connectors/AwsSecurityHubNormalizer.test.ts +631 -0
- package/Tests/Utils/SecurityEvent/Connectors/CrowdStrikeFalconNormalizer.test.ts +479 -0
- package/Tests/Utils/SecurityEvent/Connectors/ElasticSecurityNormalizer.test.ts +507 -0
- package/Tests/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdrNormalizer.test.ts +686 -0
- package/Tests/Utils/SecurityEvent/Connectors/MicrosoftSentinelNormalizer.test.ts +474 -0
- package/Tests/Utils/SecurityEvent/Connectors/OktaNormalizer.test.ts +736 -0
- package/Tests/Utils/SecurityEvent/Connectors/SplunkNormalizer.test.ts +407 -0
- package/Tests/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.test.ts +129 -0
- package/Tests/Utils/Telemetry/CrossSignalScope.test.ts +57 -1
- package/Tests/Utils/Telemetry/EntityRelationship.test.ts +36 -0
- package/Tests/Utils/Telemetry/LockedFilterSearch.test.ts +600 -0
- package/Tests/Utils/Telemetry/NetworkHost.test.ts +48 -0
- package/Tests/Utils/Telemetry/OriginAllowList.test.ts +154 -0
- package/Tests/Utils/Traces/CriticalPath.test.ts +25 -0
- package/Types/AI/AIChatTypes.ts +8 -0
- package/Types/AI/InvestigationEvidence.ts +96 -0
- package/Types/Monitor/MonitorEvaluationSummary.ts +5 -0
- package/Types/OnCallDutyPolicy/Layer.ts +12 -0
- package/Types/Permission.ts +2 -2
- package/Types/Rules/RuleCriteriaFieldRegistry.ts +12 -0
- package/Types/Rum/SessionReplay.ts +109 -0
- package/Types/Rum/SessionReplayApi.ts +31 -0
- package/Types/SecurityEvent/Connectors/ConnectorDiagnostics.ts +111 -0
- package/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.ts +87 -0
- package/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.ts +492 -0
- package/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.ts +41 -0
- package/Types/SecurityEvent/GoogleSecOpsDiagnostics.ts +56 -1
- package/Types/SecurityEvent/GoogleSecOpsRegion.ts +34 -0
- package/Types/Telemetry/EntityType.ts +14 -0
- package/Types/Telemetry/ExceptionSpanScope.ts +83 -0
- package/Types/Telemetry/LockedFilterDetail.ts +46 -0
- package/Types/Telemetry/ResourceEntityFacet.ts +17 -10
- package/Types/Telemetry/ResourceFacetCatalog.ts +171 -0
- package/UI/Components/Card/Card.tsx +118 -83
- package/UI/Components/Checkbox/Checkbox.tsx +8 -5
- package/UI/Components/CopyTextButton/CopyTextButton.tsx +7 -1
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +4 -1
- package/UI/Components/Detail/Detail.tsx +137 -22
- package/UI/Components/ErrorBoundary.tsx +38 -0
- package/UI/Components/LogsViewer/LogsEntityNames.ts +912 -0
- package/UI/Components/LogsViewer/LogsViewer.tsx +156 -77
- package/UI/Components/LogsViewer/components/ActiveFilterChips.tsx +28 -11
- package/UI/Components/LogsViewer/components/FacetSection.tsx +66 -79
- package/UI/Components/LogsViewer/components/FacetValueRow.tsx +17 -2
- package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +45 -5
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +100 -19
- package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +156 -39
- package/UI/Components/LogsViewer/components/LogsTable.tsx +30 -8
- package/UI/Components/LogsViewer/types.ts +6 -0
- package/UI/Components/Markdown.tsx/InlineReferences.tsx +628 -0
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +385 -312
- package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +50 -22
- package/UI/Components/ModelDetail/CardModelDetail.tsx +15 -0
- package/UI/Components/ModelDetail/ModelDetail.tsx +64 -19
- package/UI/Components/ModelList/ModelList.tsx +33 -8
- package/UI/Components/Page/ModelPage.tsx +119 -54
- package/UI/Components/Table/Table.tsx +8 -0
- package/UI/Components/Table/TableRow.tsx +13 -5
- package/UI/Components/TelemetryViewer/FacetVisibility.ts +229 -0
- package/UI/Components/TelemetryViewer/ResourceFacetConfigs.ts +46 -0
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +11 -0
- package/UI/Components/TelemetryViewer/components/FacetSearchInput.tsx +79 -0
- package/UI/Components/TelemetryViewer/components/FacetSectionHeader.tsx +69 -0
- package/UI/Components/TelemetryViewer/components/FacetShowMoreButton.tsx +36 -0
- package/UI/Components/TelemetryViewer/components/HiddenFacetsFooter.tsx +88 -0
- package/UI/Components/TelemetryViewer/components/LockedFilterActions.tsx +205 -0
- package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +496 -0
- package/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx +30 -10
- package/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.tsx +203 -10
- package/UI/Components/TelemetryViewer/components/TelemetryFacetSection.tsx +60 -73
- package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +94 -7
- package/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.tsx +17 -2
- package/UI/Components/TelemetryViewer/types.ts +19 -0
- package/UI/Components/TelemetryViewer/useFacetSearchExemptions.ts +158 -0
- package/UI/Components/TelemetryViewer/useFacetSectionSearch.ts +102 -0
- package/UI/Utils/Clipboard.ts +68 -2
- package/UI/Utils/Navigation.ts +17 -2
- package/UI/Utils/Telemetry/TelemetryEntityNames.ts +620 -0
- package/UI/Utils/Telemetry/UseTelemetryEntityNames.ts +151 -0
- package/Utils/AI/InvestigationReport.ts +1789 -0
- package/Utils/API.ts +90 -1
- package/Utils/Rum/SessionReplayHealth.ts +11 -0
- package/Utils/Rum/SessionReplayRecordingEnded.ts +134 -0
- package/Utils/SecurityEvent/Connectors/AwsSecurityHubNormalizer.ts +427 -0
- package/Utils/SecurityEvent/Connectors/CrowdStrikeFalconNormalizer.ts +197 -0
- package/Utils/SecurityEvent/Connectors/ElasticSecurityNormalizer.ts +464 -0
- package/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdrNormalizer.ts +567 -0
- package/Utils/SecurityEvent/Connectors/MicrosoftSentinelNormalizer.ts +299 -0
- package/Utils/SecurityEvent/Connectors/OktaNormalizer.ts +467 -0
- package/Utils/SecurityEvent/Connectors/SplunkNormalizer.ts +439 -0
- package/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.ts +124 -12
- package/Utils/Telemetry/CrossSignalScope.ts +22 -8
- package/Utils/Telemetry/EntityRelationship.ts +8 -0
- package/Utils/Telemetry/LockedFilterSearch.ts +412 -0
- package/Utils/Telemetry/NetworkHost.ts +43 -0
- package/Utils/Telemetry/OriginAllowList.ts +139 -4
- package/Utils/Traces/CriticalPath.ts +10 -4
- package/build/dist/Models/DatabaseModels/Index.js +4 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/SecurityEventConnection.js +490 -0
- package/build/dist/Models/DatabaseModels/SecurityEventConnection.js.map +1 -0
- package/build/dist/Models/DatabaseModels/SecurityEventConnectionRun.js +287 -0
- package/build/dist/Models/DatabaseModels/SecurityEventConnectionRun.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +2 -2
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Server/API/AIInvestigationAPI.js +336 -27
- package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js +182 -7
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js.map +1 -1
- package/build/dist/Server/API/SecurityEventConnectionAPI.js +171 -0
- package/build/dist/Server/API/SecurityEventConnectionAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +248 -170
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792700000000-AddSecurityEventConnections.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792700000000-AddSecurityEventConnections.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +57 -4
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +7 -16
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js +8 -0
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +4 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/InventoryItemService.js +22 -0
- package/build/dist/Server/Services/InventoryItemService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +8 -17
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +4 -14
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/SecurityEventConnectionRunService.js +9 -0
- package/build/dist/Server/Services/SecurityEventConnectionRunService.js.map +1 -0
- package/build/dist/Server/Services/SecurityEventConnectionService.js +356 -0
- package/build/dist/Server/Services/SecurityEventConnectionService.js.map +1 -0
- package/build/dist/Server/Services/TraceAggregationService.js +51 -25
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +9 -0
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +3 -0
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +14 -7
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationEvidence.js +468 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationEvidence.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationReferences.js +230 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationReferences.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/Index.js +32 -0
- package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js +6 -2
- package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +59 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +5 -3
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubClient.js +752 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubConnector.js +493 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/AwsSecurityHub/AwsSecurityHubConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js +352 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ConnectorPlatformHealth.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconClient.js +405 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconConnector.js +466 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/CrowdStrikeFalcon/CrowdStrikeFalconConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityClient.js +344 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityConnector.js +511 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/ElasticSecurity/ElasticSecurityConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrClient.js +406 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrConnector.js +336 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdr/MicrosoftDefenderXdrConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelClient.js +474 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelConnector.js +417 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/MicrosoftSentinel/MicrosoftSentinelConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Okta/OktaClient.js +314 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Okta/OktaClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Okta/OktaConnector.js +494 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Okta/OktaConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js +719 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionPoller.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js +404 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionRunExecutor.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js +209 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectionTester.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js +40 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/SecurityEventConnectorRegistry.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkClient.js +494 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkClient.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkConnector.js +379 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Splunk/SplunkConnector.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js +27 -0
- package/build/dist/Server/Utils/SecurityEvent/Connectors/Types.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js +234 -61
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js +537 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsConnectionTester.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +572 -115
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js +35 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventDedupe.js +52 -0
- package/build/dist/Server/Utils/SecurityEvent/SecurityEventDedupe.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +521 -32
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +10 -0
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +8 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/KubernetesResourceAttributes.js +80 -0
- package/build/dist/Server/Utils/Telemetry/KubernetesResourceAttributes.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +122 -67
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ResourceFacetPlanner.js +146 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetPlanner.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +174 -248
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js +492 -0
- package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TraceContextPropagation.js +259 -0
- package/build/dist/Server/Utils/Telemetry/TraceContextPropagation.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry.js +11 -5
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Types/AI/InvestigationEvidence.js +2 -0
- package/build/dist/Types/AI/InvestigationEvidence.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +11 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/Permission.js +2 -2
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +9 -0
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +95 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplayApi.js.map +1 -1
- package/build/dist/Types/SecurityEvent/Connectors/ConnectorDiagnostics.js +18 -0
- package/build/dist/Types/SecurityEvent/Connectors/ConnectorDiagnostics.js.map +1 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js +2 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectionDiagnostics.js.map +1 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js +374 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorCatalog.js.map +1 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js +35 -0
- package/build/dist/Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.js.map +1 -0
- package/build/dist/Types/SecurityEvent/GoogleSecOpsRegion.js +35 -0
- package/build/dist/Types/SecurityEvent/GoogleSecOpsRegion.js.map +1 -0
- package/build/dist/Types/Telemetry/EntityType.js +14 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/ExceptionSpanScope.js +59 -0
- package/build/dist/Types/Telemetry/ExceptionSpanScope.js.map +1 -0
- package/build/dist/Types/Telemetry/LockedFilterDetail.js +16 -0
- package/build/dist/Types/Telemetry/LockedFilterDetail.js.map +1 -0
- package/build/dist/Types/Telemetry/ResourceEntityFacet.js +16 -10
- package/build/dist/Types/Telemetry/ResourceEntityFacet.js.map +1 -1
- package/build/dist/Types/Telemetry/ResourceFacetCatalog.js +119 -0
- package/build/dist/Types/Telemetry/ResourceFacetCatalog.js.map +1 -0
- package/build/dist/UI/Components/Card/Card.js +34 -17
- package/build/dist/UI/Components/Card/Card.js.map +1 -1
- package/build/dist/UI/Components/Checkbox/Checkbox.js +6 -4
- package/build/dist/UI/Components/Checkbox/Checkbox.js.map +1 -1
- package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js +5 -1
- package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/Detail/Detail.js +63 -13
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/ErrorBoundary.js +34 -0
- package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsEntityNames.js +535 -0
- package/build/dist/UI/Components/LogsViewer/LogsEntityNames.js.map +1 -0
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +117 -57
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js +5 -7
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/FacetSection.js +31 -44
- package/build/dist/UI/Components/LogsViewer/components/FacetSection.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/FacetValueRow.js +17 -3
- package/build/dist/UI/Components/LogsViewer/components/FacetValueRow.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +19 -3
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +64 -18
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +100 -41
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +13 -5
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/types.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/InlineReferences.js +403 -0
- package/build/dist/UI/Components/Markdown.tsx/InlineReferences.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +197 -179
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +30 -21
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +12 -0
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/ModelDetail.js +46 -12
- package/build/dist/UI/Components/ModelDetail/ModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelList/ModelList.js +26 -7
- package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
- package/build/dist/UI/Components/Page/ModelPage.js +62 -34
- package/build/dist/UI/Components/Page/ModelPage.js.map +1 -1
- package/build/dist/UI/Components/Table/Table.js +3 -1
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +8 -1
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js +111 -0
- package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/ResourceFacetConfigs.js +22 -0
- package/build/dist/UI/Components/TelemetryViewer/ResourceFacetConfigs.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/FacetSearchInput.js +36 -0
- package/build/dist/UI/Components/TelemetryViewer/components/FacetSearchInput.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/FacetSectionHeader.js +21 -0
- package/build/dist/UI/Components/TelemetryViewer/components/FacetSectionHeader.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/FacetShowMoreButton.js +14 -0
- package/build/dist/UI/Components/TelemetryViewer/components/FacetShowMoreButton.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/HiddenFacetsFooter.js +27 -0
- package/build/dist/UI/Components/TelemetryViewer/components/HiddenFacetsFooter.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js +88 -0
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterActions.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +228 -0
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js +6 -6
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.js +111 -12
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSection.js +27 -40
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSection.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +70 -10
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js +17 -3
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/types.js +0 -4
- package/build/dist/UI/Components/TelemetryViewer/types.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/useFacetSearchExemptions.js +70 -0
- package/build/dist/UI/Components/TelemetryViewer/useFacetSearchExemptions.js.map +1 -0
- package/build/dist/UI/Components/TelemetryViewer/useFacetSectionSearch.js +52 -0
- package/build/dist/UI/Components/TelemetryViewer/useFacetSectionSearch.js.map +1 -0
- package/build/dist/UI/Utils/Clipboard.js +59 -2
- package/build/dist/UI/Utils/Clipboard.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +11 -2
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js +471 -0
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js.map +1 -0
- package/build/dist/UI/Utils/Telemetry/UseTelemetryEntityNames.js +113 -0
- package/build/dist/UI/Utils/Telemetry/UseTelemetryEntityNames.js.map +1 -0
- package/build/dist/Utils/AI/InvestigationReport.js +1241 -0
- package/build/dist/Utils/AI/InvestigationReport.js.map +1 -0
- package/build/dist/Utils/API.js +25 -0
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/Rum/SessionReplayHealth.js +10 -0
- package/build/dist/Utils/Rum/SessionReplayHealth.js.map +1 -1
- package/build/dist/Utils/Rum/SessionReplayRecordingEnded.js +54 -0
- package/build/dist/Utils/Rum/SessionReplayRecordingEnded.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/AwsSecurityHubNormalizer.js +311 -0
- package/build/dist/Utils/SecurityEvent/Connectors/AwsSecurityHubNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/CrowdStrikeFalconNormalizer.js +150 -0
- package/build/dist/Utils/SecurityEvent/Connectors/CrowdStrikeFalconNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/ElasticSecurityNormalizer.js +328 -0
- package/build/dist/Utils/SecurityEvent/Connectors/ElasticSecurityNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdrNormalizer.js +405 -0
- package/build/dist/Utils/SecurityEvent/Connectors/MicrosoftDefenderXdrNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/MicrosoftSentinelNormalizer.js +212 -0
- package/build/dist/Utils/SecurityEvent/Connectors/MicrosoftSentinelNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/OktaNormalizer.js +351 -0
- package/build/dist/Utils/SecurityEvent/Connectors/OktaNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/Connectors/SplunkNormalizer.js +348 -0
- package/build/dist/Utils/SecurityEvent/Connectors/SplunkNormalizer.js.map +1 -0
- package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js +103 -10
- package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js.map +1 -1
- package/build/dist/Utils/Telemetry/CrossSignalScope.js +16 -5
- package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityRelationship.js +7 -0
- package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
- package/build/dist/Utils/Telemetry/LockedFilterSearch.js +277 -0
- package/build/dist/Utils/Telemetry/LockedFilterSearch.js.map +1 -0
- package/build/dist/Utils/Telemetry/NetworkHost.js +39 -0
- package/build/dist/Utils/Telemetry/NetworkHost.js.map +1 -0
- package/build/dist/Utils/Telemetry/OriginAllowList.js +105 -4
- package/build/dist/Utils/Telemetry/OriginAllowList.js.map +1 -1
- package/build/dist/Utils/Traces/CriticalPath.js +9 -4
- package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
- package/package.json +1 -1
- package/Tests/UI/Rum/RecordingHealthStrip.test.tsx +0 -600
- package/UI/Components/GanttChart/Bar/BarLabel.tsx +0 -17
- package/UI/Components/GanttChart/Bar/Index.tsx +0 -149
- package/UI/Components/GanttChart/ChartContainer.tsx +0 -50
- package/UI/Components/GanttChart/Index.tsx +0 -90
- package/UI/Components/GanttChart/Row/Index.tsx +0 -22
- package/UI/Components/GanttChart/Row/Row.tsx +0 -231
- package/UI/Components/GanttChart/Row/RowLabel.tsx +0 -30
- package/UI/Components/GanttChart/Rows.tsx +0 -59
- package/UI/Components/GanttChart/Timeline/Index.tsx +0 -46
- package/UI/Components/GanttChart/Timeline/TimelineInterval.tsx +0 -33
- package/UI/Components/GanttChart/Timeline/TimelineIntervalMarks.tsx +0 -43
- package/build/dist/UI/Components/GanttChart/Bar/BarLabel.js +0 -8
- package/build/dist/UI/Components/GanttChart/Bar/BarLabel.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Bar/Index.js +0 -77
- package/build/dist/UI/Components/GanttChart/Bar/Index.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/ChartContainer.js +0 -33
- package/build/dist/UI/Components/GanttChart/ChartContainer.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Index.js +0 -39
- package/build/dist/UI/Components/GanttChart/Index.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Row/Index.js +0 -7
- package/build/dist/UI/Components/GanttChart/Row/Index.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Row/Row.js +0 -106
- package/build/dist/UI/Components/GanttChart/Row/Row.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Row/RowLabel.js +0 -10
- package/build/dist/UI/Components/GanttChart/Row/RowLabel.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Rows.js +0 -19
- package/build/dist/UI/Components/GanttChart/Rows.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Timeline/Index.js +0 -16
- package/build/dist/UI/Components/GanttChart/Timeline/Index.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Timeline/TimelineInterval.js +0 -13
- package/build/dist/UI/Components/GanttChart/Timeline/TimelineInterval.js.map +0 -1
- package/build/dist/UI/Components/GanttChart/Timeline/TimelineIntervalMarks.js +0 -13
- package/build/dist/UI/Components/GanttChart/Timeline/TimelineIntervalMarks.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The security sources OneUptime can poll through the managed
|
|
3
|
+
* Security Event Connections framework. Each value is the stable
|
|
4
|
+
* identifier stored on SecurityEventConnection.provider, used to look up
|
|
5
|
+
* the server-side connector in SecurityEventConnectorRegistry and the
|
|
6
|
+
* form/help metadata in SecurityEventConnectorCatalog.
|
|
7
|
+
*
|
|
8
|
+
* Google SecOps predates this framework and keeps its own model
|
|
9
|
+
* (GoogleSecOpsConnection) and poller; it is deliberately not listed here.
|
|
10
|
+
*/
|
|
11
|
+
var SecurityEventConnectorProvider;
|
|
12
|
+
(function (SecurityEventConnectorProvider) {
|
|
13
|
+
SecurityEventConnectorProvider["MicrosoftSentinel"] = "microsoft-sentinel";
|
|
14
|
+
SecurityEventConnectorProvider["MicrosoftDefenderXdr"] = "microsoft-defender-xdr";
|
|
15
|
+
SecurityEventConnectorProvider["CrowdStrikeFalcon"] = "crowdstrike-falcon";
|
|
16
|
+
SecurityEventConnectorProvider["SplunkEnterpriseSecurity"] = "splunk";
|
|
17
|
+
SecurityEventConnectorProvider["ElasticSecurity"] = "elastic-security";
|
|
18
|
+
SecurityEventConnectorProvider["AwsSecurityHub"] = "aws-security-hub";
|
|
19
|
+
SecurityEventConnectorProvider["OktaSystemLog"] = "okta";
|
|
20
|
+
})(SecurityEventConnectorProvider || (SecurityEventConnectorProvider = {}));
|
|
21
|
+
export default SecurityEventConnectorProvider;
|
|
22
|
+
export const AllSecurityEventConnectorProviders = [
|
|
23
|
+
SecurityEventConnectorProvider.MicrosoftSentinel,
|
|
24
|
+
SecurityEventConnectorProvider.MicrosoftDefenderXdr,
|
|
25
|
+
SecurityEventConnectorProvider.CrowdStrikeFalcon,
|
|
26
|
+
SecurityEventConnectorProvider.SplunkEnterpriseSecurity,
|
|
27
|
+
SecurityEventConnectorProvider.ElasticSecurity,
|
|
28
|
+
SecurityEventConnectorProvider.AwsSecurityHub,
|
|
29
|
+
SecurityEventConnectorProvider.OktaSystemLog,
|
|
30
|
+
];
|
|
31
|
+
export function isSecurityEventConnectorProvider(value) {
|
|
32
|
+
return (typeof value === "string" &&
|
|
33
|
+
AllSecurityEventConnectorProviders.includes(value));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=SecurityEventConnectorProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityEventConnectorProvider.js","sourceRoot":"","sources":["../../../../../Types/SecurityEvent/Connectors/SecurityEventConnectorProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,IAAK,8BAQJ;AARD,WAAK,8BAA8B;IACjC,0EAAwC,CAAA;IACxC,iFAA+C,CAAA;IAC/C,0EAAwC,CAAA;IACxC,qEAAmC,CAAA;IACnC,sEAAoC,CAAA;IACpC,qEAAmC,CAAA;IACnC,wDAAsB,CAAA;AACxB,CAAC,EARI,8BAA8B,KAA9B,8BAA8B,QAQlC;AAED,eAAe,8BAA8B,CAAC;AAE9C,MAAM,CAAC,MAAM,kCAAkC,GAC7C;IACE,8BAA8B,CAAC,iBAAiB;IAChD,8BAA8B,CAAC,oBAAoB;IACnD,8BAA8B,CAAC,iBAAiB;IAChD,8BAA8B,CAAC,wBAAwB;IACvD,8BAA8B,CAAC,eAAe;IAC9C,8BAA8B,CAAC,cAAc;IAC7C,8BAA8B,CAAC,aAAa;CAC7C,CAAC;AAEJ,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,kCAAoD,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Regional service endpoint prefixes published for chronicle.googleapis.com.
|
|
3
|
+
*
|
|
4
|
+
* Keep this list shared by server-side validation and the connection form. A
|
|
5
|
+
* free-text form in front of a stricter server allowlist lets a typo survive
|
|
6
|
+
* until save, while two copied allowlists eventually disagree as Google adds
|
|
7
|
+
* endpoints.
|
|
8
|
+
*
|
|
9
|
+
* Source: https://cloud.google.com/chronicle/docs/reference/rest
|
|
10
|
+
*/
|
|
11
|
+
export const GOOGLE_SECOPS_SUPPORTED_REGIONS = [
|
|
12
|
+
"us",
|
|
13
|
+
"eu",
|
|
14
|
+
"europe",
|
|
15
|
+
"africa-south1",
|
|
16
|
+
"asia-east1",
|
|
17
|
+
"asia-northeast1",
|
|
18
|
+
"asia-northeast3",
|
|
19
|
+
"asia-south1",
|
|
20
|
+
"asia-southeast1",
|
|
21
|
+
"asia-southeast2",
|
|
22
|
+
"australia-southeast1",
|
|
23
|
+
"europe-central2",
|
|
24
|
+
"europe-west12",
|
|
25
|
+
"europe-west2",
|
|
26
|
+
"europe-west3",
|
|
27
|
+
"europe-west6",
|
|
28
|
+
"europe-west9",
|
|
29
|
+
"me-central1",
|
|
30
|
+
"me-central2",
|
|
31
|
+
"me-west1",
|
|
32
|
+
"northamerica-northeast2",
|
|
33
|
+
"southamerica-east1",
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=GoogleSecOpsRegion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleSecOpsRegion.js","sourceRoot":"","sources":["../../../../Types/SecurityEvent/GoogleSecOpsRegion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0B;IACpE,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,aAAa;IACb,UAAU;IACV,yBAAyB;IACzB,oBAAoB;CACrB,CAAC"}
|
|
@@ -73,6 +73,20 @@ var EntityType;
|
|
|
73
73
|
EntityType["DockerSwarmService"] = "docker.swarm.service";
|
|
74
74
|
EntityType["DockerSwarmTask"] = "docker.swarm.task";
|
|
75
75
|
EntityType["TelemetrySdk"] = "telemetry.sdk";
|
|
76
|
+
/*
|
|
77
|
+
* Dependency types, discovered from the CLIENT / PRODUCER spans of an
|
|
78
|
+
* instrumented service rather than from a resource of their own. They are
|
|
79
|
+
* the far end of a call nothing on the other side reported: a PostgreSQL
|
|
80
|
+
* or Redis a service queries (`db.system.name` / `db.system`), or an HTTP /
|
|
81
|
+
* gRPC / messaging endpoint it talks to (`server.address`, `peer.service`,
|
|
82
|
+
* `messaging.system`). OneUptime-defined — semconv describes these only as
|
|
83
|
+
* span attributes, never as entities. Discovered (heartbeat-bumped by the
|
|
84
|
+
* ComputeServiceDependencies cron), so they age out like any other
|
|
85
|
+
* discovered row. Deliberately distinct from the manual ExternalService /
|
|
86
|
+
* ExternalDatabase types below, which nothing ever observes.
|
|
87
|
+
*/
|
|
88
|
+
EntityType["Database"] = "database";
|
|
89
|
+
EntityType["RemoteService"] = "remote.service";
|
|
76
90
|
/*
|
|
77
91
|
* Inventory-mirrored types. Unlike everything above, these are never
|
|
78
92
|
* derived from an OTLP resource — the estate they describe is collected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityType.js","sourceRoot":"","sources":["../../../../Types/Telemetry/EntityType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,IAAK,
|
|
1
|
+
{"version":3,"file":"EntityType.js","sourceRoot":"","sources":["../../../../Types/Telemetry/EntityType.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,IAAK,UAiGJ;AAjGD,WAAK,UAAU;IACb,iCAAmB,CAAA;IACnB,kDAAoC,CAAA;IACpC,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+CAAiC,CAAA;IACjC,mDAAqC,CAAA;IACrC,yCAA2B,CAAA;IAC3B,uCAAyB,CAAA;IACzB,qDAAuC,CAAA;IACvC;;;;;;OAMG;IACH,gDAAkC,CAAA;IAClC,0CAA4B,CAAA;IAC5B,4CAA8B,CAAA;IAC9B,0CAA4B,CAAA;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,8CAAgC,CAAA;IAChC,8CAAgC,CAAA;IAChC,wCAA0B,CAAA;IAC1B,gDAAkC,CAAA;IAClC,kDAAoC,CAAA;IACpC;;;;;;;OAOG;IACH,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,4CAA8B,CAAA;IAC9B;;;;;;;;;;;OAWG;IACH,mCAAqB,CAAA;IACrB,8CAAgC,CAAA;IAChC;;;;;;;;;OASG;IACH,8CAAgC,CAAA;IAChC,8CAAgC,CAAA;IAChC,wDAA0C,CAAA;IAC1C,gDAAkC,CAAA;IAClC,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;IAC1B,wCAA0B,CAAA;IAC1B;;;;;;OAMG;IACH,kDAAoC,CAAA;IACpC,oDAAsC,CAAA;IACtC,qCAAuB,CAAA;AACzB,CAAC,EAjGI,UAAU,KAAV,UAAU,QAiGd;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Scope a span query to the spans that raised one exception group.
|
|
3
|
+
*
|
|
4
|
+
* Spans carry no fingerprint of their own; an exception group's occurrences
|
|
5
|
+
* (ExceptionInstance rows) record the (traceId, spanId) they were raised in.
|
|
6
|
+
* The server compiles this scope to
|
|
7
|
+
*
|
|
8
|
+
* (traceId, spanId) IN (
|
|
9
|
+
* SELECT traceId, spanId FROM <exception occurrences>
|
|
10
|
+
* WHERE projectId = <the query's project>
|
|
11
|
+
* AND fingerprint = <fingerprint>
|
|
12
|
+
* [AND primaryEntityId = <service>]
|
|
13
|
+
* )
|
|
14
|
+
*
|
|
15
|
+
* so the span list, its count, the histogram and the facets all describe
|
|
16
|
+
* exactly the spans behind the exception's occurrences — with no cap on how
|
|
17
|
+
* many occurrences there are. It only ever narrows a query: authorization
|
|
18
|
+
* still runs on the span query's own projectId and primaryEntityId.
|
|
19
|
+
*/
|
|
20
|
+
// The synthetic query key the span list endpoint reads.
|
|
21
|
+
export const EXCEPTION_SPAN_SCOPE_QUERY_KEY = "exceptionScope";
|
|
22
|
+
// Fingerprints are SHA-256 hex today; the cap only rejects junk.
|
|
23
|
+
export const EXCEPTION_SPAN_SCOPE_MAX_FINGERPRINT_LENGTH = 512;
|
|
24
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
25
|
+
/*
|
|
26
|
+
* Validate an untrusted scope (request body, deserialized query). Returns
|
|
27
|
+
* null for anything malformed so callers can decide how to fail; a blank or
|
|
28
|
+
* oversized fingerprint, or a service id that is not a UUID, is malformed.
|
|
29
|
+
*/
|
|
30
|
+
export function parseExceptionSpanScope(value) {
|
|
31
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const record = value;
|
|
35
|
+
const fingerprint = record["fingerprint"];
|
|
36
|
+
if (typeof fingerprint !== "string") {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const trimmedFingerprint = fingerprint.trim();
|
|
40
|
+
if (trimmedFingerprint.length === 0 ||
|
|
41
|
+
trimmedFingerprint.length > EXCEPTION_SPAN_SCOPE_MAX_FINGERPRINT_LENGTH) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const rawEntityId = record["primaryEntityId"];
|
|
45
|
+
if (rawEntityId === undefined || rawEntityId === null || rawEntityId === "") {
|
|
46
|
+
return { fingerprint: trimmedFingerprint };
|
|
47
|
+
}
|
|
48
|
+
const primaryEntityId = typeof rawEntityId === "string"
|
|
49
|
+
? rawEntityId.trim()
|
|
50
|
+
: typeof rawEntityId === "object" &&
|
|
51
|
+
typeof rawEntityId["value"] === "string"
|
|
52
|
+
? rawEntityId["value"].trim()
|
|
53
|
+
: "";
|
|
54
|
+
if (!UUID_PATTERN.test(primaryEntityId)) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return { fingerprint: trimmedFingerprint, primaryEntityId };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=ExceptionSpanScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExceptionSpanScope.js","sourceRoot":"","sources":["../../../../Types/Telemetry/ExceptionSpanScope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,8BAA8B,GAAW,gBAAgB,CAAC;AAEvE,iEAAiE;AACjE,MAAM,CAAC,MAAM,2CAA2C,GAAW,GAAG,CAAC;AAQvE,MAAM,YAAY,GAChB,iEAAiE,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAA4B,KAAgC,CAAC;IACzE,MAAM,WAAW,GAAY,MAAM,CAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,kBAAkB,GAAW,WAAW,CAAC,IAAI,EAAE,CAAC;IAEtD,IACE,kBAAkB,CAAC,MAAM,KAAK,CAAC;QAC/B,kBAAkB,CAAC,MAAM,GAAG,2CAA2C,EACvE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAY,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC5E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,WAAW,KAAK,QAAQ;QAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE;QACpB,CAAC,CAAC,OAAO,WAAW,KAAK,QAAQ;YAC7B,OAAQ,WAAuC,CAAC,OAAO,CAAC,KAAK,QAAQ;YACvE,CAAC,CAAG,WAAuC,CAAC,OAAO,CAAY,CAAC,IAAI,EAAE;YACtE,CAAC,CAAC,EAAE,CAAC;IAEX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* What a LOCKED telemetry filter chip can explain about itself.
|
|
3
|
+
*
|
|
4
|
+
* A resource page (a Kubernetes cluster, a Docker host, a RUM application,
|
|
5
|
+
* an incident's stored query, ...) pins the telemetry explorers it embeds to
|
|
6
|
+
* its own scope. The viewer shows that scope as a grey chip with a lock icon
|
|
7
|
+
* — "Cluster: production" — and nothing else, so a reader cannot tell whether
|
|
8
|
+
* the match is by resource attribute, by entity membership, by service id,
|
|
9
|
+
* or by something else, nor how to reproduce it on the main explorer page.
|
|
10
|
+
*
|
|
11
|
+
* The chip builders in the Dashboard fill one of these per locked chip; the
|
|
12
|
+
* shared chip renderer turns it into a rich tooltip and into the
|
|
13
|
+
* "Copy filter" affordance. Display-only: nothing here changes the query.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=LockedFilterDetail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockedFilterDetail.js","sourceRoot":"","sources":["../../../../Types/Telemetry/LockedFilterDetail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RESOURCE_FACET_CATALOG_KEYS } from "./ResourceFacetCatalog";
|
|
1
2
|
/*
|
|
2
3
|
* The resource facets of the telemetry explorers (Logs / Traces), split by
|
|
3
4
|
* how a selection has to be turned into a predicate.
|
|
@@ -8,8 +9,9 @@
|
|
|
8
9
|
* selection has to be matched against depends on the ingestion path:
|
|
9
10
|
*
|
|
10
11
|
* - Agent-ingested resource telemetry (Infrastructure / Docker / Podman /
|
|
11
|
-
* Kubernetes
|
|
12
|
-
*
|
|
12
|
+
* Kubernetes / Proxmox / Ceph / VMware ... agents) has no
|
|
13
|
+
* `service.name`, so the resource IS the primary entity and
|
|
14
|
+
* `primaryEntityId` holds its Postgres id.
|
|
13
15
|
* - OTLP telemetry that carries a `service.name` is primary-keyed on its
|
|
14
16
|
* Service (`OtelIngestBaseService.selectPrimaryEntity`); the host /
|
|
15
17
|
* cluster it runs on is recorded only in `entityKeys`.
|
|
@@ -32,16 +34,20 @@ export const SERVICE_FACET_KEYS = [
|
|
|
32
34
|
"serviceId",
|
|
33
35
|
];
|
|
34
36
|
/**
|
|
35
|
-
* Facets whose values are ids of a NON-Service resource row
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
37
|
+
* Facets whose values are ids of a NON-Service resource row — every entry
|
|
38
|
+
* of the shared resource facet catalog, in catalog (sidebar) order. The
|
|
39
|
+
* value is a Postgres id which the server resolves, where the resource type
|
|
40
|
+
* has a telemetry identity, to its identifying value and from there to its
|
|
41
|
+
* entity key and resource attribute (see ResourceEntityFilter). Types with
|
|
42
|
+
* no such identity keep an id-only `primaryEntityId IN (...)` predicate.
|
|
43
|
+
*
|
|
44
|
+
* Derived rather than listed: a hand-kept copy of the catalog is exactly
|
|
45
|
+
* how Proxmox / vCenter / Ceph / Docker Swarm / Serverless / Cloud / RUM /
|
|
46
|
+
* IoT selections ended up silently dropped by the parser below while their
|
|
47
|
+
* facets were already on screen.
|
|
39
48
|
*/
|
|
40
49
|
export const RESOURCE_ENTITY_FACET_KEYS = [
|
|
41
|
-
|
|
42
|
-
"dockerHostId",
|
|
43
|
-
"podmanHostId",
|
|
44
|
-
"kubernetesClusterId",
|
|
50
|
+
...RESOURCE_FACET_CATALOG_KEYS,
|
|
45
51
|
];
|
|
46
52
|
const RESOURCE_ENTITY_FACET_KEY_SET = new Set(RESOURCE_ENTITY_FACET_KEYS);
|
|
47
53
|
const SERVICE_FACET_KEY_SET = new Set(SERVICE_FACET_KEYS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceEntityFacet.js","sourceRoot":"","sources":["../../../../Types/Telemetry/ResourceEntityFacet.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ResourceEntityFacet.js","sourceRoot":"","sources":["../../../../Types/Telemetry/ResourceEntityFacet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,iBAAiB;IACjB,WAAW;CACZ,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA0B;IAC/D,GAAG,2BAA2B;CAC/B,CAAC;AAEF,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAChE,0BAA0B,CAC3B,CAAC;AAEF,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CACxD,kBAAkB,CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,GAAG,kBAAkB;IACrB,GAAG,0BAA0B;CAC9B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,OAAO,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAUD;;;;;;;;GAQG;AACH,MAAM,UAAU,oCAAoC,CAClD,OAA6C;IAE7C,MAAM,UAAU,GAAkC,EAAE,CAAC;IAErD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAgB,IAAI,GAAG,CAAS,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAExE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,6BAA6B,CAC3C,OAA6C;IAE7C,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAU,CAAC;IAE9C,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,YAAY,GAChB,iEAAiE,CAAC;AAEpE,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAAW,GAAG,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAChD,MAAe;IAEf,MAAM,UAAU,GAAkC,EAAE,CAAC;IAErD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAA4B,MAAiC,CAAC;IAE1E,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAY,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAkB,KAAK,CAAC,IAAI,CACnC,IAAI,GAAG,CACJ,GAAsB,CAAC,MAAM,CAAC,CAAC,KAAc,EAAmB,EAAE;YACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CACH,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAEvC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,UAAqD;IAErD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAW,EAAW,EAAE;QAC3D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import IconProp from "../Icon/IconProp";
|
|
2
|
+
import ServiceType from "./ServiceType";
|
|
3
|
+
export const RESOURCE_FACET_CATALOG = [
|
|
4
|
+
{
|
|
5
|
+
facetKey: "hostId",
|
|
6
|
+
serviceType: ServiceType.Host,
|
|
7
|
+
label: "Host",
|
|
8
|
+
pluralLabel: "Hosts",
|
|
9
|
+
icon: IconProp.Server,
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
facetKey: "dockerHostId",
|
|
13
|
+
serviceType: ServiceType.DockerHost,
|
|
14
|
+
label: "Docker Host",
|
|
15
|
+
pluralLabel: "Docker Hosts",
|
|
16
|
+
icon: IconProp.Docker,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
facetKey: "podmanHostId",
|
|
20
|
+
serviceType: ServiceType.PodmanHost,
|
|
21
|
+
label: "Podman Host",
|
|
22
|
+
pluralLabel: "Podman Hosts",
|
|
23
|
+
icon: IconProp.Podman,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
facetKey: "kubernetesClusterId",
|
|
27
|
+
serviceType: ServiceType.KubernetesCluster,
|
|
28
|
+
label: "Kubernetes Cluster",
|
|
29
|
+
pluralLabel: "Kubernetes Clusters",
|
|
30
|
+
icon: IconProp.Kubernetes,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
facetKey: "dockerSwarmClusterId",
|
|
34
|
+
serviceType: ServiceType.DockerSwarmCluster,
|
|
35
|
+
label: "Docker Swarm Cluster",
|
|
36
|
+
pluralLabel: "Docker Swarm Clusters",
|
|
37
|
+
icon: IconProp.DockerSwarm,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
facetKey: "proxmoxClusterId",
|
|
41
|
+
serviceType: ServiceType.ProxmoxCluster,
|
|
42
|
+
label: "Proxmox Cluster",
|
|
43
|
+
pluralLabel: "Proxmox Clusters",
|
|
44
|
+
icon: IconProp.Proxmox,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
facetKey: "vmwareVCenterId",
|
|
48
|
+
serviceType: ServiceType.VMwareVCenter,
|
|
49
|
+
label: "vCenter",
|
|
50
|
+
pluralLabel: "vCenters",
|
|
51
|
+
icon: IconProp.VMware,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
facetKey: "cephClusterId",
|
|
55
|
+
serviceType: ServiceType.CephCluster,
|
|
56
|
+
label: "Ceph Cluster",
|
|
57
|
+
pluralLabel: "Ceph Clusters",
|
|
58
|
+
icon: IconProp.Ceph,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
facetKey: "serverlessFunctionId",
|
|
62
|
+
serviceType: ServiceType.ServerlessFunction,
|
|
63
|
+
label: "Serverless Function",
|
|
64
|
+
pluralLabel: "Serverless Functions",
|
|
65
|
+
icon: IconProp.Bolt,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
facetKey: "cloudResourceId",
|
|
69
|
+
serviceType: ServiceType.CloudResource,
|
|
70
|
+
label: "Cloud Resource",
|
|
71
|
+
pluralLabel: "Cloud Resources",
|
|
72
|
+
icon: IconProp.Cloud,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
facetKey: "rumApplicationId",
|
|
76
|
+
serviceType: ServiceType.RealUserMonitor,
|
|
77
|
+
label: "RUM Application",
|
|
78
|
+
pluralLabel: "RUM Applications",
|
|
79
|
+
icon: IconProp.Globe,
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
facetKey: "iotFleetId",
|
|
83
|
+
serviceType: ServiceType.IoTDevice,
|
|
84
|
+
label: "IoT Fleet",
|
|
85
|
+
pluralLabel: "IoT Fleets",
|
|
86
|
+
icon: IconProp.IoT,
|
|
87
|
+
},
|
|
88
|
+
];
|
|
89
|
+
// Catalog order — the order the sidebars list resource facets in.
|
|
90
|
+
export const RESOURCE_FACET_CATALOG_KEYS = RESOURCE_FACET_CATALOG.map((definition) => {
|
|
91
|
+
return definition.facetKey;
|
|
92
|
+
});
|
|
93
|
+
const DEFINITIONS_BY_KEY = new Map(RESOURCE_FACET_CATALOG.map((definition) => {
|
|
94
|
+
return [definition.facetKey, definition];
|
|
95
|
+
}));
|
|
96
|
+
export function getResourceFacetDefinition(facetKey) {
|
|
97
|
+
return DEFINITIONS_BY_KEY.get(facetKey);
|
|
98
|
+
}
|
|
99
|
+
export function isCatalogResourceFacetKey(facetKey) {
|
|
100
|
+
return DEFINITIONS_BY_KEY.has(facetKey);
|
|
101
|
+
}
|
|
102
|
+
/*
|
|
103
|
+
* facetKey → ServiceType, the shape the aggregation services count
|
|
104
|
+
* resource facets with (`primaryEntityType = <ServiceType>`).
|
|
105
|
+
*/
|
|
106
|
+
export function getResourceFacetServiceTypeMap() {
|
|
107
|
+
return new Map(RESOURCE_FACET_CATALOG.map((definition) => {
|
|
108
|
+
return [definition.facetKey, definition.serviceType];
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
// facetKey → singular label, for chip keys and section titles.
|
|
112
|
+
export function getResourceFacetLabelMap() {
|
|
113
|
+
const labels = {};
|
|
114
|
+
for (const definition of RESOURCE_FACET_CATALOG) {
|
|
115
|
+
labels[definition.facetKey] = definition.label;
|
|
116
|
+
}
|
|
117
|
+
return labels;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=ResourceFacetCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceFacetCatalog.js","sourceRoot":"","sources":["../../../../Types/Telemetry/ResourceFacetCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,29 +3,46 @@ import useTranslateValue from "../../Utils/Translation";
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
const Card = (props) => {
|
|
5
5
|
const { translateValue } = useTranslateValue();
|
|
6
|
-
const
|
|
6
|
+
const hasButtons = Boolean(props.buttons && props.buttons.length > 0);
|
|
7
|
+
const noRightElementsOrButtons = !props.rightElement && !hasButtons;
|
|
8
|
+
const isStacked = props.headerLayout === "stacked";
|
|
7
9
|
const translatedTitle = translateValue(props.title);
|
|
8
10
|
const translatedDescription = translateValue(props.description);
|
|
11
|
+
const renderButtons = () => {
|
|
12
|
+
return (props.buttons || []).map((button, i) => {
|
|
13
|
+
return (React.createElement("div", { key: i, className: "flex items-center" },
|
|
14
|
+
React.isValidElement(button) ? button : null,
|
|
15
|
+
React.isValidElement(button) ? null : (React.createElement(Button, { key: i, title: button.title, buttonStyle: button.buttonStyle, buttonSize: button.buttonSize, className: button.className, onClick: () => {
|
|
16
|
+
if (button.onClick) {
|
|
17
|
+
button.onClick();
|
|
18
|
+
}
|
|
19
|
+
}, disabled: button.disabled, tooltip: button.tooltip, icon: button.icon, shortcutKey: button.shortcutKey, dataTestId: "card-button", isLoading: button.isLoading }))));
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const titleAndDescription = (React.createElement(React.Fragment, null,
|
|
23
|
+
translatedTitle && (React.createElement("h2", { "data-testid": "card-details-heading", id: "card-details-heading", className: "text-lg font-semibold leading-6 text-gray-900" }, translatedTitle)),
|
|
24
|
+
translatedDescription && (React.createElement("p", { "data-testid": "card-description", className: "mt-1.5 text-sm text-gray-500 w-full hidden md:block leading-relaxed" }, translatedDescription))));
|
|
25
|
+
/*
|
|
26
|
+
* Button carries a left margin for the side-by-side header (ml-1 or
|
|
27
|
+
* md:ml-3, depending on its style). On a row of its own that margin only
|
|
28
|
+
* pushes the first button off the title's left edge, and the gap already
|
|
29
|
+
* spaces the rest, so it is cleared here.
|
|
30
|
+
*/
|
|
31
|
+
const stackedHeader = (React.createElement("div", { "data-testid": "card-header", "data-header-layout": "stacked" },
|
|
32
|
+
React.createElement("div", { className: "w-full min-w-0" }, titleAndDescription),
|
|
33
|
+
(props.rightElement || hasButtons) && (React.createElement("div", { "data-testid": "card-header-actions", className: "mt-3 flex flex-wrap items-center gap-2 [&_button]:ml-0 [&_button]:md:ml-0" },
|
|
34
|
+
props.rightElement && (React.createElement("div", { className: "flex items-center" }, props.rightElement)),
|
|
35
|
+
hasButtons && renderButtons()))));
|
|
36
|
+
const defaultHeader = (React.createElement("div", { className: "flex flex-col md:flex-row md:justify-between md:items-start" },
|
|
37
|
+
React.createElement("div", { className: `${noRightElementsOrButtons ? "w-full" : "flex-1 min-w-0"}` }, titleAndDescription),
|
|
38
|
+
(props.rightElement || hasButtons) && (React.createElement("div", { className: "flex flex-col md:flex-row md:items-center md:w-fit mt-4 md:mt-0 md:ml-4 gap-2 md:gap-0 flex-shrink-0 items-center" },
|
|
39
|
+
props.rightElement && (React.createElement("div", { className: "mb-2 md:mb-0 md:mr-3" }, props.rightElement)),
|
|
40
|
+
hasButtons && (React.createElement("div", { className: "flex flex-wrap items-center gap-1.5" }, renderButtons()))))));
|
|
9
41
|
return (React.createElement(React.Fragment, null,
|
|
10
42
|
React.createElement("div", { "data-testid": "card", className: `mb-5 ${props.className || ""}` },
|
|
11
43
|
React.createElement("div", { className: "bg-white border border-gray-200 rounded-xl shadow-sm overflow-visible" },
|
|
12
44
|
React.createElement("div", { className: "py-6 px-5 md:px-6" },
|
|
13
|
-
|
|
14
|
-
React.createElement("div", { className: `${noRightElementsOrButtons ? "w-full" : "flex-1 min-w-0"}` },
|
|
15
|
-
translatedTitle && (React.createElement("h2", { "data-testid": "card-details-heading", id: "card-details-heading", className: "text-lg font-semibold leading-6 text-gray-900" }, translatedTitle)),
|
|
16
|
-
translatedDescription && (React.createElement("p", { "data-testid": "card-description", className: "mt-1.5 text-sm text-gray-500 w-full hidden md:block leading-relaxed" }, translatedDescription))),
|
|
17
|
-
(props.rightElement ||
|
|
18
|
-
(props.buttons && props.buttons.length > 0)) && (React.createElement("div", { className: "flex flex-col md:flex-row md:items-center md:w-fit mt-4 md:mt-0 md:ml-4 gap-2 md:gap-0 flex-shrink-0 items-center" },
|
|
19
|
-
props.rightElement && (React.createElement("div", { className: "mb-2 md:mb-0 md:mr-3" }, props.rightElement)),
|
|
20
|
-
props.buttons && props.buttons.length > 0 && (React.createElement("div", { className: "flex flex-wrap items-center gap-1.5" }, props.buttons.map((button, i) => {
|
|
21
|
-
return (React.createElement("div", { key: i, className: "flex items-center" },
|
|
22
|
-
React.isValidElement(button) ? button : null,
|
|
23
|
-
React.isValidElement(button) ? null : (React.createElement(Button, { key: i, title: button.title, buttonStyle: button.buttonStyle, buttonSize: button.buttonSize, className: button.className, onClick: () => {
|
|
24
|
-
if (button.onClick) {
|
|
25
|
-
button.onClick();
|
|
26
|
-
}
|
|
27
|
-
}, disabled: button.disabled, tooltip: button.tooltip, icon: button.icon, shortcutKey: button.shortcutKey, dataTestId: "card-button", isLoading: button.isLoading }))));
|
|
28
|
-
})))))),
|
|
45
|
+
isStacked ? stackedHeader : defaultHeader,
|
|
29
46
|
props.children && (React.createElement("div", { className: props.bodyClassName || "mt-4" }, props.children)))))));
|
|
30
47
|
};
|
|
31
48
|
export default Card;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../../UI/Components/Card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAuC,MAAM,kBAAkB,CAAC;AAGvE,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAA0C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../../UI/Components/Card/Card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
const CheckboxElement = (props) => {
|
|
3
|
+
const checkboxId = React.useId();
|
|
4
|
+
const descriptionId = `${checkboxId}-description`;
|
|
3
5
|
const [value, setValue] = React.useState(props.initialValue || false);
|
|
4
6
|
// ref this checkbox.
|
|
5
7
|
const checkboxRef = React.useRef(null);
|
|
@@ -15,15 +17,15 @@ const CheckboxElement = (props) => {
|
|
|
15
17
|
return (React.createElement("div", null,
|
|
16
18
|
React.createElement("div", { className: `relative flex items-start ${props.outerDivClassName || ""}` },
|
|
17
19
|
React.createElement("div", { className: "flex h-6 items-center" },
|
|
18
|
-
React.createElement("input", { checked: value, onChange: (event) => {
|
|
20
|
+
React.createElement("input", { id: checkboxId, checked: value, onChange: (event) => {
|
|
19
21
|
setValue(event.target.checked);
|
|
20
22
|
if (props.onChange) {
|
|
21
23
|
props.onChange(event.target.checked, props.isIndeterminate);
|
|
22
24
|
}
|
|
23
|
-
}, ref: checkboxRef, autoFocus: props.autoFocus, tabIndex: props.tabIndex, readOnly: props.readOnly, disabled: props.disabled, onFocus: props.onFocus, onBlur: props.onBlur, "data-testid": props.dataTestId, "aria-label": props.ariaLabel, title: props.hoverText, "aria-describedby": props.description ?
|
|
25
|
+
}, ref: checkboxRef, autoFocus: props.autoFocus, tabIndex: props.tabIndex, readOnly: props.readOnly, disabled: props.disabled, onFocus: props.onFocus, onBlur: props.onBlur, "data-testid": props.dataTestId, "aria-label": props.ariaLabel, title: props.hoverText, "aria-describedby": props.description ? descriptionId : undefined, "aria-invalid": props.error ? "true" : undefined, type: "checkbox", className: `accent-indigo-600 h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600 ${props.className || ""}` })),
|
|
24
26
|
React.createElement("div", { className: "ml-3 text-sm leading-6" },
|
|
25
|
-
React.createElement("label", { className: "font-medium text-gray-900" }, props.title),
|
|
26
|
-
props.description && (React.createElement("div", { id:
|
|
27
|
+
React.createElement("label", { className: "font-medium text-gray-900", htmlFor: checkboxId }, props.title),
|
|
28
|
+
props.description && (React.createElement("div", { id: descriptionId, className: "text-gray-500" }, props.description)))),
|
|
27
29
|
props.error && (React.createElement("p", { "data-testid": "error-message", className: "mt-1 text-sm text-red-400" }, props.error))));
|
|
28
30
|
};
|
|
29
31
|
export default CheckboxElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../../UI/Components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAqC/D,MAAM,eAAe,GAAqC,CACxD,KAAoB,EACN,EAAE;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,YAAY,IAAI,KAAK,CAC5B,CAAC;IAEF,qBAAqB;IACrB,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,OAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC;IACtE,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,OAAO,CACL;QACE,6BACE,SAAS,EAAE,6BAA6B,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE;YAEvE,6BAAK,SAAS,EAAC,uBAAuB;gBACpC,+BACE,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,KAA0C,EAAE,EAAE;wBACvD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAE/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACnB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC,EACD,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,iBACP,KAAK,CAAC,UAAU,gBACjB,KAAK,CAAC,SAAS,EAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../../UI/Components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAqC/D,MAAM,eAAe,GAAqC,CACxD,KAAoB,EACN,EAAE;IAChB,MAAM,UAAU,GAAW,KAAK,CAAC,KAAK,EAAE,CAAC;IACzC,MAAM,aAAa,GAAW,GAAG,UAAU,cAAc,CAAC;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,YAAY,IAAI,KAAK,CAC5B,CAAC;IAEF,qBAAqB;IACrB,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,OAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC;IACtE,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,OAAO,CACL;QACE,6BACE,SAAS,EAAE,6BAA6B,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAAE;YAEvE,6BAAK,SAAS,EAAC,uBAAuB;gBACpC,+BACE,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,KAA0C,EAAE,EAAE;wBACvD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAE/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACnB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;wBAC9D,CAAC;oBACH,CAAC,EACD,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,MAAM,iBACP,KAAK,CAAC,UAAU,gBACjB,KAAK,CAAC,SAAS,EAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,sBACJ,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,kBACjD,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,2FACT,KAAK,CAAC,SAAS,IAAI,EACrB,EAAE,GACF,CACE;YACN,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,+BAAO,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,UAAU,IAC7D,KAAK,CAAC,KAAK,CACN;gBACP,KAAK,CAAC,WAAW,IAAI,CACpB,6BAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAC,eAAe,IAC9C,KAAK,CAAC,WAAW,CACd,CACP,CACG,CACF;QACL,KAAK,CAAC,KAAK,IAAI,CACd,0CAAe,eAAe,EAAC,SAAS,EAAC,2BAA2B,IACjE,KAAK,CAAC,KAAK,CACV,CACL,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -11,7 +11,11 @@ const CopyTextButton = (props) => {
|
|
|
11
11
|
const handleCopy = async (event) => {
|
|
12
12
|
event.preventDefault();
|
|
13
13
|
event.stopPropagation();
|
|
14
|
-
|
|
14
|
+
// A refused or unavailable clipboard resolves false; "Copied!" would lie.
|
|
15
|
+
const succeeded = await Clipboard.copyToClipboard(props.textToBeCopied);
|
|
16
|
+
if (!succeeded) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
15
19
|
setCopied(true);
|
|
16
20
|
setTimeout(() => {
|
|
17
21
|
setCopied(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyTextButton.js","sourceRoot":"","sources":["../../../../../UI/Components/CopyTextButton/CopyTextButton.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAIN,MAAM,OAAO,CAAC;AACf,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAapD,MAAM,cAAc,GAAsC,CACxD,KAAqB,EACP,EAAE;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,IAAI,GAAuB,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;IACpD,MAAM,OAAO,GAA+B,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;IACrE,MAAM,KAAK,GAAW,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IAC5C,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;IAE3D,MAAM,UAAU,GAAyC,KAAK,EAC5D,KAAsD,EACtD,EAAE;QACF,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,SAAS,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"CopyTextButton.js","sourceRoot":"","sources":["../../../../../UI/Components/CopyTextButton/CopyTextButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -220,7 +220,7 @@ const CustomFieldsDetail = (props) => {
|
|
|
220
220
|
: []),
|
|
221
221
|
...(props.additionalButtons || []),
|
|
222
222
|
];
|
|
223
|
-
return (React.createElement(Card, { title: props.title, description: props.description, buttons: cardButtons },
|
|
223
|
+
return (React.createElement(Card, { title: props.title, description: props.description, buttons: cardButtons, headerLayout: props.headerLayout },
|
|
224
224
|
React.createElement("div", { className: "border-t border-gray-200 px-4 py-5 sm:px-6 -m-6 -mt-2" },
|
|
225
225
|
isLoading && !loadError && React.createElement(ComponentLoader, null),
|
|
226
226
|
!isLoading && !loadError && schemaList.length === 0 && (React.createElement(ErrorMessage, { message: "No custom fields have been added for this resource. You may add custom fields in Project Settings." })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldsDetail.js","sourceRoot":"","sources":["../../../../../UI/Components/CustomFields/CustomFieldsDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,QAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,cAAc,EAAE,EACrB,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"CustomFieldsDetail.js","sourceRoot":"","sources":["../../../../../UI/Components/CustomFields/CustomFieldsDetail.tsx"],"names":[],"mappings":"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"}
|