@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,143 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Text and input masking for session replay.
|
|
3
|
+
*
|
|
4
|
+
* Applied in the browser, before an event is buffered — the server never
|
|
5
|
+
* receives the unmasked value, so nothing here can be repaired after the
|
|
6
|
+
* fact.
|
|
7
|
+
*
|
|
8
|
+
* The central correctness point: rrweb's built-in mask replaces a value
|
|
9
|
+
* with `'*'.repeat(value.length)`, which preserves the exact character
|
|
10
|
+
* count. For a password, a one-time code, or a card number that is a
|
|
11
|
+
* length oracle — it narrows a password search space, and it identifies a
|
|
12
|
+
* 16-digit PAN as a PAN. So this module never emits length-preserving
|
|
13
|
+
* output for input values.
|
|
14
|
+
*
|
|
15
|
+
* Must stay dependency-free — this is bundled into the browser recorder.
|
|
16
|
+
*/
|
|
17
|
+
const MASK_CHARACTER = "•";
|
|
18
|
+
/*
|
|
19
|
+
* Input values collapse to a constant-width block regardless of input
|
|
20
|
+
* length. Three characters is enough to render as "something was typed
|
|
21
|
+
* here" without hinting at how much.
|
|
22
|
+
*/
|
|
23
|
+
const FIXED_INPUT_MASK_LENGTH = 3;
|
|
24
|
+
/*
|
|
25
|
+
* Static text nodes get bucketed rather than fixed width, because a
|
|
26
|
+
* paragraph collapsed to three characters destroys the layout that makes
|
|
27
|
+
* a wireframe replay readable at all. The bucket leaks only which of
|
|
28
|
+
* three coarse size classes the text fell into.
|
|
29
|
+
*/
|
|
30
|
+
const TEXT_BUCKET_SHORT_MAX = 8;
|
|
31
|
+
const TEXT_BUCKET_MEDIUM_MAX = 32;
|
|
32
|
+
const TEXT_BUCKET_SHORT_LENGTH = 4;
|
|
33
|
+
const TEXT_BUCKET_MEDIUM_LENGTH = 16;
|
|
34
|
+
const TEXT_BUCKET_LONG_LENGTH = 40;
|
|
35
|
+
/*
|
|
36
|
+
* autocomplete tokens that mark a field as high-sensitivity regardless of
|
|
37
|
+
* its input type. A "show password" toggle flips type="password" to
|
|
38
|
+
* type="text", so type alone is not a durable signal — see
|
|
39
|
+
* isStickySensitiveAutocomplete and the recorder's per-node WeakSet.
|
|
40
|
+
*/
|
|
41
|
+
const SENSITIVE_AUTOCOMPLETE_TOKENS = [
|
|
42
|
+
"current-password",
|
|
43
|
+
"new-password",
|
|
44
|
+
"one-time-code",
|
|
45
|
+
"cc-number",
|
|
46
|
+
"cc-csc",
|
|
47
|
+
"cc-exp",
|
|
48
|
+
"cc-exp-month",
|
|
49
|
+
"cc-exp-year",
|
|
50
|
+
"cc-name",
|
|
51
|
+
];
|
|
52
|
+
/*
|
|
53
|
+
* Input types whose *value* is masked in every mode. Kept separate from
|
|
54
|
+
* the mode-dependent set so a MaskInputsOnly application still cannot
|
|
55
|
+
* leak a password.
|
|
56
|
+
*/
|
|
57
|
+
const ALWAYS_SENSITIVE_INPUT_TYPES = ["password"];
|
|
58
|
+
export default class Masking {
|
|
59
|
+
/*
|
|
60
|
+
* Mask an input value. Constant width — never derived from the input
|
|
61
|
+
* length. Returns the mask even for an empty value so that "field was
|
|
62
|
+
* cleared" and "field was never touched" are not distinguishable in a
|
|
63
|
+
* way that leaks.
|
|
64
|
+
*/
|
|
65
|
+
static maskInputValue() {
|
|
66
|
+
return MASK_CHARACTER.repeat(FIXED_INPUT_MASK_LENGTH);
|
|
67
|
+
}
|
|
68
|
+
/*
|
|
69
|
+
* Mask a static text node, preserving a coarse size class so layout
|
|
70
|
+
* survives. Whitespace-only text is returned untouched: masking it
|
|
71
|
+
* would collapse spacing without protecting anything.
|
|
72
|
+
*/
|
|
73
|
+
static maskText(value) {
|
|
74
|
+
if (!value) {
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
if (value.trim().length === 0) {
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
const length = value.trim().length;
|
|
81
|
+
let maskedLength = TEXT_BUCKET_LONG_LENGTH;
|
|
82
|
+
if (length <= TEXT_BUCKET_SHORT_MAX) {
|
|
83
|
+
maskedLength = TEXT_BUCKET_SHORT_LENGTH;
|
|
84
|
+
}
|
|
85
|
+
else if (length <= TEXT_BUCKET_MEDIUM_MAX) {
|
|
86
|
+
maskedLength = TEXT_BUCKET_MEDIUM_LENGTH;
|
|
87
|
+
}
|
|
88
|
+
return MASK_CHARACTER.repeat(maskedLength);
|
|
89
|
+
}
|
|
90
|
+
/*
|
|
91
|
+
* True when a file input's value must be blanked. Always true: the DOM
|
|
92
|
+
* value of a file input is `C:\fakepath\<real filename>`, and filenames
|
|
93
|
+
* are routinely personal ("passport-scan.pdf", "payslip-march.pdf").
|
|
94
|
+
* The recorder records that a file was chosen, never which one.
|
|
95
|
+
*/
|
|
96
|
+
static maskFileInputValue() {
|
|
97
|
+
return "";
|
|
98
|
+
}
|
|
99
|
+
/* Does this input type carry a value that must be masked in every mode? */
|
|
100
|
+
static isAlwaysSensitiveInputType(inputType) {
|
|
101
|
+
return ALWAYS_SENSITIVE_INPUT_TYPES.includes((inputType || "").toLowerCase());
|
|
102
|
+
}
|
|
103
|
+
/*
|
|
104
|
+
* Does this autocomplete attribute mark the field as permanently
|
|
105
|
+
* sensitive? Once true for a node, the recorder keeps masking it even
|
|
106
|
+
* if the attribute or the input type later changes, and suppresses the
|
|
107
|
+
* type mutation itself so playback cannot reveal the switch.
|
|
108
|
+
*/
|
|
109
|
+
static isStickySensitiveAutocomplete(autocompleteValue) {
|
|
110
|
+
if (!autocompleteValue) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
/*
|
|
114
|
+
* autocomplete accepts space-separated tokens with optional section
|
|
115
|
+
* and billing/shipping prefixes ("section-payment billing cc-number"),
|
|
116
|
+
* so every token is checked rather than the whole string compared.
|
|
117
|
+
*/
|
|
118
|
+
const tokens = autocompleteValue
|
|
119
|
+
.toLowerCase()
|
|
120
|
+
.split(/\s+/)
|
|
121
|
+
.filter((token) => {
|
|
122
|
+
return token.length > 0;
|
|
123
|
+
});
|
|
124
|
+
return tokens.some((token) => {
|
|
125
|
+
return SENSITIVE_AUTOCOMPLETE_TOKENS.includes(token);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/*
|
|
129
|
+
* Quantise an input event timestamp into coarse buckets.
|
|
130
|
+
*
|
|
131
|
+
* A masked password field still leaks inter-keystroke timing, which is
|
|
132
|
+
* a published side channel for inferring typed content. Bucketing the
|
|
133
|
+
* timestamps removes the signal while keeping playback smooth enough
|
|
134
|
+
* that typing still looks like typing.
|
|
135
|
+
*/
|
|
136
|
+
static quantiseTimestamp(timestampMs, bucketMs = 250) {
|
|
137
|
+
if (!Number.isFinite(timestampMs) || bucketMs <= 0) {
|
|
138
|
+
return timestampMs;
|
|
139
|
+
}
|
|
140
|
+
return Math.floor(timestampMs / bucketMs) * bucketMs;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=Masking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Masking.js","sourceRoot":"","sources":["../../../../Utils/Rum/Masking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,cAAc,GAAW,GAAG,CAAC;AAEnC;;;;GAIG;AACH,MAAM,uBAAuB,GAAW,CAAC,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAW,CAAC,CAAC;AACxC,MAAM,sBAAsB,GAAW,EAAE,CAAC;AAE1C,MAAM,wBAAwB,GAAW,CAAC,CAAC;AAC3C,MAAM,yBAAyB,GAAW,EAAE,CAAC;AAC7C,MAAM,uBAAuB,GAAW,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,6BAA6B,GAAkB;IACnD,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,aAAa;IACb,SAAS;CACV,CAAC;AAEF;;;;GAIG;AACH,MAAM,4BAA4B,GAAkB,CAAC,UAAU,CAAC,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B;;;;;OAKG;IACI,MAAM,CAAC,cAAc;QAC1B,OAAO,cAAc,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAW,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAE3C,IAAI,YAAY,GAAW,uBAAuB,CAAC;QAEnD,IAAI,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACpC,YAAY,GAAG,wBAAwB,CAAC;QAC1C,CAAC;aAAM,IAAI,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC5C,YAAY,GAAG,yBAAyB,CAAC;QAC3C,CAAC;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,kBAAkB;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2EAA2E;IACpE,MAAM,CAAC,0BAA0B,CAAC,SAAiB;QACxD,OAAO,4BAA4B,CAAC,QAAQ,CAC1C,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAChC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,6BAA6B,CACzC,iBAAyB;QAEzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED;;;;WAIG;QACH,MAAM,MAAM,GAAkB,iBAAiB;aAC5C,WAAW,EAAE;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,KAAa,EAAW,EAAE;YACjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEL,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE;YAC5C,OAAO,6BAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,iBAAiB,CAC7B,WAAmB,EACnB,WAAmB,GAAG;QAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACvD,CAAC;CACF"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { SESSION_REPLAY_IDLE_ROLLOVER_MS, SESSION_REPLAY_MAX_SESSION_MS, } from "../../Types/Rum/SessionReplay";
|
|
2
|
+
/*
|
|
3
|
+
* Session identity lifecycle, expressed as pure functions of timestamps
|
|
4
|
+
* so it can be tested exhaustively without a browser, a clock, or storage.
|
|
5
|
+
*
|
|
6
|
+
* The recorder owns the storage (localStorage for the session, sessionStorage
|
|
7
|
+
* for the tab); this module owns the *decisions*.
|
|
8
|
+
*
|
|
9
|
+
* Must stay dependency-free apart from the shared constants — bundled
|
|
10
|
+
* into the browser recorder.
|
|
11
|
+
*/
|
|
12
|
+
export var SessionRotationReason;
|
|
13
|
+
(function (SessionRotationReason) {
|
|
14
|
+
/* No prior session, or storage was cleared. */
|
|
15
|
+
SessionRotationReason["New"] = "new";
|
|
16
|
+
/* More than the idle window elapsed since the last recorded activity. */
|
|
17
|
+
SessionRotationReason["Idle"] = "idle";
|
|
18
|
+
/* The session hit its absolute duration ceiling. */
|
|
19
|
+
SessionRotationReason["DurationCap"] = "duration-cap";
|
|
20
|
+
/* Stored state was unreadable or inconsistent; fail into a fresh session. */
|
|
21
|
+
SessionRotationReason["Corrupt"] = "corrupt";
|
|
22
|
+
})(SessionRotationReason || (SessionRotationReason = {}));
|
|
23
|
+
export default class SessionIdentity {
|
|
24
|
+
/*
|
|
25
|
+
* Should the recorder mint a new session id?
|
|
26
|
+
*
|
|
27
|
+
* Two independent conditions, checked in this order because the idle
|
|
28
|
+
* check is the common case and the duration cap is the backstop:
|
|
29
|
+
*
|
|
30
|
+
* - idle: the user walked away and came back. A single "session" that
|
|
31
|
+
* spans a lunch break is not a session, and stitching one produces a
|
|
32
|
+
* recording with a 40-minute dead zone in the middle.
|
|
33
|
+
* - duration cap: a tab left open for days would otherwise accumulate
|
|
34
|
+
* an unbounded chunk sequence under one sort-key prefix.
|
|
35
|
+
*
|
|
36
|
+
* Inconsistent stored state (missing id, non-finite or future-dated
|
|
37
|
+
* timestamps, start after last activity) rotates rather than being
|
|
38
|
+
* repaired — a fresh session loses at most a little context, whereas
|
|
39
|
+
* trusting corrupt state can attribute one user's chunks to another
|
|
40
|
+
* user's session id.
|
|
41
|
+
*/
|
|
42
|
+
static shouldRotateSession(stored, nowUnixMs, idleRolloverMs = SESSION_REPLAY_IDLE_ROLLOVER_MS, maxSessionMs = SESSION_REPLAY_MAX_SESSION_MS) {
|
|
43
|
+
if (!stored) {
|
|
44
|
+
return { shouldRotate: true, reason: SessionRotationReason.New };
|
|
45
|
+
}
|
|
46
|
+
if (!SessionIdentity.isStoredStateValid(stored, nowUnixMs)) {
|
|
47
|
+
return { shouldRotate: true, reason: SessionRotationReason.Corrupt };
|
|
48
|
+
}
|
|
49
|
+
if (nowUnixMs - stored.lastActivityUnixMs >= idleRolloverMs) {
|
|
50
|
+
return { shouldRotate: true, reason: SessionRotationReason.Idle };
|
|
51
|
+
}
|
|
52
|
+
if (nowUnixMs - stored.sessionStartUnixMs >= maxSessionMs) {
|
|
53
|
+
return {
|
|
54
|
+
shouldRotate: true,
|
|
55
|
+
reason: SessionRotationReason.DurationCap,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return { shouldRotate: false };
|
|
59
|
+
}
|
|
60
|
+
static isStoredStateValid(stored, nowUnixMs) {
|
|
61
|
+
if (!stored.sessionId) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
if (!Number.isFinite(stored.sessionStartUnixMs) ||
|
|
65
|
+
!Number.isFinite(stored.lastActivityUnixMs)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (stored.sessionStartUnixMs <= 0 || stored.lastActivityUnixMs <= 0) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/* Activity cannot precede the session start. */
|
|
72
|
+
if (stored.lastActivityUnixMs < stored.sessionStartUnixMs) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
/*
|
|
76
|
+
* Tolerate a small amount of forward skew (the device clock may have
|
|
77
|
+
* been corrected between writes) but reject state stamped far in the
|
|
78
|
+
* future, which indicates either a clock jump or tampering.
|
|
79
|
+
*/
|
|
80
|
+
const forwardToleranceMs = 5 * 60 * 1000;
|
|
81
|
+
if (stored.sessionStartUnixMs > nowUnixMs + forwardToleranceMs) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
/*
|
|
87
|
+
* Clamp a client-reported session start against the server's own clock.
|
|
88
|
+
*
|
|
89
|
+
* End-user device clocks are wrong constantly — by minutes, by hours,
|
|
90
|
+
* occasionally by years. An unclamped client timestamp lands in the
|
|
91
|
+
* partition key and the TTL expression, so a device clock set to 2035
|
|
92
|
+
* would create a partition that never expires, and one set to 2015
|
|
93
|
+
* would create a row that is deleted on arrival.
|
|
94
|
+
*
|
|
95
|
+
* The clamp is one-directional in effect: the returned value is always
|
|
96
|
+
* within [serverNow - maxBackwardMs, serverNow]. A session cannot start
|
|
97
|
+
* in the future, and cannot claim to have started before the window we
|
|
98
|
+
* are willing to accept.
|
|
99
|
+
*/
|
|
100
|
+
static clampSessionStart(clientReportedStartUnixMs, serverNowUnixMs, maxBackwardMs = SESSION_REPLAY_MAX_SESSION_MS) {
|
|
101
|
+
if (!Number.isFinite(clientReportedStartUnixMs)) {
|
|
102
|
+
return serverNowUnixMs;
|
|
103
|
+
}
|
|
104
|
+
if (clientReportedStartUnixMs > serverNowUnixMs) {
|
|
105
|
+
return serverNowUnixMs;
|
|
106
|
+
}
|
|
107
|
+
const earliestAcceptable = serverNowUnixMs - maxBackwardMs;
|
|
108
|
+
if (clientReportedStartUnixMs < earliestAcceptable) {
|
|
109
|
+
return earliestAcceptable;
|
|
110
|
+
}
|
|
111
|
+
return clientReportedStartUnixMs;
|
|
112
|
+
}
|
|
113
|
+
/*
|
|
114
|
+
* Observed clock skew, stored on the session header so a support
|
|
115
|
+
* engineer can see "this recording's timings are 40 minutes off"
|
|
116
|
+
* instead of being quietly misled by them.
|
|
117
|
+
*
|
|
118
|
+
* Positive means the client clock runs ahead of the server.
|
|
119
|
+
*/
|
|
120
|
+
static getClockSkewMs(clientSendUnixMs, serverReceiveUnixMs) {
|
|
121
|
+
if (!Number.isFinite(clientSendUnixMs) ||
|
|
122
|
+
!Number.isFinite(serverReceiveUnixMs)) {
|
|
123
|
+
return 0;
|
|
124
|
+
}
|
|
125
|
+
return clientSendUnixMs - serverReceiveUnixMs;
|
|
126
|
+
}
|
|
127
|
+
/*
|
|
128
|
+
* Clamp a retention day count to the allowed closed set, rounding *up*
|
|
129
|
+
* to the next allowed value.
|
|
130
|
+
*
|
|
131
|
+
* Rounding up rather than to the nearest is deliberate: silently
|
|
132
|
+
* shortening a customer's configured retention destroys evidence they
|
|
133
|
+
* expected to keep, whereas keeping it slightly longer costs only disk.
|
|
134
|
+
*/
|
|
135
|
+
static clampRetentionDays(requestedDays, allowedDays, fallbackDays) {
|
|
136
|
+
if (allowedDays.length === 0) {
|
|
137
|
+
return fallbackDays;
|
|
138
|
+
}
|
|
139
|
+
const sorted = [...allowedDays].sort((a, b) => {
|
|
140
|
+
return a - b;
|
|
141
|
+
});
|
|
142
|
+
const smallest = sorted[0];
|
|
143
|
+
const largest = sorted[sorted.length - 1];
|
|
144
|
+
if (smallest === undefined || largest === undefined) {
|
|
145
|
+
return fallbackDays;
|
|
146
|
+
}
|
|
147
|
+
if (!Number.isFinite(requestedDays) || requestedDays <= 0) {
|
|
148
|
+
return fallbackDays;
|
|
149
|
+
}
|
|
150
|
+
if (requestedDays >= largest) {
|
|
151
|
+
return largest;
|
|
152
|
+
}
|
|
153
|
+
for (const allowed of sorted) {
|
|
154
|
+
if (requestedDays <= allowed) {
|
|
155
|
+
return allowed;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return fallbackDays;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=SessionIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionIdentity.js","sourceRoot":"","sources":["../../../../Utils/Rum/SessionIdentity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Deterministic session sampling.
|
|
3
|
+
*
|
|
4
|
+
* The decision MUST be a pure function of the session id, computed
|
|
5
|
+
* identically in the browser and at the ingest gate. A per-event or
|
|
6
|
+
* per-chunk random draw (which is what the log drop-filter path does)
|
|
7
|
+
* would shred a single session into an unplayable set of fragments —
|
|
8
|
+
* some chunks kept, some dropped, no full snapshot where the player
|
|
9
|
+
* needs one.
|
|
10
|
+
*
|
|
11
|
+
* This file must stay dependency-free: it is bundled into the browser
|
|
12
|
+
* recorder as well as imported by the server.
|
|
13
|
+
*/
|
|
14
|
+
/*
|
|
15
|
+
* FNV-1a, 32-bit. Chosen over a cryptographic hash because it is ~20
|
|
16
|
+
* lines, has no platform dependency (no SubtleCrypto, no node:crypto),
|
|
17
|
+
* is synchronous, and distributes hex session ids evenly. Sampling is
|
|
18
|
+
* not a security boundary — see the note on tampering below.
|
|
19
|
+
*/
|
|
20
|
+
const FNV_OFFSET_BASIS_32 = 0x811c9dc5;
|
|
21
|
+
const FNV_PRIME_32 = 0x01000193;
|
|
22
|
+
/* Resolution of the sample percentage: two decimal places. */
|
|
23
|
+
const SAMPLING_BUCKETS = 10000;
|
|
24
|
+
export default class SessionSampling {
|
|
25
|
+
/*
|
|
26
|
+
* 32-bit FNV-1a hash of a string, returned as an unsigned integer.
|
|
27
|
+
*
|
|
28
|
+
* Math.imul is used for the multiply so the intermediate stays in
|
|
29
|
+
* 32-bit integer space; a plain `*` would overflow into a float and
|
|
30
|
+
* lose the low bits, which is the classic way this hash silently
|
|
31
|
+
* stops distributing.
|
|
32
|
+
*/
|
|
33
|
+
static fnv1a32(value) {
|
|
34
|
+
let hash = FNV_OFFSET_BASIS_32;
|
|
35
|
+
for (let i = 0; i < value.length; i++) {
|
|
36
|
+
hash ^= value.charCodeAt(i);
|
|
37
|
+
hash = Math.imul(hash, FNV_PRIME_32);
|
|
38
|
+
}
|
|
39
|
+
/* Coerce to unsigned 32-bit. */
|
|
40
|
+
return hash >>> 0;
|
|
41
|
+
}
|
|
42
|
+
/*
|
|
43
|
+
* Which of the 10,000 sampling buckets a session falls into.
|
|
44
|
+
* Stable for the lifetime of the session id.
|
|
45
|
+
*/
|
|
46
|
+
static getBucket(sessionId) {
|
|
47
|
+
return SessionSampling.fnv1a32(sessionId) % SAMPLING_BUCKETS;
|
|
48
|
+
}
|
|
49
|
+
/*
|
|
50
|
+
* True when this session is inside the sample.
|
|
51
|
+
*
|
|
52
|
+
* samplePercentage is 0..100 and may carry two decimal places. 0 means
|
|
53
|
+
* nothing is sampled; 100 means everything is. Values outside the range
|
|
54
|
+
* are clamped rather than rejected, because a bad config value must not
|
|
55
|
+
* be able to turn sampling into an exception on the ingest hot path.
|
|
56
|
+
*
|
|
57
|
+
* Note honestly: because the input is a client-generated id, a
|
|
58
|
+
* determined client can regenerate ids until one passes. This function
|
|
59
|
+
* protects against misconfiguration and gives stable, reproducible
|
|
60
|
+
* decisions — it is not an anti-abuse control. The origin allowlist,
|
|
61
|
+
* the rate limiter and the per-project byte budget are.
|
|
62
|
+
*/
|
|
63
|
+
static isSampled(sessionId, samplePercentage) {
|
|
64
|
+
const clamped = SessionSampling.clampPercentage(samplePercentage);
|
|
65
|
+
if (clamped <= 0) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (clamped >= 100) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
/*
|
|
72
|
+
* Rounded rather than truncated so a percentage like 33.335 maps to
|
|
73
|
+
* the nearer bucket boundary instead of always downward.
|
|
74
|
+
*/
|
|
75
|
+
const threshold = Math.round(clamped * (SAMPLING_BUCKETS / 100));
|
|
76
|
+
return SessionSampling.getBucket(sessionId) < threshold;
|
|
77
|
+
}
|
|
78
|
+
static clampPercentage(samplePercentage) {
|
|
79
|
+
if (!Number.isFinite(samplePercentage)) {
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
if (samplePercentage < 0) {
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
if (samplePercentage > 100) {
|
|
86
|
+
return 100;
|
|
87
|
+
}
|
|
88
|
+
return samplePercentage;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=SessionSampling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionSampling.js","sourceRoot":"","sources":["../../../../Utils/Rum/SessionSampling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAW,UAAU,CAAC;AAC/C,MAAM,YAAY,GAAW,UAAU,CAAC;AAExC,8DAA8D;AAC9D,MAAM,gBAAgB,GAAW,KAAK,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CAAC,KAAa;QACjC,IAAI,IAAI,GAAW,mBAAmB,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS,CAAC,SAAiB;QACvC,OAAO,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,SAAS,CACrB,SAAiB,EACjB,gBAAwB;QAExB,MAAM,OAAO,GAAW,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAE1E,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;WAGG;QACH,MAAM,SAAS,GAAW,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;QAEzE,OAAO,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,gBAAwB;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* URL scrubbing for session replay.
|
|
3
|
+
*
|
|
4
|
+
* This is the one PII channel that text masking does not cover. Masking
|
|
5
|
+
* every text node still leaves `?email=someone@example.com`,
|
|
6
|
+
* `/reset-password?token=...`, and magic-link URLs intact — and URLs are
|
|
7
|
+
* *worse* than a payload leak, because entryUrl / exitUrl sit in the
|
|
8
|
+
* wider session-metadata ACL and render directly in the session list,
|
|
9
|
+
* where anyone who can see the list sees them.
|
|
10
|
+
*
|
|
11
|
+
* Applied in the browser, before anything is uploaded: to the chunk url,
|
|
12
|
+
* entryUrl, exitUrl, the rrweb Meta event hrefs, and every network-event
|
|
13
|
+
* URL.
|
|
14
|
+
*
|
|
15
|
+
* Must stay dependency-free — this is bundled into the browser recorder.
|
|
16
|
+
*/
|
|
17
|
+
/*
|
|
18
|
+
* Path segments that look like identifiers are replaced wholesale. A
|
|
19
|
+
* bare numeric id is left alone (it is rarely PII on its own and is
|
|
20
|
+
* often needed to tell one route from another), but anything that looks
|
|
21
|
+
* like a uuid, an email, a long digit run (card / phone / account) or a
|
|
22
|
+
* long opaque token is replaced.
|
|
23
|
+
*/
|
|
24
|
+
const UUID_SEGMENT = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
25
|
+
/* 24-char Mongo/BSON-style object id, which is what OneUptime itself uses. */
|
|
26
|
+
const OBJECT_ID_SEGMENT = /^[0-9a-f]{24}$/i;
|
|
27
|
+
const EMAIL_SEGMENT = /^[^@\s/]+@[^@\s/]+\.[^@\s/]+$/;
|
|
28
|
+
/* 9 or more consecutive digits: card numbers, phone numbers, SSNs. */
|
|
29
|
+
const LONG_DIGIT_SEGMENT = /^\d{9,}$/;
|
|
30
|
+
/*
|
|
31
|
+
* Long high-entropy strings: session tokens, JWT parts, signed links.
|
|
32
|
+
* Deliberately conservative at 32 characters so ordinary slugs survive.
|
|
33
|
+
*/
|
|
34
|
+
const OPAQUE_TOKEN_SEGMENT = /^[A-Za-z0-9_-]{32,}$/;
|
|
35
|
+
const REDACTED = "[redacted]";
|
|
36
|
+
export default class UrlScrubber {
|
|
37
|
+
/*
|
|
38
|
+
* Reduce a URL to origin + scrubbed path. Query and fragment are
|
|
39
|
+
* dropped entirely unless a parameter is explicitly allowlisted, in
|
|
40
|
+
* which case its *name* is kept and its value is redacted — enough to
|
|
41
|
+
* tell "this page was loaded with a coupon code" from "it wasn't",
|
|
42
|
+
* without recording which code.
|
|
43
|
+
*
|
|
44
|
+
* Never throws: a URL that will not parse is reduced to a constant
|
|
45
|
+
* rather than propagating an exception into the recorder's hot path or
|
|
46
|
+
* being passed through unscrubbed. Failing closed matters more here
|
|
47
|
+
* than fidelity.
|
|
48
|
+
*/
|
|
49
|
+
static scrub(rawUrl, allowlistedQueryParams) {
|
|
50
|
+
if (!rawUrl) {
|
|
51
|
+
return "";
|
|
52
|
+
}
|
|
53
|
+
let parsed = undefined;
|
|
54
|
+
try {
|
|
55
|
+
/*
|
|
56
|
+
* A base is supplied so relative URLs (which rrweb Meta events can
|
|
57
|
+
* carry) still parse. The base origin is never emitted, because a
|
|
58
|
+
* relative input yields a relative output below.
|
|
59
|
+
*/
|
|
60
|
+
parsed = new URL(rawUrl, "https://redacted.invalid");
|
|
61
|
+
}
|
|
62
|
+
catch (_a) {
|
|
63
|
+
return REDACTED;
|
|
64
|
+
}
|
|
65
|
+
const isRelativeInput = parsed.origin === "https://redacted.invalid" &&
|
|
66
|
+
!rawUrl.startsWith("https://redacted.invalid");
|
|
67
|
+
const scrubbedPath = UrlScrubber.scrubPath(parsed.pathname);
|
|
68
|
+
const query = UrlScrubber.scrubQuery(parsed.searchParams, allowlistedQueryParams);
|
|
69
|
+
const base = isRelativeInput
|
|
70
|
+
? scrubbedPath
|
|
71
|
+
: `${parsed.origin}${scrubbedPath}`;
|
|
72
|
+
return query ? `${base}?${query}` : base;
|
|
73
|
+
}
|
|
74
|
+
/* Replace identifier-shaped segments, preserving route structure. */
|
|
75
|
+
static scrubPath(pathname) {
|
|
76
|
+
if (!pathname || pathname === "/") {
|
|
77
|
+
return pathname || "/";
|
|
78
|
+
}
|
|
79
|
+
const segments = pathname.split("/");
|
|
80
|
+
const scrubbed = segments.map((segment) => {
|
|
81
|
+
if (!segment) {
|
|
82
|
+
return segment;
|
|
83
|
+
}
|
|
84
|
+
let decoded = segment;
|
|
85
|
+
/*
|
|
86
|
+
* Decode before matching so a percent-encoded email
|
|
87
|
+
* (name%40example.com) is still recognised. A malformed escape
|
|
88
|
+
* sequence throws, in which case the raw segment is matched.
|
|
89
|
+
*/
|
|
90
|
+
try {
|
|
91
|
+
decoded = decodeURIComponent(segment);
|
|
92
|
+
}
|
|
93
|
+
catch (_a) {
|
|
94
|
+
decoded = segment;
|
|
95
|
+
}
|
|
96
|
+
if (UUID_SEGMENT.test(decoded) ||
|
|
97
|
+
OBJECT_ID_SEGMENT.test(decoded) ||
|
|
98
|
+
EMAIL_SEGMENT.test(decoded) ||
|
|
99
|
+
LONG_DIGIT_SEGMENT.test(decoded) ||
|
|
100
|
+
OPAQUE_TOKEN_SEGMENT.test(decoded)) {
|
|
101
|
+
return REDACTED;
|
|
102
|
+
}
|
|
103
|
+
return segment;
|
|
104
|
+
});
|
|
105
|
+
return scrubbed.join("/");
|
|
106
|
+
}
|
|
107
|
+
/*
|
|
108
|
+
* Keep only allowlisted parameter names, with redacted values. An
|
|
109
|
+
* empty or missing allowlist drops the query string entirely.
|
|
110
|
+
*/
|
|
111
|
+
static scrubQuery(params, allowlistedQueryParams) {
|
|
112
|
+
if (!allowlistedQueryParams || allowlistedQueryParams.length === 0) {
|
|
113
|
+
return "";
|
|
114
|
+
}
|
|
115
|
+
const allowed = new Set(allowlistedQueryParams.map((param) => {
|
|
116
|
+
return param.toLowerCase();
|
|
117
|
+
}));
|
|
118
|
+
const kept = [];
|
|
119
|
+
params.forEach((_value, key) => {
|
|
120
|
+
if (allowed.has(key.toLowerCase())) {
|
|
121
|
+
kept.push(`${encodeURIComponent(key)}=${REDACTED}`);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
return kept.join("&");
|
|
125
|
+
}
|
|
126
|
+
/*
|
|
127
|
+
* Path-only form, used for the refresh-rage detector, which needs to
|
|
128
|
+
* compare "the same page" across reloads without the origin.
|
|
129
|
+
*/
|
|
130
|
+
static getScrubbedPathname(rawUrl) {
|
|
131
|
+
const scrubbed = UrlScrubber.scrub(rawUrl);
|
|
132
|
+
if (!scrubbed || scrubbed === REDACTED) {
|
|
133
|
+
return REDACTED;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const parsed = new URL(scrubbed, "https://redacted.invalid");
|
|
137
|
+
return parsed.pathname;
|
|
138
|
+
}
|
|
139
|
+
catch (_a) {
|
|
140
|
+
return REDACTED;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=UrlScrubber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlScrubber.js","sourceRoot":"","sources":["../../../../Utils/Rum/UrlScrubber.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ import Name from "../../Types/Name";
|
|
|
14
14
|
import IP from "../../Types/IP/IP";
|
|
15
15
|
import Port from "../../Types/Port";
|
|
16
16
|
import MonitorSteps from "../../Types/Monitor/MonitorSteps";
|
|
17
|
+
import MonitorType from "../../Types/Monitor/MonitorType";
|
|
18
|
+
import WorkflowStatus from "../../Types/Workflow/WorkflowStatus";
|
|
17
19
|
import OneUptimeDate from "../../Types/Date";
|
|
18
20
|
export class ModelSchema extends BaseSchema {
|
|
19
21
|
/**
|
|
@@ -95,9 +97,15 @@ export class ModelSchema extends BaseSchema {
|
|
|
95
97
|
zodType = Email.getSchema();
|
|
96
98
|
}
|
|
97
99
|
else if (column.type === TableColumnType.HashedString) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
/*
|
|
101
|
+
* format: password marks the field as a secret for spec consumers
|
|
102
|
+
* (the Terraform provider generator emits Sensitive: true for it).
|
|
103
|
+
*/
|
|
104
|
+
zodType = z.string().openapi({
|
|
105
|
+
type: "string",
|
|
106
|
+
format: "password",
|
|
107
|
+
example: "hashed_string_value",
|
|
108
|
+
});
|
|
101
109
|
}
|
|
102
110
|
else if (column.type === TableColumnType.Slug) {
|
|
103
111
|
zodType = z
|
|
@@ -274,12 +282,14 @@ export class ModelSchema extends BaseSchema {
|
|
|
274
282
|
else if (column.type === TableColumnType.MonitorType) {
|
|
275
283
|
zodType = z.string().openapi({
|
|
276
284
|
type: "string",
|
|
285
|
+
enum: Object.values(MonitorType),
|
|
277
286
|
example: "Manual",
|
|
278
287
|
});
|
|
279
288
|
}
|
|
280
289
|
else if (column.type === TableColumnType.WorkflowStatus) {
|
|
281
290
|
zodType = z.string().openapi({
|
|
282
291
|
type: "string",
|
|
292
|
+
enum: Object.values(WorkflowStatus),
|
|
283
293
|
example: "In Progress",
|
|
284
294
|
});
|
|
285
295
|
}
|
|
@@ -996,6 +1006,14 @@ export class ModelSchema extends BaseSchema {
|
|
|
996
1006
|
// should be optional
|
|
997
1007
|
zodType = zodType.optional();
|
|
998
1008
|
}
|
|
1009
|
+
else if (column.type === TableColumnType.Slug) {
|
|
1010
|
+
/*
|
|
1011
|
+
* Slugs are generated by the server from the slugify column. Some
|
|
1012
|
+
* models mark the column required at the database level, but API
|
|
1013
|
+
* clients never supply it.
|
|
1014
|
+
*/
|
|
1015
|
+
zodType = zodType.optional();
|
|
1016
|
+
}
|
|
999
1017
|
else if (((_a = column.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "project id" &&
|
|
1000
1018
|
column.type === TableColumnType.ObjectID) {
|
|
1001
1019
|
// this is optional in the API as well as it's derived from API key
|
|
@@ -1092,8 +1110,13 @@ export class ModelSchema extends BaseSchema {
|
|
|
1092
1110
|
zodType = Email.getSchema();
|
|
1093
1111
|
}
|
|
1094
1112
|
else if (column.type === TableColumnType.HashedString) {
|
|
1113
|
+
/*
|
|
1114
|
+
* format: password marks the field as a secret for spec consumers
|
|
1115
|
+
* (the Terraform provider generator emits Sensitive: true for it).
|
|
1116
|
+
*/
|
|
1095
1117
|
zodType = applyOpenApi(z.string(), {
|
|
1096
1118
|
type: "string",
|
|
1119
|
+
format: "password",
|
|
1097
1120
|
example: "hashed_string_value",
|
|
1098
1121
|
});
|
|
1099
1122
|
}
|
|
@@ -1252,12 +1275,14 @@ export class ModelSchema extends BaseSchema {
|
|
|
1252
1275
|
else if (column.type === TableColumnType.MonitorType) {
|
|
1253
1276
|
zodType = applyOpenApi(z.string(), {
|
|
1254
1277
|
type: "string",
|
|
1278
|
+
enum: Object.values(MonitorType),
|
|
1255
1279
|
example: "HTTP",
|
|
1256
1280
|
});
|
|
1257
1281
|
}
|
|
1258
1282
|
else if (column.type === TableColumnType.WorkflowStatus) {
|
|
1259
1283
|
zodType = applyOpenApi(z.string(), {
|
|
1260
1284
|
type: "string",
|
|
1285
|
+
enum: Object.values(WorkflowStatus),
|
|
1261
1286
|
example: "In Progress",
|
|
1262
1287
|
});
|
|
1263
1288
|
}
|