@oneuptime/common 11.7.3 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/ExceptionInstance.ts +67 -0
- package/Models/AnalyticsModels/Index.ts +10 -0
- package/Models/AnalyticsModels/Log.ts +60 -0
- package/Models/AnalyticsModels/RumSession.ts +1401 -0
- package/Models/AnalyticsModels/RumSessionChunk.ts +798 -0
- package/Models/AnalyticsModels/Span.ts +60 -0
- package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +52 -0
- package/Models/DatabaseModels/AIRun.ts +31 -0
- package/Models/DatabaseModels/Alert.ts +29 -0
- package/Models/DatabaseModels/AlertCustomField.ts +1 -1
- package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +1 -0
- package/Models/DatabaseModels/AlertFeed.ts +1 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +1 -0
- package/Models/DatabaseModels/AutoRemediationRule.ts +989 -0
- package/Models/DatabaseModels/AutoRemediationSuggestion.ts +874 -0
- package/Models/DatabaseModels/CodeRepository.ts +129 -0
- package/Models/DatabaseModels/GlobalConfig.ts +312 -0
- package/Models/DatabaseModels/Incident.ts +29 -0
- package/Models/DatabaseModels/IncidentCustomField.ts +1 -1
- package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +1 -0
- package/Models/DatabaseModels/IncidentFeed.ts +1 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
- package/Models/DatabaseModels/Index.ts +26 -8
- package/Models/DatabaseModels/InstanceHealthLog.ts +8 -0
- package/Models/DatabaseModels/LogDropFilter.ts +89 -0
- package/Models/DatabaseModels/MonitorCustomField.ts +1 -1
- package/Models/DatabaseModels/MonitorStatus.ts +1 -1
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +13 -3
- package/Models/DatabaseModels/NetworkDeviceLabelRule.ts +2 -2
- package/Models/DatabaseModels/NetworkDeviceOwnerRule.ts +2 -2
- package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +1 -1
- package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +1 -1
- package/Models/DatabaseModels/Project.ts +231 -0
- package/Models/DatabaseModels/RecommendationDismissal.ts +463 -0
- package/Models/DatabaseModels/RumApplication.ts +906 -0
- package/Models/DatabaseModels/RumSessionErasureRequest.ts +561 -0
- package/Models/DatabaseModels/RumSessionPin.ts +457 -0
- package/Models/DatabaseModels/RumSessionReplayView.ts +406 -0
- package/Models/DatabaseModels/RunbookCredential.ts +673 -0
- package/Models/DatabaseModels/RunbookSecret.ts +7 -7
- package/Models/DatabaseModels/{RunbookAgent.ts → Runner.ts} +206 -46
- package/Models/DatabaseModels/{RunbookAgentJob.ts → RunnerJob.ts} +151 -18
- package/Models/DatabaseModels/{RunbookAgentOwnerTeam.ts → RunnerOwnerTeam.ts} +41 -43
- package/Models/DatabaseModels/{RunbookAgentOwnerUser.ts → RunnerOwnerUser.ts} +41 -43
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +1 -1
- package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -0
- package/Models/DatabaseModels/StatusPageCustomField.ts +1 -1
- package/Models/DatabaseModels/StatusPageGroup.ts +95 -0
- package/Models/DatabaseModels/TeamCustomField.ts +1 -1
- package/Models/DatabaseModels/TeamMemberCustomField.ts +1 -1
- package/Models/DatabaseModels/TraceDropFilter.ts +89 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +5 -1
- package/Server/API/AIAgentDataAPI.ts +179 -48
- package/Server/API/AIAgentTaskAPI.ts +36 -37
- package/Server/API/AIAgentTaskLogAPI.ts +19 -33
- package/Server/API/AlertAPI.ts +32 -17
- package/Server/API/AutoRemediationAPI.ts +557 -0
- package/Server/API/BaseAPI.ts +31 -2
- package/Server/API/BaseAnalyticsAPI.ts +40 -3
- package/Server/API/CommonAPI.ts +92 -0
- package/Server/API/DashboardAPI.ts +340 -15
- package/Server/API/IncidentAPI.ts +60 -33
- package/Server/API/IncidentEpisodeAPI.ts +31 -16
- package/Server/API/MonitorAPI.ts +30 -0
- package/Server/API/MonitorTemplateAPI.ts +8 -0
- package/Server/API/ProbeAPI.ts +196 -15
- package/Server/API/ProjectAPI.ts +79 -1
- package/Server/API/ScheduledMaintenanceAPI.ts +33 -18
- package/Server/API/StatusPageAPI.ts +74 -37
- package/Server/API/TelemetryAPI.ts +1622 -3
- package/Server/API/UserIncomingCallNumberAPI.ts +31 -0
- package/Server/API/WorkspaceNotificationRuleAPI.ts +34 -4
- package/Server/DatabaseConfig.ts +26 -1
- package/Server/EnvironmentConfig.ts +13 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.ts +527 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.ts +55 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.ts +53 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.ts +293 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.ts +33 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.ts +40 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.ts +54 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.ts +104 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.ts +349 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.ts +23 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.ts +42 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.ts +84 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.ts +152 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.ts +81 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.ts +151 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.ts +597 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.ts +71 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +40 -0
- package/Server/Services/AIRunService.ts +10 -0
- package/Server/Services/AIService.ts +30 -0
- package/Server/Services/AlertEpisodeService.ts +47 -0
- package/Server/Services/AlertService.ts +166 -4
- package/Server/Services/AlertSeverityService.ts +25 -11
- package/Server/Services/AlertStateService.ts +25 -11
- package/Server/Services/AutoRemediationRuleEngineService.ts +1101 -0
- package/Server/Services/{RunbookAgentOwnerTeamService.ts → AutoRemediationRuleService.ts} +1 -1
- package/Server/Services/AutoRemediationSuggestionService.ts +183 -0
- package/Server/Services/BillingService.ts +148 -1
- package/Server/Services/DatabaseService.ts +274 -22
- package/Server/Services/IncidentEpisodeService.ts +47 -0
- package/Server/Services/IncidentService.ts +179 -4
- package/Server/Services/IncidentSeverityService.ts +25 -11
- package/Server/Services/IncidentStateService.ts +25 -11
- package/Server/Services/IncidentTemplateService.ts +123 -1
- package/Server/Services/Index.ts +21 -0
- package/Server/Services/LogDropFilterService.ts +133 -0
- package/Server/Services/MonitorProbeService.ts +94 -4
- package/Server/Services/MonitorService.ts +72 -43
- package/Server/Services/MonitorStatusService.ts +25 -11
- package/Server/Services/NetworkDeviceDiscoveryScanService.ts +70 -0
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +18 -19
- package/Server/Services/NetworkDeviceLabelRuleService.ts +39 -0
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +18 -19
- package/Server/Services/NetworkDeviceOwnerRuleService.ts +37 -0
- package/Server/Services/NetworkDeviceService.ts +172 -21
- package/Server/Services/NetworkSiteAssignmentRuleService.ts +92 -12
- package/Server/Services/NetworkSiteService.ts +27 -10
- package/Server/Services/ProbeService.ts +66 -0
- package/Server/Services/ProjectService.ts +178 -7
- package/Server/Services/RecommendationDismissalService.ts +52 -0
- package/Server/Services/RumApplicationService.ts +240 -1
- package/Server/Services/RumSessionChunkService.ts +11 -0
- package/Server/Services/RumSessionErasureRequestService.ts +197 -0
- package/Server/Services/RumSessionPinService.ts +213 -0
- package/Server/Services/RumSessionReplayViewService.ts +201 -0
- package/Server/Services/RumSessionService.ts +123 -0
- package/Server/Services/RunbookCredentialService.ts +76 -0
- package/Server/Services/{RunbookAgentJobService.ts → RunnerJobService.ts} +264 -52
- package/Server/Services/{RunbookAgentOwnerUserService.ts → RunnerOwnerTeamService.ts} +1 -1
- package/Server/Services/RunnerOwnerUserService.ts +10 -0
- package/Server/Services/RunnerService.ts +172 -0
- package/Server/Services/ScheduledMaintenanceService.ts +103 -0
- package/Server/Services/ScheduledMaintenanceStateService.ts +25 -11
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +15 -1
- package/Server/Services/ScheduledMaintenanceTemplateService.ts +90 -0
- package/Server/Services/ServiceService.ts +8 -2
- package/Server/Services/StatusPageGroupService.ts +186 -0
- package/Server/Services/StatusPageService.ts +240 -36
- package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +20 -1
- package/Server/Services/TelemetryExceptionService.ts +3 -16
- package/Server/Services/TelemetryUsageBillingService.ts +33 -2
- package/Server/Services/TraceAggregationService.ts +196 -32
- package/Server/Services/TraceDropFilterService.ts +133 -0
- package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +17 -0
- package/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.ts +10 -0
- package/Server/Types/Workflow/Components/API/Delete.ts +12 -0
- package/Server/Types/Workflow/Components/API/Get.ts +12 -0
- package/Server/Types/Workflow/Components/API/Patch.ts +12 -0
- package/Server/Types/Workflow/Components/API/Post.ts +12 -0
- package/Server/Types/Workflow/Components/API/Put.ts +13 -0
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +63 -7
- package/Server/Utils/AI/CodeFix/CodeFixAgentAuth.ts +128 -0
- package/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.ts +54 -0
- package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +17 -10
- package/Server/Utils/AI/CodeFix/CodeFixRunQueue.ts +8 -6
- package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +943 -0
- package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +866 -0
- package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +823 -0
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +103 -12
- package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +75 -17
- package/Server/Utils/AI/SRE/ConfidenceSignal.ts +28 -6
- package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +202 -12
- package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +264 -14
- package/Server/Utils/AI/SRE/Insights/Triage.ts +2 -7
- package/Server/Utils/AI/SRE/InvestigationGrader.ts +5 -24
- package/Server/Utils/AI/SRE/InvestigationQueue.ts +259 -20
- package/Server/Utils/AI/SRE/PostedRootCause.ts +82 -0
- package/Server/Utils/AI/SRE/README.md +3 -2
- package/Server/Utils/AI/SRE/RemediationHandoff.ts +82 -0
- package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +6 -19
- package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +2 -2
- package/Server/Utils/Alert/AlertPrivacyFilter.ts +58 -0
- package/Server/Utils/AutoRemediation/CommandPlanExecutor.ts +604 -0
- package/Server/Utils/AutoRemediation/RemediationVerifier.ts +619 -0
- package/Server/Utils/CorsOptions.ts +52 -0
- package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +212 -0
- package/Server/Utils/Database/RelationIdUtil.ts +68 -0
- package/Server/Utils/DropFilterValidation.ts +127 -0
- package/Server/Utils/Errors.ts +5 -0
- package/Server/Utils/Incident/IncidentPrivacyFilter.ts +60 -0
- package/Server/Utils/InstanceHealth/PostgresHealth.ts +286 -0
- package/Server/Utils/InstanceHealth/RedisHealth.ts +434 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +48 -1
- package/Server/Utils/Monitor/MonitorIncident.ts +51 -2
- package/Server/Utils/Monitor/MonitorResource.ts +19 -0
- package/Server/Utils/Monitor/MonitorSummaryCapture.ts +104 -0
- package/Server/Utils/NetworkDevice/RulePatternValidator.ts +44 -0
- package/Server/Utils/OpenAPI.ts +2 -1
- package/Server/Utils/Runbook/RunbookExecutePermission.ts +94 -0
- package/Server/Utils/SessionReplay/SessionReplayErasureTombstone.ts +128 -0
- package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +586 -0
- package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +188 -0
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1449 -0
- package/Server/Utils/SessionReplay/SessionReplayRetention.ts +114 -0
- package/Server/Utils/SessionReplay/SessionReplayTargeting.ts +144 -0
- package/Server/Utils/SessionReplay/SessionReplayUsage.ts +92 -0
- package/Server/Utils/StartServer.ts +47 -3
- package/Server/Utils/Telemetry/AppMetrics.ts +31 -0
- package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +44 -10
- package/Tests/App/Dashboard/AddWidgetModal.test.tsx +557 -0
- package/Tests/App/Dashboard/WidgetCatalog.test.ts +479 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitors.test.ts +343 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitorsModal.test.tsx +320 -0
- package/Tests/Models/AnalyticsModels/RumSessionSchema.test.ts +455 -0
- package/Tests/Models/AnalyticsModels/SessionIdCorrelation.test.ts +158 -0
- package/Tests/Models/DatabaseModels/MonitorProbeColumnAccessControl.test.ts +196 -0
- package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +447 -0
- package/Tests/Models/RecommendationDismissalModel.test.ts +269 -0
- package/Tests/Models/RunnerVersionLabel.test.ts +223 -0
- package/Tests/Server/API/BaseAPIUpdatePayloadValidation.test.ts +320 -0
- package/Tests/Server/API/BaseAnalyticsAPIUpdatePayloadValidation.test.ts +293 -0
- package/Tests/Server/API/CommonAPIAuthGuard.test.ts +164 -0
- package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +1287 -0
- package/Tests/Server/API/LegacyRunbookAgentRoutes.test.ts +117 -0
- package/Tests/Server/API/ProbeAPI.test.ts +422 -53
- package/Tests/Server/API/ProjectAPI.test.ts +180 -0
- package/Tests/Server/API/ProjectAPIExtendTrialBillingDisabled.test.ts +138 -0
- package/Tests/Server/API/ProjectScopedCustomRouteAuth.test.ts +458 -0
- package/Tests/Server/API/SessionReplayAPI.test.ts +2093 -0
- package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +429 -0
- package/Tests/Server/API/UserSmsApi.test.ts +68 -2
- package/Tests/Server/DatabaseConfig.test.ts +150 -0
- package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +359 -0
- package/Tests/Server/Infrastructure/ProcessSignalDelivery.test.ts +426 -0
- package/Tests/Server/Services/AIRunCodeFixClaimScoping.test.ts +100 -0
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +8 -0
- package/Tests/Server/Services/AutoRemediationCommandRuleEngine.test.ts +334 -0
- package/Tests/Server/Services/AutoRemediationRuleEngineService.test.ts +517 -0
- package/Tests/Server/Services/BillingService.test.ts +158 -1
- package/Tests/Server/Services/BillingServiceExtendTrial.test.ts +439 -0
- package/Tests/Server/Services/CrossProjectReferenceWriteGuard.test.ts +810 -0
- package/Tests/Server/Services/DatabaseServiceAtomicAddToColumns.test.ts +269 -0
- package/Tests/Server/Services/DatabaseServiceEmptyUpdate.test.ts +299 -0
- package/Tests/Server/Services/DatabaseServiceSanitizeUpdateData.test.ts +17 -10
- package/Tests/Server/Services/DatabaseServiceSortColumnSelect.test.ts +201 -0
- package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +128 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRouting.test.ts +178 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRoutingMonitor.test.ts +206 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +81 -23
- package/Tests/Server/Services/DropFilterSaveValidation.test.ts +398 -0
- package/Tests/Server/Services/MonitorProbeDeleteHooks.test.ts +280 -0
- package/Tests/Server/Services/MonitorProbeServiceProbeTenancy.test.ts +304 -0
- package/Tests/Server/Services/MonitorServiceOperationalStatusSelection.test.ts +145 -0
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +262 -0
- package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +726 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +570 -9
- package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +94 -1
- package/Tests/Server/Services/NetworkSiteService.test.ts +85 -0
- package/Tests/Server/Services/ProjectServiceExtendTrial.test.ts +614 -0
- package/Tests/Server/Services/RecommendationDismissalService.test.ts +306 -0
- package/Tests/Server/Services/RepairCrossProjectIncidentReferencesMigration.test.ts +528 -0
- package/Tests/Server/Services/RumApplicationReplayHealth.test.ts +114 -0
- package/Tests/Server/Services/RunbookCredentialService.test.ts +657 -0
- package/Tests/Server/Services/SessionReplayCreatePath.test.ts +376 -0
- package/Tests/Server/Services/SessionReplayGateCacheInvalidation.test.ts +211 -0
- package/Tests/Server/Services/SessionReplayMetering.test.ts +174 -0
- package/Tests/Server/Services/StatusPageGroupNesting.test.ts +395 -0
- package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +555 -0
- package/Tests/Server/Services/TelemetryExceptionAIFixReadiness.test.ts +25 -4
- package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +17 -2
- package/Tests/Server/Services/TraceAggregationService.test.ts +48 -0
- package/Tests/Server/Services/TraceAnalyticsResourceDisplayNames.test.ts +855 -0
- package/Tests/Server/Services/UpdateOneByIdKeepsRowId.test.ts +38 -27
- package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +26 -21
- package/Tests/Server/Types/Database/Permissions/WorkflowVariableColumnPermission.test.ts +227 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +285 -0
- package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +44 -0
- package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +475 -0
- package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAuth.test.ts +257 -0
- package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.test.ts +236 -0
- package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +44 -6
- package/Tests/Server/Utils/AI/CodeFixRunQueue.test.ts +47 -1
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +2 -2
- package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +294 -0
- package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +2 -2
- package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +47 -3
- package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +233 -0
- package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +463 -0
- package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
- package/Tests/Server/Utils/AI/RemediationAllowlistNormalization.test.ts +248 -0
- package/Tests/Server/Utils/AI/RemediationCommandTools.test.ts +1008 -0
- package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +887 -0
- package/Tests/Server/Utils/AI/RemediationHandoff.test.ts +306 -0
- package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +745 -0
- package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +291 -0
- package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutor.test.ts +1050 -0
- package/Tests/Server/Utils/AutoRemediation/CommandPlanVerification.test.ts +350 -0
- package/Tests/Server/Utils/AutoRemediation/RemediationVerifier.test.ts +341 -0
- package/Tests/Server/Utils/CorsOptions.test.ts +119 -0
- package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +463 -0
- package/Tests/Server/Utils/Database/RelationIdUtil.test.ts +120 -0
- package/Tests/Server/Utils/Database/ResolveReferenceId.test.ts +60 -0
- package/Tests/Server/Utils/DropFilterValidation.test.ts +269 -0
- package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +337 -0
- package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +671 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryCapture.test.ts +205 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +313 -0
- package/Tests/Server/Utils/PushNotificationUtil.test.ts +228 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +177 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayOriginAllowlist.test.ts +108 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayRetention.test.ts +229 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayTargeting.test.ts +246 -0
- package/Tests/Server/Utils/Telemetry/SpanUtil.test.ts +94 -0
- package/Tests/Server/Utils/Telemetry/TelemetryFanInWriter.test.ts +110 -0
- package/Tests/Types/AI/AIRunStatus.test.ts +25 -0
- package/Tests/Types/AutoRemediation/AiRemediationCommandPlan.test.ts +1063 -0
- package/Tests/Types/BaseDatabase/AggregationType.test.ts +56 -0
- package/Tests/Types/CustomField/CustomFieldDropdownOption.test.ts +227 -0
- package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +811 -0
- package/Tests/Types/Dashboard/RumDashboardTemplate.test.ts +1238 -0
- package/Tests/Types/DateUserTimezone.test.ts +52 -0
- package/Tests/Types/Day/DayOfWeek.test.ts +46 -0
- package/Tests/Types/Docker/DockerInventoryExtractor.test.ts +249 -0
- package/Tests/Types/Kubernetes/KubernetesInventoryExtractor.test.ts +231 -0
- package/Tests/Types/Kubernetes/KubernetesRightSizing.test.ts +323 -0
- package/Tests/Types/Metrics/MetricDownsamplingRetentionDays.test.ts +77 -0
- package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +177 -9
- package/Tests/Types/Monitor/MonitorStepDnsMonitor.test.ts +105 -0
- package/Tests/Types/Monitor/MonitorStepDnssecMonitor.test.ts +131 -0
- package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +60 -0
- package/Tests/Types/Monitor/MonitorStepExternalStatusPageMonitor.test.ts +82 -0
- package/Tests/Types/Monitor/MonitorStepInfrastructureMonitors.test.ts +268 -0
- package/Tests/Types/Monitor/MonitorStepMetricMonitor.test.ts +386 -0
- package/Tests/Types/Monitor/MonitorStepProfileMonitor.test.ts +185 -0
- package/Tests/Types/Monitor/MonitorStepSnmpMonitor.test.ts +156 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +399 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +901 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +608 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +754 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +963 -0
- package/Tests/Types/Monitor/RumAlertTemplates.test.ts +285 -0
- package/Tests/Types/Podman/PodmanInventoryExtractor.test.ts +159 -0
- package/Tests/Types/RollingTime/RollingTimeUtil.test.ts +186 -0
- package/Tests/Types/Runbook/RunbookExecutionDeadline.test.ts +268 -0
- package/Tests/Types/Runbook/RunbookStepTimeout.test.ts +410 -0
- package/Tests/Types/Runbook/RunbookStepType.test.ts +242 -0
- package/Tests/Types/Telemetry/DropFilterSampling.test.ts +241 -0
- package/Tests/Types/Telemetry/TelemetryRetentionConfig.test.ts +225 -0
- package/Tests/Types/Text.test.ts +60 -0
- package/Tests/Types/Workspace/NotificationRuleConditionUtil.test.ts +353 -0
- package/Tests/Types/Workspace/NotificationRuleUtil.test.ts +566 -0
- package/Tests/UI/Components/AutocompleteTextInputMenu.test.tsx +555 -0
- package/Tests/UI/Components/BulkLabelActions.test.tsx +1502 -0
- package/Tests/UI/Components/BulkOwnerActions.test.tsx +1255 -0
- package/Tests/UI/Components/CodeEditor.test.tsx +174 -0
- package/Tests/UI/Components/CustomFields/DropdownOptionsInput.test.tsx +228 -0
- package/Tests/UI/Components/Detail/DropdownColors.test.tsx +128 -0
- package/Tests/UI/Components/Dropdown/DropdownValueBadge.test.tsx +60 -0
- package/Tests/UI/Components/ErrorBoundary.test.tsx +555 -24
- package/Tests/UI/Components/FilterModalOperatorMenu.test.tsx +674 -0
- package/Tests/UI/Components/Forms/ColorPicker.test.tsx +48 -0
- package/Tests/UI/Components/Forms/ColorPickerPopup.test.tsx +222 -0
- package/Tests/UI/Components/Forms/IconPickerPopup.test.tsx +270 -0
- package/Tests/UI/Components/InfoCard.test.tsx +358 -0
- package/Tests/UI/Components/LogTimeRangePicker.test.tsx +138 -0
- package/Tests/UI/Components/Modal.test.tsx +43 -5
- package/Tests/UI/Components/ModelTable/BaseModelTableSearchLabels.test.tsx +397 -0
- package/Tests/UI/Components/ModelTable/ColumnCustomizationModal.test.tsx +427 -0
- package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +125 -6
- package/Tests/UI/Components/OperatorSelectorFilterTypes.test.tsx +1595 -0
- package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +851 -0
- package/Tests/UI/Components/OperatorSelectorMenu.test.tsx +1229 -0
- package/Tests/UI/Components/Pagination.test.tsx +85 -0
- package/Tests/UI/Components/Runbook/StepTimeoutInput.test.tsx +386 -0
- package/Tests/UI/Components/StatusPage/ResourceGroupSection.test.tsx +671 -0
- package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +404 -0
- package/Tests/UI/Monitor/MonitorSummarySnapshotRender.test.tsx +248 -0
- package/Tests/UI/Rum/ChunkLoader.test.ts +790 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +236 -0
- package/Tests/UI/Rum/ReplayStage.test.tsx +606 -0
- package/Tests/UI/Utils/DropdownAlignment.test.ts +306 -0
- package/Tests/UI/Utils/TableFilterUrlState.test.ts +292 -0
- package/Tests/UI/Utils/Timezone.test.ts +86 -0
- package/Tests/UI/Utils/UseClockTick.test.tsx +276 -0
- package/Tests/Utils/AiRemediation/CommandPolicy.test.ts +1063 -0
- package/Tests/Utils/Dashboard/ClockWidgetFormat.test.ts +1374 -0
- package/Tests/Utils/Dashboard/DashboardClockComponent.test.ts +362 -0
- package/Tests/Utils/Dashboard/DashboardHtmlComponent.test.ts +217 -0
- package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +656 -0
- package/Tests/Utils/Dashboard/ValueWidgetLayout.test.ts +1007 -0
- package/Tests/Utils/Metrics/MetricSeriesScope.test.ts +1197 -0
- package/Tests/Utils/Monitor/MonitorSummaryProbeUtil.test.ts +263 -0
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +839 -0
- package/Tests/Utils/NetworkDiscovery/ScanTargetUtil.test.ts +583 -0
- package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +69 -0
- package/Tests/Utils/Rules/RulePatternMatchUtil.test.ts +274 -0
- package/Tests/Utils/Rum/ChunkMath.test.ts +286 -0
- package/Tests/Utils/Rum/Masking.test.ts +186 -0
- package/Tests/Utils/Rum/SessionIdentity.test.ts +272 -0
- package/Tests/Utils/Rum/SessionSampling.test.ts +164 -0
- package/Tests/Utils/Rum/UrlScrubber.test.ts +175 -0
- package/Tests/Utils/StatusPage/GroupNestingLayout.test.ts +1072 -0
- package/Tests/Utils/StatusPage/GroupTree.test.ts +583 -0
- package/Tests/Utils/StatusPage/Report.test.ts +708 -0
- package/Tests/Utils/StatusPage/ResourceUptime.test.ts +411 -0
- package/Tests/Utils/ValueFormatter.test.ts +299 -1
- package/Types/AI/AIRunStatus.ts +18 -7
- package/Types/AI/AIRunType.ts +18 -0
- package/Types/AI/FixVerificationStatus.ts +21 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +16 -0
- package/Types/AutoRemediation/AiRemediationCommandPlan.ts +304 -0
- package/Types/AutoRemediation/AutoRemediationExecutionMode.ts +17 -0
- package/Types/AutoRemediation/AutoRemediationSuggestionStatus.ts +35 -0
- package/Types/AutoRemediation/AutoRemediationSuggestionType.ts +17 -0
- package/Types/AutoRemediation/AutoRemediationTriggerEntity.ts +11 -0
- package/Types/AutoRemediation/AutoRemediationVerificationStatus.ts +21 -0
- package/Types/CustomField/CustomFieldDropdownOption.ts +190 -0
- package/Types/Dashboard/DashboardComponentType.ts +2 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +4 -0
- package/Types/Dashboard/DashboardComponents/DashboardClockComponent.ts +45 -0
- package/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.ts +27 -0
- package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +8 -0
- package/Types/Dashboard/DashboardTemplates.ts +516 -0
- package/Types/Date.ts +21 -6
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Kubernetes/KubernetesRightSizing.ts +353 -0
- package/Types/MeteredPlan/ProductType.ts +1 -0
- package/Types/Monitor/KubernetesAlertTemplates.ts +205 -0
- package/Types/Monitor/MonitorStep.ts +10 -1
- package/Types/Monitor/MonitorStepMetricMonitor.ts +73 -2
- package/Types/Monitor/MonitorSteps.ts +5 -0
- package/Types/Monitor/MonitorSummarySnapshot.ts +88 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +455 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +168 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +177 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +824 -0
- package/Types/Monitor/RumAlertTemplates.ts +386 -0
- package/Types/Permission.ts +249 -24
- package/Types/Recommendation/RecommendationType.ts +20 -0
- package/Types/Rum/SessionReplay.ts +452 -0
- package/Types/Rum/SessionReplayCaptureTrigger.ts +26 -0
- package/Types/Rum/SessionReplayConsentMode.ts +27 -0
- package/Types/Rum/SessionReplayMaskingMode.ts +86 -0
- package/Types/Rum/SessionReplayTriggerReason.ts +31 -0
- package/Types/Runbook/RunbookCredentialType.ts +6 -0
- package/Types/Runbook/RunbookExecutionDeadline.ts +129 -0
- package/Types/Runbook/RunbookStep.ts +66 -1
- package/Types/Runbook/RunbookStepTimeout.ts +202 -0
- package/Types/Runbook/RunbookStepType.ts +26 -0
- package/Types/Runbook/RunnerJobOrigin.ts +20 -0
- package/Types/Runbook/{RunbookAgentJobStatus.ts → RunnerJobStatus.ts} +2 -2
- package/Types/StatusPage/StatusPageReport.ts +99 -0
- package/Types/Telemetry/DropFilterSampling.ts +92 -0
- package/Types/Telemetry/TelemetryRetentionConfig.ts +18 -1
- package/Types/Text.ts +33 -0
- package/UI/Components/AI/GenerateFromAIModal.tsx +0 -2
- package/UI/Components/Accordion/Accordion.tsx +10 -2
- package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +260 -75
- package/UI/Components/BulkUpdate/BulkLabelActions.tsx +99 -10
- package/UI/Components/BulkUpdate/BulkOwnerActions.tsx +11 -0
- package/UI/Components/CodeEditor/CodeEditor.tsx +34 -20
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +19 -14
- package/UI/Components/CustomFields/DropdownOptionsInput.tsx +144 -54
- package/UI/Components/Date/RangeStartAndEndDateView.tsx +0 -1
- package/UI/Components/Detail/Detail.tsx +9 -22
- package/UI/Components/Dropdown/Dropdown.tsx +2 -5
- package/UI/Components/Dropdown/DropdownMenuZIndex.ts +7 -0
- package/UI/Components/Dropdown/DropdownValueBadge.tsx +61 -0
- package/UI/Components/EditionLabel/EditionLabel.tsx +1 -27
- package/UI/Components/Error/PageError.tsx +0 -4
- package/UI/Components/ErrorBoundary.tsx +252 -15
- package/UI/Components/Filters/OperatorSelector.tsx +350 -39
- package/UI/Components/Forms/Fields/ColorPicker.tsx +60 -27
- package/UI/Components/Forms/Fields/IconPicker.tsx +89 -60
- package/UI/Components/Forms/Validation.ts +9 -4
- package/UI/Components/InfoCard/InfoCard.tsx +58 -1
- package/UI/Components/List/List.tsx +1 -0
- package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +34 -1
- package/UI/Components/Modal/Modal.tsx +16 -60
- package/UI/Components/ModelFormModal/ModelFormModal.tsx +0 -8
- package/UI/Components/ModelTable/BaseModelTable.tsx +116 -67
- package/UI/Components/ModelTable/ColumnCustomizationModal.tsx +150 -47
- package/UI/Components/ModelTable/CustomFieldColumns.tsx +41 -32
- package/UI/Components/Pagination/Pagination.tsx +33 -10
- package/UI/Components/Runbook/StepTimeoutInput.tsx +173 -0
- package/UI/Components/StatusPage/ResourceGroupSection.tsx +231 -0
- package/UI/Components/Table/Table.tsx +1 -0
- package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +34 -1
- package/UI/Types/UseAnchoredFieldPopup.ts +321 -0
- package/UI/Utils/Dropdown.ts +26 -0
- package/UI/Utils/DropdownAlignment.ts +162 -0
- package/UI/Utils/TableFilterUrlState.ts +59 -20
- package/UI/Utils/Timezone.ts +18 -2
- package/UI/Utils/UseClockTick.ts +78 -0
- package/Utils/API.ts +106 -2
- package/Utils/AiRemediation/CommandPolicy.ts +398 -0
- package/Utils/Dashboard/ClockWidgetFormat.ts +604 -0
- package/Utils/Dashboard/Components/DashboardClockComponent.ts +181 -0
- package/Utils/Dashboard/Components/DashboardHtmlComponent.ts +162 -0
- package/Utils/Dashboard/Components/DashboardValueComponent.ts +12 -1
- package/Utils/Dashboard/Components/Index.ts +14 -0
- package/Utils/Dashboard/HtmlWidgetDocument.ts +309 -0
- package/Utils/Dashboard/ValueWidgetLayout.ts +471 -0
- package/Utils/Metrics/MetricSeriesScope.ts +301 -0
- package/Utils/Monitor/MonitorSummaryProbeUtil.ts +130 -0
- package/Utils/Monitor/MonitorSummarySnapshotUtil.ts +593 -0
- package/Utils/NetworkDiscovery/ScanTargetUtil.ts +434 -0
- package/Utils/NetworkSite/CidrMatchUtil.ts +30 -17
- package/Utils/Rules/RulePatternMatchUtil.ts +103 -0
- package/Utils/Rum/ChunkMath.ts +211 -0
- package/Utils/Rum/Masking.ts +168 -0
- package/Utils/Rum/SessionIdentity.ts +230 -0
- package/Utils/Rum/SessionSampling.ts +108 -0
- package/Utils/Rum/UrlScrubber.ts +185 -0
- package/Utils/Schema/ModelSchema.ts +27 -3
- package/Utils/StatusPage/GroupNestingLayout.ts +343 -0
- package/Utils/StatusPage/GroupTree.ts +307 -0
- package/Utils/StatusPage/Report.ts +304 -0
- package/Utils/StatusPage/ResourceUptime.ts +90 -17
- package/Utils/ValueFormatter.ts +300 -54
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +63 -0
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Index.js +10 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Log.js +56 -0
- package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/RumSession.js +1159 -0
- package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +670 -0
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/Span.js +56 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +54 -0
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIRun.js +32 -0
- package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Alert.js +30 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertFeed.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AutoRemediationRule.js +998 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js +917 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js +132 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +327 -0
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +30 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentFeed.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +22 -8
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/InstanceHealthLog.js +8 -0
- package/build/dist/Models/DatabaseModels/InstanceHealthLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LogDropFilter.js +91 -0
- package/build/dist/Models/DatabaseModels/LogDropFilter.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +14 -4
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js +2 -2
- package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js +2 -2
- package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +235 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RecommendationDismissal.js +484 -0
- package/build/dist/Models/DatabaseModels/RecommendationDismissal.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RumApplication.js +930 -0
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js +591 -0
- package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RumSessionPin.js +483 -0
- package/build/dist/Models/DatabaseModels/RumSessionPin.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RumSessionReplayView.js +433 -0
- package/build/dist/Models/DatabaseModels/RumSessionReplayView.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RunbookCredential.js +693 -0
- package/build/dist/Models/DatabaseModels/RunbookCredential.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RunbookSecret.js +8 -8
- package/build/dist/Models/DatabaseModels/RunbookSecret.js.map +1 -1
- package/build/dist/Models/DatabaseModels/{RunbookAgent.js → Runner.js} +235 -70
- package/build/dist/Models/DatabaseModels/Runner.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentJob.js → RunnerJob.js} +173 -40
- package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerTeam.js → RunnerOwnerTeam.js} +57 -57
- package/build/dist/Models/DatabaseModels/RunnerOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerUser.js → RunnerOwnerUser.js} +57 -57
- package/build/dist/Models/DatabaseModels/RunnerOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js +94 -0
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TraceDropFilter.js +91 -0
- package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +5 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +130 -45
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/AIAgentTaskAPI.js +26 -36
- package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -1
- package/build/dist/Server/API/AIAgentTaskLogAPI.js +11 -28
- package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -1
- package/build/dist/Server/API/AlertAPI.js +22 -13
- package/build/dist/Server/API/AlertAPI.js.map +1 -1
- package/build/dist/Server/API/AutoRemediationAPI.js +416 -0
- package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -0
- package/build/dist/Server/API/BaseAPI.js +22 -1
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/BaseAnalyticsAPI.js +28 -2
- package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
- package/build/dist/Server/API/CommonAPI.js +66 -0
- package/build/dist/Server/API/CommonAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +265 -6
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentAPI.js +43 -26
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/API/IncidentEpisodeAPI.js +21 -12
- package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
- package/build/dist/Server/API/MonitorAPI.js +23 -0
- package/build/dist/Server/API/MonitorAPI.js.map +1 -1
- package/build/dist/Server/API/MonitorTemplateAPI.js +4 -0
- package/build/dist/Server/API/MonitorTemplateAPI.js.map +1 -1
- package/build/dist/Server/API/ProbeAPI.js +131 -15
- package/build/dist/Server/API/ProbeAPI.js.map +1 -1
- package/build/dist/Server/API/ProjectAPI.js +62 -3
- package/build/dist/Server/API/ProjectAPI.js.map +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js +23 -14
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +61 -33
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +940 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js +18 -0
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
- package/build/dist/Server/API/WorkspaceNotificationRuleAPI.js +26 -2
- package/build/dist/Server/API/WorkspaceNotificationRuleAPI.js.map +1 -1
- package/build/dist/Server/DatabaseConfig.js +23 -4
- package/build/dist/Server/DatabaseConfig.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +8 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.js +397 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.js +30 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js +106 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js +37 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js +29 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js +35 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js +128 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js +28 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js +27 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js +44 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js +88 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js +59 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js +76 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js +214 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js +44 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AIRunService.js +1 -4
- package/build/dist/Server/Services/AIRunService.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +26 -0
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeService.js +39 -0
- package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +132 -4
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AlertSeverityService.js +24 -11
- package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
- package/build/dist/Server/Services/AlertStateService.js +24 -11
- package/build/dist/Server/Services/AlertStateService.js.map +1 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +917 -0
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentOwnerTeamService.js → AutoRemediationRuleService.js} +2 -2
- package/build/dist/Server/Services/AutoRemediationRuleService.js.map +1 -0
- package/build/dist/Server/Services/AutoRemediationSuggestionService.js +127 -0
- package/build/dist/Server/Services/AutoRemediationSuggestionService.js.map +1 -0
- package/build/dist/Server/Services/BillingService.js +116 -1
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +210 -19
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeService.js +39 -0
- package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +152 -4
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSeverityService.js +24 -11
- package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateService.js +24 -11
- package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
- package/build/dist/Server/Services/IncidentTemplateService.js +97 -0
- package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +20 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LogDropFilterService.js +93 -0
- package/build/dist/Server/Services/LogDropFilterService.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +73 -5
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +58 -39
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusService.js +25 -11
- package/build/dist/Server/Services/MonitorStatusService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +71 -0
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +12 -11
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js +43 -0
- package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +12 -11
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js +41 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +129 -20
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +67 -10
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +19 -8
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/ProbeService.js +64 -0
- package/build/dist/Server/Services/ProbeService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +146 -7
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RecommendationDismissalService.js +50 -0
- package/build/dist/Server/Services/RecommendationDismissalService.js.map +1 -0
- package/build/dist/Server/Services/RumApplicationService.js +202 -0
- package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
- package/build/dist/Server/Services/RumSessionChunkService.js +9 -0
- package/build/dist/Server/Services/RumSessionChunkService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionErasureRequestService.js +190 -0
- package/build/dist/Server/Services/RumSessionErasureRequestService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionPinService.js +208 -0
- package/build/dist/Server/Services/RumSessionPinService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js +180 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionService.js +102 -0
- package/build/dist/Server/Services/RumSessionService.js.map +1 -0
- package/build/dist/Server/Services/RunbookCredentialService.js +67 -0
- package/build/dist/Server/Services/RunbookCredentialService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentJobService.js → RunnerJobService.js} +217 -47
- package/build/dist/Server/Services/RunnerJobService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentOwnerUserService.js → RunnerOwnerTeamService.js} +2 -2
- package/build/dist/Server/Services/RunnerOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/RunnerOwnerUserService.js +9 -0
- package/build/dist/Server/Services/RunnerOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/RunnerService.js +168 -0
- package/build/dist/Server/Services/RunnerService.js.map +1 -0
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +83 -0
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateService.js +24 -11
- package/build/dist/Server/Services/ScheduledMaintenanceStateService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +15 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js +65 -0
- package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +8 -2
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageGroupService.js +136 -0
- package/build/dist/Server/Services/StatusPageGroupService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +173 -16
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +17 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryExceptionService.js +3 -16
- package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +31 -3
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +106 -2
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Services/TraceDropFilterService.js +93 -0
- package/build/dist/Server/Services/TraceDropFilterService.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +16 -0
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js +9 -0
- package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js +11 -0
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Get.js +11 -0
- package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js +11 -0
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js +11 -0
- package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Put.js +12 -0
- package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +38 -6
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js +104 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js.map +1 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js +54 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js.map +1 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +11 -7
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js +3 -4
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +724 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +668 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +657 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +52 -7
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +53 -5
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +25 -6
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +131 -17
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +200 -5
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js +2 -7
- package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +4 -17
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +203 -19
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +89 -0
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js +82 -0
- package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +4 -19
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +2 -2
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +36 -0
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js +498 -0
- package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js.map +1 -0
- package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js +492 -0
- package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js.map +1 -0
- package/build/dist/Server/Utils/CorsOptions.js +47 -0
- package/build/dist/Server/Utils/CorsOptions.js.map +1 -0
- package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +132 -0
- package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js +51 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js.map +1 -0
- package/build/dist/Server/Utils/DropFilterValidation.js +80 -0
- package/build/dist/Server/Utils/DropFilterValidation.js.map +1 -0
- package/build/dist/Server/Utils/Errors.js +3 -0
- package/build/dist/Server/Utils/Errors.js.map +1 -1
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +38 -0
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +194 -0
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +1 -0
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +292 -0
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +39 -12
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +47 -18
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +16 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js +92 -0
- package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js.map +1 -0
- package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js +27 -0
- package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js.map +1 -0
- package/build/dist/Server/Utils/OpenAPI.js +2 -1
- package/build/dist/Server/Utils/OpenAPI.js.map +1 -1
- package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js +67 -0
- package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js +98 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +378 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +137 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +998 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js +59 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js +98 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js +69 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +40 -3
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js +26 -0
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +27 -6
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
- package/build/dist/Types/AI/AIRunStatus.js +17 -5
- package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
- package/build/dist/Types/AI/AIRunType.js +18 -0
- package/build/dist/Types/AI/AIRunType.js.map +1 -1
- package/build/dist/Types/AI/FixVerificationStatus.js +22 -0
- package/build/dist/Types/AI/FixVerificationStatus.js.map +1 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +16 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js +192 -0
- package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js +18 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js +31 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js +18 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js +12 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js +22 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldDropdownOption.js +110 -0
- package/build/dist/Types/CustomField/CustomFieldDropdownOption.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +4 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js +19 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +487 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Date.js +20 -4
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Kubernetes/KubernetesRightSizing.js +229 -0
- package/build/dist/Types/Kubernetes/KubernetesRightSizing.js.map +1 -0
- package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
- package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +192 -0
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +6 -1
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +43 -2
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSteps.js +5 -0
- package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSummarySnapshot.js +13 -0
- package/build/dist/Types/Monitor/MonitorSummarySnapshot.js.map +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +326 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +110 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +59 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +491 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -0
- package/build/dist/Types/Monitor/RumAlertTemplates.js +297 -0
- package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -0
- package/build/dist/Types/Permission.js +224 -24
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Recommendation/RecommendationType.js +21 -0
- package/build/dist/Types/Recommendation/RecommendationType.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplay.js +155 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +26 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayConsentMode.js +27 -0
- package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayMaskingMode.js +79 -0
- package/build/dist/Types/Rum/SessionReplayMaskingMode.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayTriggerReason.js +28 -0
- package/build/dist/Types/Rum/SessionReplayTriggerReason.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookCredentialType.js +7 -0
- package/build/dist/Types/Runbook/RunbookCredentialType.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookExecutionDeadline.js +93 -0
- package/build/dist/Types/Runbook/RunbookExecutionDeadline.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookStep.js +20 -1
- package/build/dist/Types/Runbook/RunbookStep.js.map +1 -1
- package/build/dist/Types/Runbook/RunbookStepTimeout.js +142 -0
- package/build/dist/Types/Runbook/RunbookStepTimeout.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookStepType.js +24 -0
- package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
- package/build/dist/Types/Runbook/RunnerJobOrigin.js +21 -0
- package/build/dist/Types/Runbook/RunnerJobOrigin.js.map +1 -0
- package/build/dist/Types/Runbook/RunnerJobStatus.js +22 -0
- package/build/dist/Types/Runbook/RunnerJobStatus.js.map +1 -0
- package/build/dist/Types/StatusPage/StatusPageReport.js +22 -0
- package/build/dist/Types/StatusPage/StatusPageReport.js.map +1 -0
- package/build/dist/Types/Telemetry/DropFilterSampling.js +75 -0
- package/build/dist/Types/Telemetry/DropFilterSampling.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryRetentionConfig.js.map +1 -1
- package/build/dist/Types/Text.js +29 -0
- package/build/dist/Types/Text.js.map +1 -1
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js +1 -2
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -1
- package/build/dist/UI/Components/Accordion/Accordion.js +9 -2
- package/build/dist/UI/Components/Accordion/Accordion.js.map +1 -1
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +143 -28
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js +83 -10
- package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js +11 -0
- package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js.map +1 -1
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js +27 -14
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +11 -13
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js +76 -45
- package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js.map +1 -1
- package/build/dist/UI/Components/Date/RangeStartAndEndDateView.js +1 -1
- package/build/dist/UI/Components/Date/RangeStartAndEndDateView.js.map +1 -1
- package/build/dist/UI/Components/Detail/Detail.js +3 -8
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js +2 -5
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js +7 -0
- package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js.map +1 -0
- package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js +32 -0
- package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js.map +1 -0
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +2 -20
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/Error/PageError.js +1 -3
- package/build/dist/UI/Components/Error/PageError.js.map +1 -1
- package/build/dist/UI/Components/ErrorBoundary.js +145 -11
- package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
- package/build/dist/UI/Components/Filters/OperatorSelector.js +210 -20
- package/build/dist/UI/Components/Filters/OperatorSelector.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +26 -10
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js +28 -13
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Validation.js +9 -5
- package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
- package/build/dist/UI/Components/InfoCard/InfoCard.js +28 -1
- package/build/dist/UI/Components/InfoCard/InfoCard.js.map +1 -1
- package/build/dist/UI/Components/List/List.js +1 -1
- package/build/dist/UI/Components/List/List.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +13 -2
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +4 -32
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +69 -33
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js +73 -32
- package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +21 -19
- package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
- package/build/dist/UI/Components/Pagination/Pagination.js +14 -3
- package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
- package/build/dist/UI/Components/Runbook/StepTimeoutInput.js +101 -0
- package/build/dist/UI/Components/Runbook/StepTimeoutInput.js.map +1 -0
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js +73 -0
- package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js.map +1 -0
- package/build/dist/UI/Components/Table/Table.js +1 -1
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +13 -2
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js +197 -0
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js.map +1 -0
- package/build/dist/UI/Utils/Dropdown.js +18 -0
- package/build/dist/UI/Utils/Dropdown.js.map +1 -1
- package/build/dist/UI/Utils/DropdownAlignment.js +98 -0
- package/build/dist/UI/Utils/DropdownAlignment.js.map +1 -0
- package/build/dist/UI/Utils/TableFilterUrlState.js +48 -15
- package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
- package/build/dist/UI/Utils/Timezone.js +13 -2
- package/build/dist/UI/Utils/Timezone.js.map +1 -1
- package/build/dist/UI/Utils/UseClockTick.js +41 -0
- package/build/dist/UI/Utils/UseClockTick.js.map +1 -0
- package/build/dist/Utils/API.js +39 -2
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/AiRemediation/CommandPolicy.js +303 -0
- package/build/dist/Utils/AiRemediation/CommandPolicy.js.map +1 -0
- package/build/dist/Utils/Dashboard/ClockWidgetFormat.js +232 -0
- package/build/dist/Utils/Dashboard/ClockWidgetFormat.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js +146 -0
- package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js +133 -0
- package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +10 -1
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/Index.js +8 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +198 -0
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -0
- package/build/dist/Utils/Dashboard/ValueWidgetLayout.js +276 -0
- package/build/dist/Utils/Dashboard/ValueWidgetLayout.js.map +1 -0
- package/build/dist/Utils/Metrics/MetricSeriesScope.js +203 -0
- package/build/dist/Utils/Metrics/MetricSeriesScope.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorSummaryProbeUtil.js +97 -0
- package/build/dist/Utils/Monitor/MonitorSummaryProbeUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js +382 -0
- package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js +330 -0
- package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +13 -7
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -1
- package/build/dist/Utils/Rules/RulePatternMatchUtil.js +87 -0
- package/build/dist/Utils/Rules/RulePatternMatchUtil.js.map +1 -0
- package/build/dist/Utils/Rum/ChunkMath.js +147 -0
- package/build/dist/Utils/Rum/ChunkMath.js.map +1 -0
- package/build/dist/Utils/Rum/Masking.js +143 -0
- package/build/dist/Utils/Rum/Masking.js.map +1 -0
- package/build/dist/Utils/Rum/SessionIdentity.js +161 -0
- package/build/dist/Utils/Rum/SessionIdentity.js.map +1 -0
- package/build/dist/Utils/Rum/SessionSampling.js +91 -0
- package/build/dist/Utils/Rum/SessionSampling.js.map +1 -0
- package/build/dist/Utils/Rum/UrlScrubber.js +144 -0
- package/build/dist/Utils/Rum/UrlScrubber.js.map +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js +28 -3
- package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
- package/build/dist/Utils/StatusPage/GroupNestingLayout.js +280 -0
- package/build/dist/Utils/StatusPage/GroupNestingLayout.js.map +1 -0
- package/build/dist/Utils/StatusPage/GroupTree.js +214 -0
- package/build/dist/Utils/StatusPage/GroupTree.js.map +1 -0
- package/build/dist/Utils/StatusPage/Report.js +194 -0
- package/build/dist/Utils/StatusPage/Report.js.map +1 -0
- package/build/dist/Utils/StatusPage/ResourceUptime.js +60 -16
- package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
- package/build/dist/Utils/ValueFormatter.js +239 -46
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/jest.config.json +3 -0
- package/package.json +1 -1
- package/tsconfig.json +19 -1
- package/Server/Services/RunbookAgentService.ts +0 -93
- package/build/dist/Models/DatabaseModels/RunbookAgent.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentJob.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentOwnerTeam.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentOwnerUser.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentJobService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentOwnerTeamService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentOwnerUserService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentService.js +0 -91
- package/build/dist/Server/Services/RunbookAgentService.js.map +0 -1
- package/build/dist/Types/Runbook/RunbookAgentJobStatus.js +0 -22
- package/build/dist/Types/Runbook/RunbookAgentJobStatus.js.map +0 -1
|
@@ -0,0 +1,1401 @@
|
|
|
1
|
+
import AnalyticsBaseModel from "./AnalyticsBaseModel/AnalyticsBaseModel";
|
|
2
|
+
import AnalyticsTableEngine from "../../Types/AnalyticsDatabase/AnalyticsTableEngine";
|
|
3
|
+
import AnalyticsTableName from "../../Types/AnalyticsDatabase/AnalyticsTableName";
|
|
4
|
+
import AnalyticsTableColumn, {
|
|
5
|
+
SkipIndexType,
|
|
6
|
+
} from "../../Types/AnalyticsDatabase/TableColumn";
|
|
7
|
+
import TableColumnType from "../../Types/AnalyticsDatabase/TableColumnType";
|
|
8
|
+
import OperationalResource from "../../Types/Database/AccessControl/OperationalResource";
|
|
9
|
+
import OwnedThrough from "../../Types/Database/AccessControl/OwnedThrough";
|
|
10
|
+
import { JSONObject } from "../../Types/JSON";
|
|
11
|
+
import ObjectID from "../../Types/ObjectID";
|
|
12
|
+
import Permission from "../../Types/Permission";
|
|
13
|
+
import { PlanType } from "../../Types/Billing/SubscriptionPlan";
|
|
14
|
+
import ServiceType from "../../Types/Telemetry/ServiceType";
|
|
15
|
+
import RumApplication from "../DatabaseModels/RumApplication";
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* Per-session header for session replay — one row per (session, version).
|
|
19
|
+
*
|
|
20
|
+
* This table is narrow on purpose. Every list, filter, correlation lookup
|
|
21
|
+
* and metering aggregation reads ONLY this table; the recorded payload
|
|
22
|
+
* lives in RumSessionChunk. That split is what makes the session list and
|
|
23
|
+
* the monthly usage rollup cheap despite the payload table being the
|
|
24
|
+
* fattest in the system.
|
|
25
|
+
*
|
|
26
|
+
* Engine is ReplacingMergeTree, which ClusterConfig resolves to
|
|
27
|
+
* ReplicatedReplacingMergeTree(version) with the version column name
|
|
28
|
+
* hardcoded — so a column literally named `version` is mandatory.
|
|
29
|
+
*
|
|
30
|
+
* IMPORTANT — aggregates are DERIVED, never accumulated. ReplacingMergeTree
|
|
31
|
+
* is pure last-write-wins with no accumulation, so a read-modify-write
|
|
32
|
+
* increment per arriving chunk is a lost-update bug at ingest concurrency.
|
|
33
|
+
* Every count here is written once by the finalizer job from a single
|
|
34
|
+
* GROUP BY over the chunk table's own key range.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
* Listing a session is a different privilege from watching one. Neither
|
|
39
|
+
* reuses ReadRumApplication, whose ACL includes the project-wide read-only
|
|
40
|
+
* Viewer role.
|
|
41
|
+
*/
|
|
42
|
+
const SESSION_READ_PERMISSIONS: Array<Permission> = [
|
|
43
|
+
Permission.ProjectOwner,
|
|
44
|
+
Permission.ProjectAdmin,
|
|
45
|
+
Permission.TelemetryAdmin,
|
|
46
|
+
Permission.ReadRumSessionReplay,
|
|
47
|
+
/*
|
|
48
|
+
* Watching implies listing. The two are separate privileges so that a
|
|
49
|
+
* support engineer can triage "which sessions errored" WITHOUT being able
|
|
50
|
+
* to play anyone's screen back - but the containment only makes sense in
|
|
51
|
+
* one direction. Someone granted only the watch permission would otherwise
|
|
52
|
+
* be able to fetch payloads while being 401'd on the manifest that tells
|
|
53
|
+
* them which chunks exist, which is an incoherent grant rather than a
|
|
54
|
+
* safer one.
|
|
55
|
+
*/
|
|
56
|
+
Permission.ReadRumSessionReplayPayload,
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
const SESSION_CREATE_PERMISSIONS: Array<Permission> = [
|
|
60
|
+
Permission.ProjectOwner,
|
|
61
|
+
Permission.ProjectAdmin,
|
|
62
|
+
Permission.TelemetryAdmin,
|
|
63
|
+
Permission.CreateRumSessionReplay,
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const sessionAccessControl: {
|
|
67
|
+
read: Array<Permission>;
|
|
68
|
+
create: Array<Permission>;
|
|
69
|
+
update: Array<Permission>;
|
|
70
|
+
} = {
|
|
71
|
+
read: SESSION_READ_PERMISSIONS,
|
|
72
|
+
create: SESSION_CREATE_PERMISSIONS,
|
|
73
|
+
update: [],
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/*
|
|
77
|
+
* The raw, un-hashed end-user identifier gets its own narrower read ACL:
|
|
78
|
+
* knowing that *a* user had a bad session is triage, knowing *which named
|
|
79
|
+
* person* it was is a further disclosure.
|
|
80
|
+
*/
|
|
81
|
+
const identityAccessControl: {
|
|
82
|
+
read: Array<Permission>;
|
|
83
|
+
create: Array<Permission>;
|
|
84
|
+
update: Array<Permission>;
|
|
85
|
+
} = {
|
|
86
|
+
read: [
|
|
87
|
+
Permission.ProjectOwner,
|
|
88
|
+
Permission.ProjectAdmin,
|
|
89
|
+
Permission.ReadRumSessionReplayPayload,
|
|
90
|
+
],
|
|
91
|
+
create: SESSION_CREATE_PERMISSIONS,
|
|
92
|
+
update: [],
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/* Homogeneous counters, all summed by the finalizer. */
|
|
96
|
+
const COUNTER_COLUMNS: Array<{
|
|
97
|
+
key: string;
|
|
98
|
+
title: string;
|
|
99
|
+
description: string;
|
|
100
|
+
}> = [
|
|
101
|
+
{
|
|
102
|
+
key: "errorCount",
|
|
103
|
+
title: "Error Count",
|
|
104
|
+
description: "Uncaught errors and unhandled rejections in this session",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
key: "rageClickCount",
|
|
108
|
+
title: "Rage Click Count",
|
|
109
|
+
description: "Bursts of >=3 clicks within 1s in a 30px radius",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "deadClickCount",
|
|
113
|
+
title: "Dead Click Count",
|
|
114
|
+
description:
|
|
115
|
+
"Clicks on a non-interactive element that produced no DOM change, navigation or request",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "errorClickCount",
|
|
119
|
+
title: "Error Click Count",
|
|
120
|
+
description: "Clicks followed within 1s by an uncaught error",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
key: "refreshRageCount",
|
|
124
|
+
title: "Refresh Rage Count",
|
|
125
|
+
description: "Bursts of >=3 reloads of the same path within 60s",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
key: "pageCount",
|
|
129
|
+
title: "Page Count",
|
|
130
|
+
description: "Distinct route changes observed in this session",
|
|
131
|
+
},
|
|
132
|
+
];
|
|
133
|
+
|
|
134
|
+
/* Low-cardinality device / policy descriptors, all Set-indexed. */
|
|
135
|
+
const LOW_CARDINALITY_COLUMNS: Array<{
|
|
136
|
+
key: string;
|
|
137
|
+
title: string;
|
|
138
|
+
description: string;
|
|
139
|
+
setParams?: number;
|
|
140
|
+
}> = [
|
|
141
|
+
{
|
|
142
|
+
key: "browserName",
|
|
143
|
+
title: "Browser Name",
|
|
144
|
+
description: "Browser family, derived server-side from the user agent",
|
|
145
|
+
setParams: 64,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
key: "browserVersion",
|
|
149
|
+
title: "Browser Version",
|
|
150
|
+
description: "Major browser version",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
key: "osName",
|
|
154
|
+
title: "OS Name",
|
|
155
|
+
description: "Operating system family",
|
|
156
|
+
setParams: 64,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
key: "deviceType",
|
|
160
|
+
title: "Device Type",
|
|
161
|
+
description: "desktop | mobile | tablet | ios | android",
|
|
162
|
+
setParams: 8,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
key: "maskingMode",
|
|
166
|
+
title: "Masking Mode",
|
|
167
|
+
description:
|
|
168
|
+
"Masking policy actually in force when this session was captured, not the current setting",
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
key: "consentState",
|
|
172
|
+
title: "Consent State",
|
|
173
|
+
description: "Consent state asserted by the recorder at capture time",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
key: "recorderKind",
|
|
177
|
+
title: "Recorder Kind",
|
|
178
|
+
description: "dom for web, rn-view-tree for mobile",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
key: "recorderVersion",
|
|
182
|
+
title: "Recorder Version",
|
|
183
|
+
description: "Version of the OneUptime recorder that produced this session",
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
key: "rrwebVersion",
|
|
187
|
+
title: "rrweb Version",
|
|
188
|
+
description: "Version of the underlying recording library",
|
|
189
|
+
},
|
|
190
|
+
];
|
|
191
|
+
|
|
192
|
+
@OperationalResource()
|
|
193
|
+
@OwnedThrough("primaryEntityId", RumApplication, { includeProjectScope: true })
|
|
194
|
+
export default class RumSession extends AnalyticsBaseModel {
|
|
195
|
+
public constructor() {
|
|
196
|
+
const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
197
|
+
key: "projectId",
|
|
198
|
+
title: "Project ID",
|
|
199
|
+
description: "ID of project",
|
|
200
|
+
required: true,
|
|
201
|
+
type: TableColumnType.ObjectID,
|
|
202
|
+
isTenantId: true,
|
|
203
|
+
accessControl: sessionAccessControl,
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
const rumApplicationIdColumn: AnalyticsTableColumn =
|
|
207
|
+
new AnalyticsTableColumn({
|
|
208
|
+
key: "rumApplicationId",
|
|
209
|
+
title: "RUM Application ID",
|
|
210
|
+
description: "RUM application this session belongs to",
|
|
211
|
+
required: true,
|
|
212
|
+
type: TableColumnType.ObjectID,
|
|
213
|
+
skipIndex: {
|
|
214
|
+
name: "idx_rum_application_id",
|
|
215
|
+
type: SkipIndexType.Set,
|
|
216
|
+
params: [512],
|
|
217
|
+
granularity: 4,
|
|
218
|
+
},
|
|
219
|
+
accessControl: sessionAccessControl,
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
/*
|
|
223
|
+
* Duplicate of rumApplicationId, kept because retention, metering and
|
|
224
|
+
* the Owned-access scope all key on primaryEntityId across every
|
|
225
|
+
* telemetry pillar. Diverging here would mean special-casing replay in
|
|
226
|
+
* all three.
|
|
227
|
+
*/
|
|
228
|
+
const primaryEntityIdColumn: AnalyticsTableColumn =
|
|
229
|
+
new AnalyticsTableColumn({
|
|
230
|
+
key: "primaryEntityId",
|
|
231
|
+
title: "Primary Entity ID",
|
|
232
|
+
description:
|
|
233
|
+
"Resource that owns this session — always the RUM application id",
|
|
234
|
+
required: true,
|
|
235
|
+
type: TableColumnType.ObjectID,
|
|
236
|
+
accessControl: sessionAccessControl,
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
const primaryEntityTypeColumn: AnalyticsTableColumn =
|
|
240
|
+
new AnalyticsTableColumn({
|
|
241
|
+
key: "primaryEntityType",
|
|
242
|
+
title: "Primary Entity Type",
|
|
243
|
+
description: "Always RealUserMonitor for session replay",
|
|
244
|
+
required: true,
|
|
245
|
+
isLowCardinality: true,
|
|
246
|
+
type: TableColumnType.Text,
|
|
247
|
+
skipIndex: {
|
|
248
|
+
name: "idx_primary_entity_type",
|
|
249
|
+
type: SkipIndexType.Set,
|
|
250
|
+
params: [16],
|
|
251
|
+
granularity: 4,
|
|
252
|
+
},
|
|
253
|
+
accessControl: sessionAccessControl,
|
|
254
|
+
});
|
|
255
|
+
|
|
256
|
+
/*
|
|
257
|
+
* Server-clamped session start. Feeds the partition key, so it must be
|
|
258
|
+
* identical on every write for a session and must never come straight
|
|
259
|
+
* from a client clock — an end-user device set to 2035 would otherwise
|
|
260
|
+
* create a partition that never expires.
|
|
261
|
+
*/
|
|
262
|
+
const startTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
263
|
+
key: "startTime",
|
|
264
|
+
title: "Start Time",
|
|
265
|
+
description: "Server-clamped session start",
|
|
266
|
+
required: true,
|
|
267
|
+
type: TableColumnType.DateTime64,
|
|
268
|
+
codec: [{ codec: "DoubleDelta" }, { codec: "ZSTD", level: 1 }],
|
|
269
|
+
accessControl: sessionAccessControl,
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
const sessionIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
273
|
+
key: "sessionId",
|
|
274
|
+
title: "Session ID",
|
|
275
|
+
description: "Client-generated 32-hex session identifier",
|
|
276
|
+
required: true,
|
|
277
|
+
type: TableColumnType.Text,
|
|
278
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
279
|
+
skipIndex: {
|
|
280
|
+
name: "idx_session_id",
|
|
281
|
+
type: SkipIndexType.BloomFilter,
|
|
282
|
+
params: [0.01],
|
|
283
|
+
granularity: 1,
|
|
284
|
+
},
|
|
285
|
+
accessControl: sessionAccessControl,
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
/*
|
|
289
|
+
* ReplacingMergeTree version. Unix MILLIseconds, not nanoseconds:
|
|
290
|
+
* nanosecond epochs (~1.75e18) exceed Number.MAX_SAFE_INTEGER and
|
|
291
|
+
* would lose precision crossing JSON, which would make the replace
|
|
292
|
+
* ordering non-deterministic.
|
|
293
|
+
*/
|
|
294
|
+
const versionColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
295
|
+
key: "version",
|
|
296
|
+
title: "Version",
|
|
297
|
+
description:
|
|
298
|
+
"Write version in unix milliseconds — ReplacingMergeTree keeps the highest",
|
|
299
|
+
required: true,
|
|
300
|
+
type: TableColumnType.UInt64,
|
|
301
|
+
codec: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
302
|
+
accessControl: sessionAccessControl,
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
const isFinalizedColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
306
|
+
key: "isFinalized",
|
|
307
|
+
title: "Is Finalized",
|
|
308
|
+
description:
|
|
309
|
+
"False for a provisional header written on first chunk; true once the finalizer has computed authoritative aggregates",
|
|
310
|
+
required: true,
|
|
311
|
+
type: TableColumnType.Boolean,
|
|
312
|
+
skipIndex: {
|
|
313
|
+
name: "idx_is_finalized",
|
|
314
|
+
type: SkipIndexType.Set,
|
|
315
|
+
params: [2],
|
|
316
|
+
granularity: 4,
|
|
317
|
+
},
|
|
318
|
+
accessControl: sessionAccessControl,
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
const sealedReasonColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
322
|
+
key: "sealedReason",
|
|
323
|
+
title: "Sealed Reason",
|
|
324
|
+
description:
|
|
325
|
+
"Why the session stopped accumulating chunks — lets the UI say 'still recording' vs 'browser closed' vs 'quota exhausted'",
|
|
326
|
+
required: true,
|
|
327
|
+
defaultValue: "",
|
|
328
|
+
isLowCardinality: true,
|
|
329
|
+
type: TableColumnType.Text,
|
|
330
|
+
accessControl: sessionAccessControl,
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
/*
|
|
334
|
+
* Plain ZSTD rather than DoubleDelta: end time is not monotonic across
|
|
335
|
+
* rows, so a delta codec would expand rather than compress it.
|
|
336
|
+
*/
|
|
337
|
+
const endTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
338
|
+
key: "endTime",
|
|
339
|
+
title: "End Time",
|
|
340
|
+
description: "Server-clamped time of the last chunk in this session",
|
|
341
|
+
required: true,
|
|
342
|
+
type: TableColumnType.DateTime64,
|
|
343
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
344
|
+
accessControl: sessionAccessControl,
|
|
345
|
+
});
|
|
346
|
+
|
|
347
|
+
const clientReportedStartTimeColumn: AnalyticsTableColumn =
|
|
348
|
+
new AnalyticsTableColumn({
|
|
349
|
+
key: "clientReportedStartTime",
|
|
350
|
+
title: "Client Reported Start Time",
|
|
351
|
+
description:
|
|
352
|
+
"Raw unclamped client clock, retained so a skewed recording is diagnosable rather than silently misleading",
|
|
353
|
+
required: true,
|
|
354
|
+
type: TableColumnType.DateTime64,
|
|
355
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
356
|
+
accessControl: sessionAccessControl,
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
const numericColumns: Array<AnalyticsTableColumn> = [
|
|
360
|
+
{
|
|
361
|
+
key: "durationMs",
|
|
362
|
+
title: "Duration (ms)",
|
|
363
|
+
description: "Wall-clock session duration",
|
|
364
|
+
type: TableColumnType.LongNumber,
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
key: "chunkCount",
|
|
368
|
+
title: "Chunk Count",
|
|
369
|
+
description: "Distinct chunks actually stored",
|
|
370
|
+
type: TableColumnType.Number,
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
key: "maxChunkIndex",
|
|
374
|
+
title: "Max Chunk Index",
|
|
375
|
+
description:
|
|
376
|
+
"Highest chunk index seen — a maximum, not a counter, so gaps are detectable",
|
|
377
|
+
type: TableColumnType.Number,
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
key: "missingChunkCount",
|
|
381
|
+
title: "Missing Chunk Count",
|
|
382
|
+
description:
|
|
383
|
+
"Chunks the recorder minted that never arrived; drives the gap bands on the scrubber",
|
|
384
|
+
type: TableColumnType.Number,
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
key: "eventCount",
|
|
388
|
+
title: "Event Count",
|
|
389
|
+
description: "Total recorded events across all chunks",
|
|
390
|
+
type: TableColumnType.LongNumber,
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
key: "payloadBytes",
|
|
394
|
+
title: "Payload Bytes",
|
|
395
|
+
description:
|
|
396
|
+
"Total compressed payload bytes — this is the metering signal, read instead of byteSize(*)",
|
|
397
|
+
type: TableColumnType.LongNumber,
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
key: "viewportWidth",
|
|
401
|
+
title: "Viewport Width",
|
|
402
|
+
description: "Viewport width in CSS pixels",
|
|
403
|
+
type: TableColumnType.Number,
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
key: "viewportHeight",
|
|
407
|
+
title: "Viewport Height",
|
|
408
|
+
description: "Viewport height in CSS pixels",
|
|
409
|
+
type: TableColumnType.Number,
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
key: "clockSkewMs",
|
|
413
|
+
title: "Clock Skew (ms)",
|
|
414
|
+
description:
|
|
415
|
+
"Observed client-minus-server clock skew, positive when the device runs ahead",
|
|
416
|
+
type: TableColumnType.LongNumber,
|
|
417
|
+
},
|
|
418
|
+
].map(
|
|
419
|
+
(def: {
|
|
420
|
+
key: string;
|
|
421
|
+
title: string;
|
|
422
|
+
description: string;
|
|
423
|
+
type: TableColumnType;
|
|
424
|
+
}): AnalyticsTableColumn => {
|
|
425
|
+
/*
|
|
426
|
+
* T64 only applies to integers up to 64 bits. LongNumber compiles to
|
|
427
|
+
* ClickHouse Int128, and pairing the two makes CREATE TABLE throw -
|
|
428
|
+
* which fails createTables() at boot and takes the whole App down, not
|
|
429
|
+
* just session replay. Nothing in the type system or the unit tests
|
|
430
|
+
* catches it, because neither executes the DDL.
|
|
431
|
+
*
|
|
432
|
+
* This mirrors the rest of the repo: no existing model pairs
|
|
433
|
+
* LongNumber with T64, and Span's LongNumber columns use plain ZSTD.
|
|
434
|
+
*/
|
|
435
|
+
const isWiderThan64Bits: boolean =
|
|
436
|
+
def.type === TableColumnType.LongNumber;
|
|
437
|
+
|
|
438
|
+
return new AnalyticsTableColumn({
|
|
439
|
+
key: def.key,
|
|
440
|
+
title: def.title,
|
|
441
|
+
description: def.description,
|
|
442
|
+
required: true,
|
|
443
|
+
type: def.type,
|
|
444
|
+
codec: isWiderThan64Bits
|
|
445
|
+
? { codec: "ZSTD", level: 1 }
|
|
446
|
+
: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
447
|
+
accessControl: sessionAccessControl,
|
|
448
|
+
});
|
|
449
|
+
},
|
|
450
|
+
);
|
|
451
|
+
|
|
452
|
+
const counterColumns: Array<AnalyticsTableColumn> = COUNTER_COLUMNS.map(
|
|
453
|
+
(def: {
|
|
454
|
+
key: string;
|
|
455
|
+
title: string;
|
|
456
|
+
description: string;
|
|
457
|
+
}): AnalyticsTableColumn => {
|
|
458
|
+
return new AnalyticsTableColumn({
|
|
459
|
+
key: def.key,
|
|
460
|
+
title: def.title,
|
|
461
|
+
description: def.description,
|
|
462
|
+
required: true,
|
|
463
|
+
type: TableColumnType.Number,
|
|
464
|
+
codec: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
465
|
+
accessControl: sessionAccessControl,
|
|
466
|
+
});
|
|
467
|
+
},
|
|
468
|
+
);
|
|
469
|
+
|
|
470
|
+
const lowCardinalityColumns: Array<AnalyticsTableColumn> =
|
|
471
|
+
LOW_CARDINALITY_COLUMNS.map(
|
|
472
|
+
(def: {
|
|
473
|
+
key: string;
|
|
474
|
+
title: string;
|
|
475
|
+
description: string;
|
|
476
|
+
setParams?: number;
|
|
477
|
+
}): AnalyticsTableColumn => {
|
|
478
|
+
return new AnalyticsTableColumn({
|
|
479
|
+
key: def.key,
|
|
480
|
+
title: def.title,
|
|
481
|
+
description: def.description,
|
|
482
|
+
required: true,
|
|
483
|
+
defaultValue: "",
|
|
484
|
+
isLowCardinality: true,
|
|
485
|
+
type: TableColumnType.Text,
|
|
486
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
487
|
+
skipIndex: def.setParams
|
|
488
|
+
? {
|
|
489
|
+
name: `idx_${def.key.toLowerCase()}`,
|
|
490
|
+
type: SkipIndexType.Set,
|
|
491
|
+
params: [def.setParams],
|
|
492
|
+
granularity: 4,
|
|
493
|
+
}
|
|
494
|
+
: undefined,
|
|
495
|
+
accessControl: sessionAccessControl,
|
|
496
|
+
});
|
|
497
|
+
},
|
|
498
|
+
);
|
|
499
|
+
|
|
500
|
+
/* hasError is the single most-used filter in the session list. */
|
|
501
|
+
const hasErrorColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
502
|
+
key: "hasError",
|
|
503
|
+
title: "Has Error",
|
|
504
|
+
description: "True when any error was observed during the session",
|
|
505
|
+
required: true,
|
|
506
|
+
type: TableColumnType.Boolean,
|
|
507
|
+
skipIndex: {
|
|
508
|
+
name: "idx_has_error",
|
|
509
|
+
type: SkipIndexType.Set,
|
|
510
|
+
params: [2],
|
|
511
|
+
granularity: 4,
|
|
512
|
+
},
|
|
513
|
+
accessControl: sessionAccessControl,
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
const triggerReasonColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
517
|
+
key: "triggerReason",
|
|
518
|
+
title: "Trigger Reason",
|
|
519
|
+
description: "Why this session was uploaded at all",
|
|
520
|
+
required: true,
|
|
521
|
+
defaultValue: "",
|
|
522
|
+
isLowCardinality: true,
|
|
523
|
+
type: TableColumnType.Text,
|
|
524
|
+
skipIndex: {
|
|
525
|
+
name: "idx_trigger_reason",
|
|
526
|
+
type: SkipIndexType.Set,
|
|
527
|
+
params: [8],
|
|
528
|
+
granularity: 4,
|
|
529
|
+
},
|
|
530
|
+
accessControl: sessionAccessControl,
|
|
531
|
+
});
|
|
532
|
+
|
|
533
|
+
/*
|
|
534
|
+
* Sample percentage in force at capture time. Without it, any
|
|
535
|
+
* session-derived rate is un-un-biasable after the setting changes.
|
|
536
|
+
*/
|
|
537
|
+
const samplePercentageAtCaptureColumn: AnalyticsTableColumn =
|
|
538
|
+
new AnalyticsTableColumn({
|
|
539
|
+
key: "samplePercentageAtCapture",
|
|
540
|
+
title: "Sample Percentage At Capture",
|
|
541
|
+
description:
|
|
542
|
+
"Sampling rate in force when this session was captured, so analytics can un-bias counts",
|
|
543
|
+
required: true,
|
|
544
|
+
type: TableColumnType.Decimal,
|
|
545
|
+
accessControl: sessionAccessControl,
|
|
546
|
+
});
|
|
547
|
+
|
|
548
|
+
const urlColumns: Array<AnalyticsTableColumn> = [
|
|
549
|
+
{
|
|
550
|
+
key: "entryUrl",
|
|
551
|
+
title: "Entry URL",
|
|
552
|
+
description: "First URL of the session, already scrubbed client-side",
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
key: "exitUrl",
|
|
556
|
+
title: "Exit URL",
|
|
557
|
+
description: "Last URL of the session, already scrubbed client-side",
|
|
558
|
+
},
|
|
559
|
+
].map(
|
|
560
|
+
(def: {
|
|
561
|
+
key: string;
|
|
562
|
+
title: string;
|
|
563
|
+
description: string;
|
|
564
|
+
}): AnalyticsTableColumn => {
|
|
565
|
+
return new AnalyticsTableColumn({
|
|
566
|
+
key: def.key,
|
|
567
|
+
title: def.title,
|
|
568
|
+
description: def.description,
|
|
569
|
+
required: true,
|
|
570
|
+
defaultValue: "",
|
|
571
|
+
type: TableColumnType.Text,
|
|
572
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
573
|
+
accessControl: sessionAccessControl,
|
|
574
|
+
});
|
|
575
|
+
},
|
|
576
|
+
);
|
|
577
|
+
|
|
578
|
+
const routesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
579
|
+
key: "routes",
|
|
580
|
+
title: "Routes",
|
|
581
|
+
description:
|
|
582
|
+
"Distinct scrubbed paths visited, so 'sessions that reached /checkout' is a bloom-pruned lookup",
|
|
583
|
+
required: true,
|
|
584
|
+
defaultValue: [],
|
|
585
|
+
type: TableColumnType.ArrayText,
|
|
586
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
587
|
+
skipIndex: {
|
|
588
|
+
name: "idx_routes",
|
|
589
|
+
type: SkipIndexType.BloomFilter,
|
|
590
|
+
params: [0.01],
|
|
591
|
+
granularity: 1,
|
|
592
|
+
},
|
|
593
|
+
accessControl: sessionAccessControl,
|
|
594
|
+
});
|
|
595
|
+
|
|
596
|
+
/* Country only, derived server-side. The IP itself is never stored. */
|
|
597
|
+
const countryCodeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
598
|
+
key: "countryCode",
|
|
599
|
+
title: "Country Code",
|
|
600
|
+
description:
|
|
601
|
+
"ISO country code derived from the request IP at ingest. The IP itself is never stored.",
|
|
602
|
+
required: true,
|
|
603
|
+
defaultValue: "",
|
|
604
|
+
isLowCardinality: true,
|
|
605
|
+
type: TableColumnType.Text,
|
|
606
|
+
skipIndex: {
|
|
607
|
+
name: "idx_country_code",
|
|
608
|
+
type: SkipIndexType.Set,
|
|
609
|
+
params: [256],
|
|
610
|
+
granularity: 4,
|
|
611
|
+
},
|
|
612
|
+
accessControl: sessionAccessControl,
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
/*
|
|
616
|
+
* One-way HMAC of the customer-supplied user reference, using a
|
|
617
|
+
* per-project salt. This is the erasure subject key: an erasure
|
|
618
|
+
* request by user identity resolves through this column. Salt rotation
|
|
619
|
+
* is explicitly unsupported — rotating would orphan every stored key
|
|
620
|
+
* and silently break erasure.
|
|
621
|
+
*/
|
|
622
|
+
const identifiedUserKeyColumn: AnalyticsTableColumn =
|
|
623
|
+
new AnalyticsTableColumn({
|
|
624
|
+
key: "identifiedUserKey",
|
|
625
|
+
title: "Identified User Key",
|
|
626
|
+
description:
|
|
627
|
+
"HMAC-SHA256 of the end user reference under a per-project salt. The erasure subject key.",
|
|
628
|
+
required: true,
|
|
629
|
+
defaultValue: "",
|
|
630
|
+
type: TableColumnType.Text,
|
|
631
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
632
|
+
skipIndex: {
|
|
633
|
+
name: "idx_identified_user_key",
|
|
634
|
+
type: SkipIndexType.BloomFilter,
|
|
635
|
+
params: [0.01],
|
|
636
|
+
granularity: 1,
|
|
637
|
+
},
|
|
638
|
+
accessControl: sessionAccessControl,
|
|
639
|
+
});
|
|
640
|
+
|
|
641
|
+
const identifiedUserLabelColumn: AnalyticsTableColumn =
|
|
642
|
+
new AnalyticsTableColumn({
|
|
643
|
+
key: "identifiedUserLabel",
|
|
644
|
+
title: "Identified User Label",
|
|
645
|
+
description:
|
|
646
|
+
"Raw end-user reference. Only populated when the application explicitly enables user-identity capture, and readable under a narrower ACL than the rest of the row.",
|
|
647
|
+
required: true,
|
|
648
|
+
defaultValue: "",
|
|
649
|
+
type: TableColumnType.Text,
|
|
650
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
651
|
+
accessControl: identityAccessControl,
|
|
652
|
+
});
|
|
653
|
+
|
|
654
|
+
/*
|
|
655
|
+
* Reverse-direction correlation. Populated by the finalizer from a
|
|
656
|
+
* single GROUP BY, never incrementally — an incremental array append
|
|
657
|
+
* on a ReplacingMergeTree row loses updates. Capped, because an
|
|
658
|
+
* unbounded array on a repeatedly-rewritten row is a merge
|
|
659
|
+
* amplification trap.
|
|
660
|
+
*/
|
|
661
|
+
const correlationArrayColumns: Array<AnalyticsTableColumn> = [
|
|
662
|
+
{
|
|
663
|
+
key: "traceIds",
|
|
664
|
+
title: "Trace IDs",
|
|
665
|
+
description:
|
|
666
|
+
"Up to 50 trace ids observed in this session's network events, for session -> trace navigation",
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
key: "exceptionFingerprints",
|
|
670
|
+
title: "Exception Fingerprints",
|
|
671
|
+
description:
|
|
672
|
+
"Up to 50 exception fingerprints seen in this session, so 'show me replays of this error group' is a bloom-pruned lookup",
|
|
673
|
+
},
|
|
674
|
+
].map(
|
|
675
|
+
(def: {
|
|
676
|
+
key: string;
|
|
677
|
+
title: string;
|
|
678
|
+
description: string;
|
|
679
|
+
}): AnalyticsTableColumn => {
|
|
680
|
+
return new AnalyticsTableColumn({
|
|
681
|
+
key: def.key,
|
|
682
|
+
title: def.title,
|
|
683
|
+
description: def.description,
|
|
684
|
+
required: true,
|
|
685
|
+
defaultValue: [],
|
|
686
|
+
type: TableColumnType.ArrayText,
|
|
687
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
688
|
+
skipIndex: {
|
|
689
|
+
name: `idx_${def.key.toLowerCase()}`,
|
|
690
|
+
type: SkipIndexType.BloomFilter,
|
|
691
|
+
params: [0.01],
|
|
692
|
+
granularity: 1,
|
|
693
|
+
},
|
|
694
|
+
accessControl: sessionAccessControl,
|
|
695
|
+
});
|
|
696
|
+
},
|
|
697
|
+
);
|
|
698
|
+
|
|
699
|
+
const fidelityNoticesColumn: AnalyticsTableColumn =
|
|
700
|
+
new AnalyticsTableColumn({
|
|
701
|
+
key: "fidelityNotices",
|
|
702
|
+
title: "Fidelity Notices",
|
|
703
|
+
description:
|
|
704
|
+
"Machine-readable disclosures of what could not be captured (canvas, cross-origin iframes, inaccessible stylesheets). Surfaced on the player so a gap is acknowledged rather than silently blank.",
|
|
705
|
+
required: true,
|
|
706
|
+
defaultValue: [],
|
|
707
|
+
type: TableColumnType.ArrayText,
|
|
708
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
709
|
+
accessControl: sessionAccessControl,
|
|
710
|
+
});
|
|
711
|
+
|
|
712
|
+
const fullSnapshotChunkIndexesColumn: AnalyticsTableColumn =
|
|
713
|
+
new AnalyticsTableColumn({
|
|
714
|
+
key: "fullSnapshotChunkIndexes",
|
|
715
|
+
title: "Full Snapshot Chunk Indexes",
|
|
716
|
+
description:
|
|
717
|
+
"Chunk indexes that open on a full DOM snapshot — the seek anchors. Derived by the finalizer.",
|
|
718
|
+
required: true,
|
|
719
|
+
defaultValue: [],
|
|
720
|
+
type: TableColumnType.ArrayNumber,
|
|
721
|
+
codec: { codec: "ZSTD", level: 1 },
|
|
722
|
+
accessControl: sessionAccessControl,
|
|
723
|
+
});
|
|
724
|
+
|
|
725
|
+
const schemaVersionColumns: Array<AnalyticsTableColumn> = [
|
|
726
|
+
{
|
|
727
|
+
key: "schemaVersion",
|
|
728
|
+
title: "Schema Version",
|
|
729
|
+
description: "Payload schema version, so playback can branch safely",
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
key: "wireVersion",
|
|
733
|
+
title: "Wire Version",
|
|
734
|
+
description: "Envelope wire version the recorder posted with",
|
|
735
|
+
},
|
|
736
|
+
].map(
|
|
737
|
+
(def: {
|
|
738
|
+
key: string;
|
|
739
|
+
title: string;
|
|
740
|
+
description: string;
|
|
741
|
+
}): AnalyticsTableColumn => {
|
|
742
|
+
return new AnalyticsTableColumn({
|
|
743
|
+
key: def.key,
|
|
744
|
+
title: def.title,
|
|
745
|
+
description: def.description,
|
|
746
|
+
required: true,
|
|
747
|
+
type: TableColumnType.UInt8,
|
|
748
|
+
codec: [{ codec: "T64" }, { codec: "ZSTD", level: 1 }],
|
|
749
|
+
accessControl: sessionAccessControl,
|
|
750
|
+
});
|
|
751
|
+
},
|
|
752
|
+
);
|
|
753
|
+
|
|
754
|
+
const isLegalHoldColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
755
|
+
key: "isLegalHold",
|
|
756
|
+
title: "Is Legal Hold",
|
|
757
|
+
description:
|
|
758
|
+
"Session is exempt from ordinary retention because it is under legal hold",
|
|
759
|
+
required: true,
|
|
760
|
+
type: TableColumnType.Boolean,
|
|
761
|
+
accessControl: sessionAccessControl,
|
|
762
|
+
});
|
|
763
|
+
|
|
764
|
+
const isPinnedCopyColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
765
|
+
key: "isPinnedCopy",
|
|
766
|
+
title: "Is Pinned Copy",
|
|
767
|
+
description:
|
|
768
|
+
"Written by the pin materializer: a re-insert of this session's header with a far-future retentionDate, so a pinned recording survives ordinary retention. Shares the session's replace key, so it supersedes the original at merge; erasure by sessionId still catches it.",
|
|
769
|
+
required: true,
|
|
770
|
+
type: TableColumnType.Boolean,
|
|
771
|
+
accessControl: sessionAccessControl,
|
|
772
|
+
});
|
|
773
|
+
|
|
774
|
+
const attributesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
775
|
+
key: "attributes",
|
|
776
|
+
title: "Attributes",
|
|
777
|
+
description: "Custom attributes attached by the host page",
|
|
778
|
+
required: true,
|
|
779
|
+
defaultValue: {},
|
|
780
|
+
type: TableColumnType.MapStringString,
|
|
781
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
782
|
+
mapKeysColumn: "attributeKeys",
|
|
783
|
+
accessControl: sessionAccessControl,
|
|
784
|
+
});
|
|
785
|
+
|
|
786
|
+
/*
|
|
787
|
+
* Mandatory sibling of the map column: without it the statement
|
|
788
|
+
* generator emits no key-presence pre-filter and every attribute
|
|
789
|
+
* query degrades to a full scan.
|
|
790
|
+
*/
|
|
791
|
+
const attributeKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
792
|
+
key: "attributeKeys",
|
|
793
|
+
title: "Attribute Keys",
|
|
794
|
+
description:
|
|
795
|
+
"Keys present in attributes, enabling the key-presence pre-filter that keeps attribute queries off a full scan",
|
|
796
|
+
required: true,
|
|
797
|
+
defaultValue: [],
|
|
798
|
+
type: TableColumnType.ArrayText,
|
|
799
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
800
|
+
skipIndex: {
|
|
801
|
+
name: "idx_attribute_keys",
|
|
802
|
+
type: SkipIndexType.BloomFilter,
|
|
803
|
+
params: [0.01],
|
|
804
|
+
granularity: 1,
|
|
805
|
+
},
|
|
806
|
+
accessControl: sessionAccessControl,
|
|
807
|
+
});
|
|
808
|
+
|
|
809
|
+
const entityKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
810
|
+
key: "entityKeys",
|
|
811
|
+
title: "Entity Keys",
|
|
812
|
+
description:
|
|
813
|
+
"Stable keys of every OpenTelemetry entity this session belongs to, mirroring the other telemetry pillars",
|
|
814
|
+
required: true,
|
|
815
|
+
defaultValue: [],
|
|
816
|
+
type: TableColumnType.ArrayText,
|
|
817
|
+
codec: { codec: "ZSTD", level: 3 },
|
|
818
|
+
skipIndex: {
|
|
819
|
+
name: "idx_session_entity_keys",
|
|
820
|
+
type: SkipIndexType.BloomFilter,
|
|
821
|
+
params: [0.01],
|
|
822
|
+
granularity: 1,
|
|
823
|
+
},
|
|
824
|
+
accessControl: sessionAccessControl,
|
|
825
|
+
});
|
|
826
|
+
|
|
827
|
+
/*
|
|
828
|
+
* Derived from the server-clamped session START, not the ingest date.
|
|
829
|
+
*
|
|
830
|
+
* Every other pillar uses the ingest date, but for replay that would
|
|
831
|
+
* mean a chunk buffered offline and flushed hours later gets full
|
|
832
|
+
* retention from arrival — so one session's chunks would expire on
|
|
833
|
+
* different days, TTL-drop mid-session, and leave an unplayable
|
|
834
|
+
* fragment. Session-start derivation makes a session expire atomically
|
|
835
|
+
* and keeps the header's retentionDate equal to its chunks'.
|
|
836
|
+
*/
|
|
837
|
+
const retentionDateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
|
|
838
|
+
key: "retentionDate",
|
|
839
|
+
title: "Retention Date",
|
|
840
|
+
description:
|
|
841
|
+
"Date after which this row is TTL-eligible, computed from the clamped session start plus the resolved replay retention",
|
|
842
|
+
required: true,
|
|
843
|
+
type: TableColumnType.Date,
|
|
844
|
+
codec: [{ codec: "DoubleDelta" }, { codec: "ZSTD", level: 1 }],
|
|
845
|
+
accessControl: sessionAccessControl,
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
super({
|
|
849
|
+
tableName: AnalyticsTableName.RumSession,
|
|
850
|
+
tableEngine: AnalyticsTableEngine.ReplacingMergeTree,
|
|
851
|
+
singularName: "Session Replay",
|
|
852
|
+
pluralName: "Session Replays",
|
|
853
|
+
/*
|
|
854
|
+
* No crudApiPath: reads go through a bespoke argMax endpoint because
|
|
855
|
+
* this repo has no FINAL support, so generic CRUD would surface
|
|
856
|
+
* un-collapsed ReplacingMergeTree duplicates — worst for the newest
|
|
857
|
+
* sessions, which sort first.
|
|
858
|
+
*
|
|
859
|
+
* No enableMCP either: the MCP tool generator auto-generates tools
|
|
860
|
+
* from that flag, and an LLM agent must not get a tool that reads
|
|
861
|
+
* end users' screen recordings.
|
|
862
|
+
*/
|
|
863
|
+
accessControl: {
|
|
864
|
+
read: SESSION_READ_PERMISSIONS,
|
|
865
|
+
create: SESSION_CREATE_PERMISSIONS,
|
|
866
|
+
update: [],
|
|
867
|
+
delete: [
|
|
868
|
+
Permission.ProjectOwner,
|
|
869
|
+
Permission.ProjectAdmin,
|
|
870
|
+
Permission.TelemetryAdmin,
|
|
871
|
+
Permission.DeleteRumSessionReplay,
|
|
872
|
+
],
|
|
873
|
+
},
|
|
874
|
+
tableBillingAccessControl: {
|
|
875
|
+
create: PlanType.Growth,
|
|
876
|
+
read: PlanType.Growth,
|
|
877
|
+
update: PlanType.Growth,
|
|
878
|
+
delete: PlanType.Growth,
|
|
879
|
+
},
|
|
880
|
+
tableColumns: [
|
|
881
|
+
projectIdColumn,
|
|
882
|
+
rumApplicationIdColumn,
|
|
883
|
+
primaryEntityIdColumn,
|
|
884
|
+
primaryEntityTypeColumn,
|
|
885
|
+
startTimeColumn,
|
|
886
|
+
sessionIdColumn,
|
|
887
|
+
versionColumn,
|
|
888
|
+
isFinalizedColumn,
|
|
889
|
+
sealedReasonColumn,
|
|
890
|
+
endTimeColumn,
|
|
891
|
+
clientReportedStartTimeColumn,
|
|
892
|
+
...numericColumns,
|
|
893
|
+
...counterColumns,
|
|
894
|
+
hasErrorColumn,
|
|
895
|
+
triggerReasonColumn,
|
|
896
|
+
samplePercentageAtCaptureColumn,
|
|
897
|
+
...urlColumns,
|
|
898
|
+
routesColumn,
|
|
899
|
+
...lowCardinalityColumns,
|
|
900
|
+
countryCodeColumn,
|
|
901
|
+
identifiedUserKeyColumn,
|
|
902
|
+
identifiedUserLabelColumn,
|
|
903
|
+
...correlationArrayColumns,
|
|
904
|
+
fidelityNoticesColumn,
|
|
905
|
+
fullSnapshotChunkIndexesColumn,
|
|
906
|
+
...schemaVersionColumns,
|
|
907
|
+
isLegalHoldColumn,
|
|
908
|
+
isPinnedCopyColumn,
|
|
909
|
+
attributesColumn,
|
|
910
|
+
attributeKeysColumn,
|
|
911
|
+
entityKeysColumn,
|
|
912
|
+
retentionDateColumn,
|
|
913
|
+
],
|
|
914
|
+
/*
|
|
915
|
+
* rumApplicationId precedes startTime because the session list is
|
|
916
|
+
* always application-scoped. sessionId is the final element so the
|
|
917
|
+
* ReplacingMergeTree replace key is unique per session.
|
|
918
|
+
*/
|
|
919
|
+
sortKeys: ["projectId", "rumApplicationId", "startTime", "sessionId"],
|
|
920
|
+
primaryKeys: ["projectId", "rumApplicationId", "startTime", "sessionId"],
|
|
921
|
+
partitionKey: "toYYYYMMDD(startTime)",
|
|
922
|
+
shardingKey: "cityHash64(projectId, sessionId)",
|
|
923
|
+
tableSettings:
|
|
924
|
+
"ttl_only_drop_parts = 1, non_replicated_deduplication_window = 10000",
|
|
925
|
+
ttlExpression: "retentionDate DELETE",
|
|
926
|
+
defaultSortColumn: "startTime",
|
|
927
|
+
/*
|
|
928
|
+
* NO projections, and this is not negotiable on a ReplacingMergeTree.
|
|
929
|
+
*
|
|
930
|
+
* ClickHouse refuses outright: "Projections are not supported for
|
|
931
|
+
* ReplacingMergeTree with deduplicate_merge_projection_mode = throw"
|
|
932
|
+
* (SUPPORT_IS_DISABLED). That error comes from CREATE TABLE, so it
|
|
933
|
+
* fails createTables() at boot and takes the entire App down - not just
|
|
934
|
+
* session replay.
|
|
935
|
+
*
|
|
936
|
+
* The other two ReplacingMergeTree models here, SloHistory and
|
|
937
|
+
* MutableMetric, both declare projections: [] for the same reason.
|
|
938
|
+
*
|
|
939
|
+
* Little is lost. The projection would have ordered by
|
|
940
|
+
* (projectId, rumApplicationId, startTime), which is already the prefix
|
|
941
|
+
* of this table's sort key, so the app-scoped session list is served by
|
|
942
|
+
* the primary index anyway.
|
|
943
|
+
*/
|
|
944
|
+
projections: [],
|
|
945
|
+
});
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
public get projectId(): ObjectID | undefined {
|
|
949
|
+
return this.getColumnValue("projectId") as ObjectID | undefined;
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
public set projectId(v: ObjectID | undefined) {
|
|
953
|
+
this.setColumnValue("projectId", v);
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
public get rumApplicationId(): ObjectID | undefined {
|
|
957
|
+
return this.getColumnValue("rumApplicationId") as ObjectID | undefined;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
public set rumApplicationId(v: ObjectID | undefined) {
|
|
961
|
+
this.setColumnValue("rumApplicationId", v);
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
public get primaryEntityId(): ObjectID | undefined {
|
|
965
|
+
return this.getColumnValue("primaryEntityId") as ObjectID | undefined;
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
public set primaryEntityId(v: ObjectID | undefined) {
|
|
969
|
+
this.setColumnValue("primaryEntityId", v);
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
public get primaryEntityType(): ServiceType | undefined {
|
|
973
|
+
return this.getColumnValue("primaryEntityType") as ServiceType | undefined;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
public set primaryEntityType(v: ServiceType | undefined) {
|
|
977
|
+
this.setColumnValue("primaryEntityType", v);
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
public get startTime(): Date | undefined {
|
|
981
|
+
return this.getColumnValue("startTime") as Date | undefined;
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
public set startTime(v: Date | undefined) {
|
|
985
|
+
this.setColumnValue("startTime", v);
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
public get sessionId(): string | undefined {
|
|
989
|
+
return this.getColumnValue("sessionId") as string | undefined;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
public set sessionId(v: string | undefined) {
|
|
993
|
+
this.setColumnValue("sessionId", v);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
public get version(): number | undefined {
|
|
997
|
+
return this.getColumnValue("version") as number | undefined;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
public set version(v: number | undefined) {
|
|
1001
|
+
this.setColumnValue("version", v);
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
public get isFinalized(): boolean | undefined {
|
|
1005
|
+
return this.getColumnValue("isFinalized") as boolean | undefined;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
public set isFinalized(v: boolean | undefined) {
|
|
1009
|
+
this.setColumnValue("isFinalized", v);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
public get sealedReason(): string | undefined {
|
|
1013
|
+
return this.getColumnValue("sealedReason") as string | undefined;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
public set sealedReason(v: string | undefined) {
|
|
1017
|
+
this.setColumnValue("sealedReason", v);
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
public get endTime(): Date | undefined {
|
|
1021
|
+
return this.getColumnValue("endTime") as Date | undefined;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
public set endTime(v: Date | undefined) {
|
|
1025
|
+
this.setColumnValue("endTime", v);
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
public get clientReportedStartTime(): Date | undefined {
|
|
1029
|
+
return this.getColumnValue("clientReportedStartTime") as Date | undefined;
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
public set clientReportedStartTime(v: Date | undefined) {
|
|
1033
|
+
this.setColumnValue("clientReportedStartTime", v);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
public get durationMs(): number | undefined {
|
|
1037
|
+
return this.getColumnValue("durationMs") as number | undefined;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
public set durationMs(v: number | undefined) {
|
|
1041
|
+
this.setColumnValue("durationMs", v);
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
public get chunkCount(): number | undefined {
|
|
1045
|
+
return this.getColumnValue("chunkCount") as number | undefined;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
public set chunkCount(v: number | undefined) {
|
|
1049
|
+
this.setColumnValue("chunkCount", v);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
public get maxChunkIndex(): number | undefined {
|
|
1053
|
+
return this.getColumnValue("maxChunkIndex") as number | undefined;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
public set maxChunkIndex(v: number | undefined) {
|
|
1057
|
+
this.setColumnValue("maxChunkIndex", v);
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
public get missingChunkCount(): number | undefined {
|
|
1061
|
+
return this.getColumnValue("missingChunkCount") as number | undefined;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
public set missingChunkCount(v: number | undefined) {
|
|
1065
|
+
this.setColumnValue("missingChunkCount", v);
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
public get eventCount(): number | undefined {
|
|
1069
|
+
return this.getColumnValue("eventCount") as number | undefined;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
public set eventCount(v: number | undefined) {
|
|
1073
|
+
this.setColumnValue("eventCount", v);
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
public get payloadBytes(): number | undefined {
|
|
1077
|
+
return this.getColumnValue("payloadBytes") as number | undefined;
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
public set payloadBytes(v: number | undefined) {
|
|
1081
|
+
this.setColumnValue("payloadBytes", v);
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
public get viewportWidth(): number | undefined {
|
|
1085
|
+
return this.getColumnValue("viewportWidth") as number | undefined;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
public set viewportWidth(v: number | undefined) {
|
|
1089
|
+
this.setColumnValue("viewportWidth", v);
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
public get viewportHeight(): number | undefined {
|
|
1093
|
+
return this.getColumnValue("viewportHeight") as number | undefined;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
public set viewportHeight(v: number | undefined) {
|
|
1097
|
+
this.setColumnValue("viewportHeight", v);
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
public get clockSkewMs(): number | undefined {
|
|
1101
|
+
return this.getColumnValue("clockSkewMs") as number | undefined;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
public set clockSkewMs(v: number | undefined) {
|
|
1105
|
+
this.setColumnValue("clockSkewMs", v);
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
public get errorCount(): number | undefined {
|
|
1109
|
+
return this.getColumnValue("errorCount") as number | undefined;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
public set errorCount(v: number | undefined) {
|
|
1113
|
+
this.setColumnValue("errorCount", v);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
public get rageClickCount(): number | undefined {
|
|
1117
|
+
return this.getColumnValue("rageClickCount") as number | undefined;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
public set rageClickCount(v: number | undefined) {
|
|
1121
|
+
this.setColumnValue("rageClickCount", v);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
public get deadClickCount(): number | undefined {
|
|
1125
|
+
return this.getColumnValue("deadClickCount") as number | undefined;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
public set deadClickCount(v: number | undefined) {
|
|
1129
|
+
this.setColumnValue("deadClickCount", v);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
public get errorClickCount(): number | undefined {
|
|
1133
|
+
return this.getColumnValue("errorClickCount") as number | undefined;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
public set errorClickCount(v: number | undefined) {
|
|
1137
|
+
this.setColumnValue("errorClickCount", v);
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
public get refreshRageCount(): number | undefined {
|
|
1141
|
+
return this.getColumnValue("refreshRageCount") as number | undefined;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
public set refreshRageCount(v: number | undefined) {
|
|
1145
|
+
this.setColumnValue("refreshRageCount", v);
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
public get pageCount(): number | undefined {
|
|
1149
|
+
return this.getColumnValue("pageCount") as number | undefined;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
public set pageCount(v: number | undefined) {
|
|
1153
|
+
this.setColumnValue("pageCount", v);
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
public get hasError(): boolean | undefined {
|
|
1157
|
+
return this.getColumnValue("hasError") as boolean | undefined;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
public set hasError(v: boolean | undefined) {
|
|
1161
|
+
this.setColumnValue("hasError", v);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
public get triggerReason(): string | undefined {
|
|
1165
|
+
return this.getColumnValue("triggerReason") as string | undefined;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
public set triggerReason(v: string | undefined) {
|
|
1169
|
+
this.setColumnValue("triggerReason", v);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
public get samplePercentageAtCapture(): number | undefined {
|
|
1173
|
+
return this.getColumnValue("samplePercentageAtCapture") as
|
|
1174
|
+
| number
|
|
1175
|
+
| undefined;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
public set samplePercentageAtCapture(v: number | undefined) {
|
|
1179
|
+
this.setColumnValue("samplePercentageAtCapture", v);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
public get entryUrl(): string | undefined {
|
|
1183
|
+
return this.getColumnValue("entryUrl") as string | undefined;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
public set entryUrl(v: string | undefined) {
|
|
1187
|
+
this.setColumnValue("entryUrl", v);
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
public get exitUrl(): string | undefined {
|
|
1191
|
+
return this.getColumnValue("exitUrl") as string | undefined;
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
public set exitUrl(v: string | undefined) {
|
|
1195
|
+
this.setColumnValue("exitUrl", v);
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
public get routes(): Array<string> | undefined {
|
|
1199
|
+
return this.getColumnValue("routes") as Array<string> | undefined;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
public set routes(v: Array<string> | undefined) {
|
|
1203
|
+
this.setColumnValue("routes", v);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
public get browserName(): string | undefined {
|
|
1207
|
+
return this.getColumnValue("browserName") as string | undefined;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
public set browserName(v: string | undefined) {
|
|
1211
|
+
this.setColumnValue("browserName", v);
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
public get browserVersion(): string | undefined {
|
|
1215
|
+
return this.getColumnValue("browserVersion") as string | undefined;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
public set browserVersion(v: string | undefined) {
|
|
1219
|
+
this.setColumnValue("browserVersion", v);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
public get osName(): string | undefined {
|
|
1223
|
+
return this.getColumnValue("osName") as string | undefined;
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
public set osName(v: string | undefined) {
|
|
1227
|
+
this.setColumnValue("osName", v);
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
public get deviceType(): string | undefined {
|
|
1231
|
+
return this.getColumnValue("deviceType") as string | undefined;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
public set deviceType(v: string | undefined) {
|
|
1235
|
+
this.setColumnValue("deviceType", v);
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
public get maskingMode(): string | undefined {
|
|
1239
|
+
return this.getColumnValue("maskingMode") as string | undefined;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
public set maskingMode(v: string | undefined) {
|
|
1243
|
+
this.setColumnValue("maskingMode", v);
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
public get consentState(): string | undefined {
|
|
1247
|
+
return this.getColumnValue("consentState") as string | undefined;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
public set consentState(v: string | undefined) {
|
|
1251
|
+
this.setColumnValue("consentState", v);
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
public get recorderKind(): string | undefined {
|
|
1255
|
+
return this.getColumnValue("recorderKind") as string | undefined;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
public set recorderKind(v: string | undefined) {
|
|
1259
|
+
this.setColumnValue("recorderKind", v);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
public get recorderVersion(): string | undefined {
|
|
1263
|
+
return this.getColumnValue("recorderVersion") as string | undefined;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
public set recorderVersion(v: string | undefined) {
|
|
1267
|
+
this.setColumnValue("recorderVersion", v);
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
public get rrwebVersion(): string | undefined {
|
|
1271
|
+
return this.getColumnValue("rrwebVersion") as string | undefined;
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
public set rrwebVersion(v: string | undefined) {
|
|
1275
|
+
this.setColumnValue("rrwebVersion", v);
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
public get countryCode(): string | undefined {
|
|
1279
|
+
return this.getColumnValue("countryCode") as string | undefined;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
public set countryCode(v: string | undefined) {
|
|
1283
|
+
this.setColumnValue("countryCode", v);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
public get identifiedUserKey(): string | undefined {
|
|
1287
|
+
return this.getColumnValue("identifiedUserKey") as string | undefined;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
public set identifiedUserKey(v: string | undefined) {
|
|
1291
|
+
this.setColumnValue("identifiedUserKey", v);
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
public get identifiedUserLabel(): string | undefined {
|
|
1295
|
+
return this.getColumnValue("identifiedUserLabel") as string | undefined;
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
public set identifiedUserLabel(v: string | undefined) {
|
|
1299
|
+
this.setColumnValue("identifiedUserLabel", v);
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
public get traceIds(): Array<string> | undefined {
|
|
1303
|
+
return this.getColumnValue("traceIds") as Array<string> | undefined;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
public set traceIds(v: Array<string> | undefined) {
|
|
1307
|
+
this.setColumnValue("traceIds", v);
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
public get exceptionFingerprints(): Array<string> | undefined {
|
|
1311
|
+
return this.getColumnValue("exceptionFingerprints") as
|
|
1312
|
+
| Array<string>
|
|
1313
|
+
| undefined;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
public set exceptionFingerprints(v: Array<string> | undefined) {
|
|
1317
|
+
this.setColumnValue("exceptionFingerprints", v);
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
public get fidelityNotices(): Array<string> | undefined {
|
|
1321
|
+
return this.getColumnValue("fidelityNotices") as Array<string> | undefined;
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
public set fidelityNotices(v: Array<string> | undefined) {
|
|
1325
|
+
this.setColumnValue("fidelityNotices", v);
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
public get fullSnapshotChunkIndexes(): Array<number> | undefined {
|
|
1329
|
+
return this.getColumnValue("fullSnapshotChunkIndexes") as
|
|
1330
|
+
| Array<number>
|
|
1331
|
+
| undefined;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
public set fullSnapshotChunkIndexes(v: Array<number> | undefined) {
|
|
1335
|
+
this.setColumnValue("fullSnapshotChunkIndexes", v);
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
public get schemaVersion(): number | undefined {
|
|
1339
|
+
return this.getColumnValue("schemaVersion") as number | undefined;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
public set schemaVersion(v: number | undefined) {
|
|
1343
|
+
this.setColumnValue("schemaVersion", v);
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
public get wireVersion(): number | undefined {
|
|
1347
|
+
return this.getColumnValue("wireVersion") as number | undefined;
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
public set wireVersion(v: number | undefined) {
|
|
1351
|
+
this.setColumnValue("wireVersion", v);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
public get isLegalHold(): boolean | undefined {
|
|
1355
|
+
return this.getColumnValue("isLegalHold") as boolean | undefined;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
public set isLegalHold(v: boolean | undefined) {
|
|
1359
|
+
this.setColumnValue("isLegalHold", v);
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
public get isPinnedCopy(): boolean | undefined {
|
|
1363
|
+
return this.getColumnValue("isPinnedCopy") as boolean | undefined;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
public set isPinnedCopy(v: boolean | undefined) {
|
|
1367
|
+
this.setColumnValue("isPinnedCopy", v);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
public get attributes(): JSONObject | undefined {
|
|
1371
|
+
return this.getColumnValue("attributes") as JSONObject | undefined;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
public set attributes(v: JSONObject | undefined) {
|
|
1375
|
+
this.setColumnValue("attributes", v);
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
public get attributeKeys(): Array<string> | undefined {
|
|
1379
|
+
return this.getColumnValue("attributeKeys") as Array<string> | undefined;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
public set attributeKeys(v: Array<string> | undefined) {
|
|
1383
|
+
this.setColumnValue("attributeKeys", v);
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
public get entityKeys(): Array<string> | undefined {
|
|
1387
|
+
return this.getColumnValue("entityKeys") as Array<string> | undefined;
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
public set entityKeys(v: Array<string> | undefined) {
|
|
1391
|
+
this.setColumnValue("entityKeys", v);
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
public get retentionDate(): Date | undefined {
|
|
1395
|
+
return this.getColumnValue("retentionDate") as Date | undefined;
|
|
1396
|
+
}
|
|
1397
|
+
|
|
1398
|
+
public set retentionDate(v: Date | undefined) {
|
|
1399
|
+
this.setColumnValue("retentionDate", v);
|
|
1400
|
+
}
|
|
1401
|
+
}
|