@oneuptime/common 14.0.7 → 14.0.9

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.
Files changed (1064) hide show
  1. package/Models/DatabaseModels/Incident.ts +267 -1
  2. package/Models/DatabaseModels/IncidentCustomField.ts +202 -0
  3. package/Models/DatabaseModels/IncidentEpisode.ts +30 -0
  4. package/Models/DatabaseModels/IncidentTemplate.ts +126 -1
  5. package/Models/DatabaseModels/Index.ts +2 -0
  6. package/Models/DatabaseModels/KubernetesAiAgent.ts +364 -0
  7. package/Models/DatabaseModels/KubernetesCluster.ts +3 -3
  8. package/Models/DatabaseModels/Project.ts +55 -5
  9. package/Models/DatabaseModels/ProxmoxResource.ts +49 -1
  10. package/Models/DatabaseModels/RunnerJob.ts +75 -0
  11. package/Models/DatabaseModels/StatusPage.ts +55 -0
  12. package/Models/DatabaseModels/StatusPageSubscriber.ts +128 -0
  13. package/Models/DatabaseModels/TeamComplianceSetting.ts +143 -2
  14. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +17 -0
  15. package/Server/API/AIChatAPI.ts +6 -3
  16. package/Server/API/AIInvestigationAPI.ts +17 -10
  17. package/Server/API/AutoRemediationAPI.ts +207 -25
  18. package/Server/API/IncidentAPI.ts +162 -0
  19. package/Server/API/KubernetesClusterAiAccessAPI.ts +623 -21
  20. package/Server/API/MicrosoftTeamsAPI.ts +93 -14
  21. package/Server/API/ProxmoxResourceAPI.ts +244 -14
  22. package/Server/API/StatusPageAPI.ts +487 -171
  23. package/Server/API/StatusPageSubscriberAPI.ts +63 -15
  24. package/Server/Infrastructure/GlobalCache.ts +32 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.ts +49 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.ts +108 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.ts +33 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.ts +51 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.ts +33 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.ts +168 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.ts +44 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1796000000000-AddTeamComplianceRuleScope.ts +99 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1796100000000-AddKubernetesAiAgentAndAiDefaults.ts +137 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1796200000000-AddProxmoxResourceNativePushColumns.ts +42 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  36. package/Server/Infrastructure/Semaphore.ts +10 -0
  37. package/Server/Middleware/IdentityRateLimit.ts +108 -3
  38. package/Server/Middleware/SubscriberNotificationPreviewRateLimit.ts +237 -0
  39. package/Server/Middleware/SubscriberNotificationTestSendRateLimit.ts +304 -0
  40. package/Server/Middleware/TelemetryIngest.ts +41 -18
  41. package/Server/Services/AIService.ts +70 -1
  42. package/Server/Services/AlertService.ts +352 -11
  43. package/Server/Services/AlertSeverityService.ts +65 -15
  44. package/Server/Services/AutoRemediationRuleService.ts +1 -1
  45. package/Server/Services/DatabaseService.ts +93 -10
  46. package/Server/Services/IncidentCustomFieldService.ts +276 -1
  47. package/Server/Services/IncidentEpisodePublicNoteService.ts +28 -0
  48. package/Server/Services/IncidentEpisodeService.ts +15 -0
  49. package/Server/Services/IncidentEpisodeStateTimelineService.ts +27 -1
  50. package/Server/Services/IncidentPublicNoteService.ts +30 -1
  51. package/Server/Services/IncidentService.ts +1788 -142
  52. package/Server/Services/IncidentSeverityService.ts +66 -15
  53. package/Server/Services/IncidentStateTimelineService.ts +13 -0
  54. package/Server/Services/IncidentTemplateService.ts +109 -0
  55. package/Server/Services/KubernetesAiAgentJobService.ts +185 -0
  56. package/Server/Services/KubernetesAiAgentService.ts +1634 -0
  57. package/Server/Services/KubernetesClusterAiAccessService.ts +1118 -451
  58. package/Server/Services/KubernetesClusterService.ts +129 -21
  59. package/Server/Services/ProjectService.ts +32 -0
  60. package/Server/Services/ProxmoxResourceService.ts +322 -5
  61. package/Server/Services/RunnerJobService.ts +241 -104
  62. package/Server/Services/RunnerService.ts +1 -1
  63. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +30 -1
  64. package/Server/Services/ScheduledMaintenanceService.ts +805 -19
  65. package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +414 -56
  66. package/Server/Services/SmsService.ts +10 -0
  67. package/Server/Services/StatusPageService.ts +65 -8
  68. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +299 -37
  69. package/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.ts +129 -0
  70. package/Server/Services/StatusPageSubscriberService.ts +1161 -64
  71. package/Server/Services/TeamComplianceSettingService.ts +1125 -9
  72. package/Server/Types/Markdown.ts +153 -6
  73. package/Server/Types/Workflow/Components/Email.ts +61 -2
  74. package/Server/Utils/AI/ClusterAccess/ClusterAccessContext.ts +67 -9
  75. package/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.ts +39 -10
  76. package/Server/Utils/AI/ClusterAccess/KubectlJobRunner.ts +14 -3
  77. package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +37 -15
  78. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +67 -24
  79. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +48 -5
  80. package/Server/Utils/AI/SRE/IncidentPostmortemRunner.ts +40 -8
  81. package/Server/Utils/AI/SRE/InvestigationEligibility.ts +13 -2
  82. package/Server/Utils/AI/SRE/InvestigationGrader.ts +1 -1
  83. package/Server/Utils/AutoRemediation/CommandPlanExecutor.ts +6 -1
  84. package/Server/Utils/CustomField/CustomFieldRename.ts +378 -0
  85. package/Server/Utils/DataSource/EgressGuard.ts +66 -21
  86. package/Server/Utils/Mail/PinnedSmtpSocket.ts +130 -0
  87. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +10 -0
  88. package/Server/Utils/SSRFProtection.ts +76 -16
  89. package/Server/Utils/StatusPage/IncidentStatusPageScope.ts +948 -0
  90. package/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.ts +656 -0
  91. package/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.ts +805 -0
  92. package/Server/Utils/StatusPage/StatusPageExclusion.ts +18 -0
  93. package/Server/Utils/StatusPage/StatusPageReadAccess.ts +125 -0
  94. package/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.ts +151 -0
  95. package/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.ts +70 -0
  96. package/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.ts +421 -0
  97. package/Server/Utils/StatusPage/SubscriberNotificationClaim.ts +107 -0
  98. package/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.ts +1049 -0
  99. package/Server/Utils/StatusPage/SubscriberNotificationFanOut.ts +180 -0
  100. package/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.ts +839 -0
  101. package/Server/Utils/StatusPage/SubscriberNotificationResendAccess.ts +393 -0
  102. package/Server/Utils/StatusPage/SubscriberNotificationRunLimit.ts +246 -0
  103. package/Server/Utils/StatusPage/SubscriberNotificationTiming.ts +133 -0
  104. package/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.ts +215 -0
  105. package/Server/Utils/StatusPageResource.ts +51 -20
  106. package/Server/Utils/Telemetry/InventoryEntityRegistry.ts +133 -7
  107. package/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.ts +58 -4
  108. package/Server/Utils/Telemetry/ProxmoxNativeNodeLiveness.ts +447 -0
  109. package/Server/Utils/Telemetry/ProxmoxNativePush.ts +903 -0
  110. package/Server/Utils/Telemetry/TelemetryEntity.ts +87 -27
  111. package/Server/Utils/VM/VMAPI.ts +1 -0
  112. package/Server/Utils/VM/VMRunner.ts +10 -0
  113. package/Server/Utils/Workflow/OAuth2TokenClient.ts +10 -0
  114. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +684 -47
  115. package/Server/Views/Partials/SensitiveUrlToken.ejs +8 -5
  116. package/Tests/App/Accounts/RegisterVerifyEmail.test.tsx +748 -0
  117. package/Tests/App/Accounts/ResendVerificationEmail.test.tsx +1222 -0
  118. package/Tests/App/Accounts/VerificationEmailResendUtils.test.ts +797 -0
  119. package/Tests/App/Accounts/VerifyEmailPending.test.tsx +538 -0
  120. package/Tests/App/Accounts/VerifyEmailResend.test.tsx +779 -0
  121. package/Tests/App/AdminDashboard/RowActionPlacementOverrides.test.tsx +278 -0
  122. package/Tests/App/Dashboard/AIChatChartWidgetZoom.test.tsx +738 -0
  123. package/Tests/App/Dashboard/AIFeaturesSettingsPointers.test.tsx +147 -0
  124. package/Tests/App/Dashboard/AIInsightsKubernetesClusterPage.test.tsx +1523 -0
  125. package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +463 -3
  126. package/Tests/App/Dashboard/AffectedResourcesPickerDropdownPlacement.test.tsx +958 -0
  127. package/Tests/App/Dashboard/AffectedResourcesPickerFocusLeave.test.tsx +595 -0
  128. package/Tests/App/Dashboard/AskAiAvailability.test.ts +20 -3
  129. package/Tests/App/Dashboard/AskAiDisabled.test.tsx +8 -3
  130. package/Tests/App/Dashboard/CephRateChartReload.test.tsx +1456 -0
  131. package/Tests/App/Dashboard/CephTimeRangeZoom.test.tsx +1229 -0
  132. package/Tests/App/Dashboard/ChartCardTimeRangeZoom.test.tsx +151 -0
  133. package/Tests/App/Dashboard/ChartCardZoomAffordances.test.tsx +257 -0
  134. package/Tests/App/Dashboard/ChartRefetchFrame.test.tsx +141 -0
  135. package/Tests/App/Dashboard/ChartZoomHarness.tsx +249 -0
  136. package/Tests/App/Dashboard/ChartZoomStandIn.tsx +131 -0
  137. package/Tests/App/Dashboard/CloudServerlessSlowLoads.test.tsx +628 -0
  138. package/Tests/App/Dashboard/CloudServerlessTimeRangeZoom.test.tsx +607 -0
  139. package/Tests/App/Dashboard/ClusterAccessNotice.test.tsx +91 -19
  140. package/Tests/App/Dashboard/CompanionMetricsTabZoom.test.tsx +632 -0
  141. package/Tests/App/Dashboard/ContainerChartZoomStandIn.tsx +195 -0
  142. package/Tests/App/Dashboard/ContainerHostOverviewSlowLoads.test.tsx +542 -0
  143. package/Tests/App/Dashboard/ContainerHostOverviewTimeRangeZoom.test.tsx +848 -0
  144. package/Tests/App/Dashboard/ContainerMetricsTimeRangeZoom.test.tsx +561 -0
  145. package/Tests/App/Dashboard/CustomFieldsSettingsIncidentOptions.test.tsx +357 -0
  146. package/Tests/App/Dashboard/DashboardBoardWideZoomShell.test.tsx +1147 -0
  147. package/Tests/App/Dashboard/DashboardEditPermissions.test.tsx +3 -2
  148. package/Tests/App/Dashboard/DashboardHistogramWidgetDragCursor.test.tsx +399 -0
  149. package/Tests/App/Dashboard/DashboardHistogramWidgetZoom.test.tsx +985 -0
  150. package/Tests/App/Dashboard/DashboardHistogramWidgetZoomHint.test.tsx +803 -0
  151. package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +1 -0
  152. package/Tests/App/Dashboard/DashboardSettingsPreviewZoom.test.tsx +679 -0
  153. package/Tests/App/Dashboard/DashboardSloAndDataSourceChartZoom.test.tsx +881 -0
  154. package/Tests/App/Dashboard/DashboardTraceStatusWidgets.test.tsx +878 -0
  155. package/Tests/App/Dashboard/DatabaseMetricChartModalTimeRangeZoom.test.tsx +442 -0
  156. package/Tests/App/Dashboard/DatabaseOverviewTimeRangeZoom.test.tsx +831 -0
  157. package/Tests/App/Dashboard/DatabaseServerComponents.test.tsx +43 -0
  158. package/Tests/App/Dashboard/DockerSwarmInsightsTimeRangeZoom.test.tsx +524 -0
  159. package/Tests/App/Dashboard/DockerSwarmRateChartRefresh.test.tsx +259 -0
  160. package/Tests/App/Dashboard/EdgeDetailPanelHistory.test.tsx +763 -0
  161. package/Tests/App/Dashboard/EdgeDetailPanelTimeRangeZoom.test.tsx +547 -0
  162. package/Tests/App/Dashboard/EdgeHistoryBucketsCases.tsx +565 -0
  163. package/Tests/App/Dashboard/EdgeHistoryBucketsKathmandu.test.tsx +73 -0
  164. package/Tests/App/Dashboard/EdgeHistoryBucketsKolkata.test.tsx +74 -0
  165. package/Tests/App/Dashboard/EdgeHistoryBucketsNewYork.test.tsx +72 -0
  166. package/Tests/App/Dashboard/EdgeHistoryBucketsUtc.test.tsx +72 -0
  167. package/Tests/App/Dashboard/EmbeddedMetricCardRefresh.test.tsx +310 -0
  168. package/Tests/App/Dashboard/EmbeddedMetricCardTimeRangeZoom.test.tsx +536 -0
  169. package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +3 -1
  170. package/Tests/App/Dashboard/EscalationRuleRowActions.test.tsx +660 -0
  171. package/Tests/App/Dashboard/EventNotes.test.tsx +778 -2
  172. package/Tests/App/Dashboard/EventNotesPages.test.tsx +119 -0
  173. package/Tests/App/Dashboard/EventNotesUtil.test.ts +116 -17
  174. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +828 -17
  175. package/Tests/App/Dashboard/EventOverviewSnapshotExplorerZoom.test.tsx +1139 -0
  176. package/Tests/App/Dashboard/EventOverviewSnapshotZoomAcrossTabs.test.tsx +1057 -0
  177. package/Tests/App/Dashboard/EventOverviewTelemetrySnapshotZoom.test.tsx +757 -0
  178. package/Tests/App/Dashboard/ExceptionOccurrenceTrendZoom.test.tsx +675 -0
  179. package/Tests/App/Dashboard/ExceptionOccurrencesZoomSurvivesViewSwitch.test.tsx +405 -0
  180. package/Tests/App/Dashboard/ExceptionSignalPages.test.tsx +67 -3
  181. package/Tests/App/Dashboard/ExceptionTablesSpanStatus.test.tsx +515 -0
  182. package/Tests/App/Dashboard/ExplorerOwnZoomRegression.test.tsx +739 -0
  183. package/Tests/App/Dashboard/FlowBandwidthAxisCases.tsx +461 -0
  184. package/Tests/App/Dashboard/FlowBandwidthAxisKathmandu.test.tsx +25 -0
  185. package/Tests/App/Dashboard/FlowBandwidthAxisKolkata.test.tsx +25 -0
  186. package/Tests/App/Dashboard/FlowBandwidthAxisNewYork.test.tsx +25 -0
  187. package/Tests/App/Dashboard/FlowBandwidthAxisUtc.test.tsx +24 -0
  188. package/Tests/App/Dashboard/FlowTopTalkersZoomRefetch.test.tsx +722 -0
  189. package/Tests/App/Dashboard/FlowViewportGuard.test.tsx +2526 -0
  190. package/Tests/App/Dashboard/HostPagesSlowLoads.test.tsx +872 -0
  191. package/Tests/App/Dashboard/HostPagesTimeRangeZoom.test.tsx +1208 -0
  192. package/Tests/App/Dashboard/IncidentChangeStateNotifyDefault.test.tsx +91 -1
  193. package/Tests/App/Dashboard/IncidentCreateDetailsStep.test.tsx +643 -0
  194. package/Tests/App/Dashboard/IncidentCreateFromAlerts.test.tsx +8 -1
  195. package/Tests/App/Dashboard/IncidentCreateStatusPageScope.test.tsx +601 -0
  196. package/Tests/App/Dashboard/IncidentCustomFieldTemplateVariables.test.tsx +386 -0
  197. package/Tests/App/Dashboard/IncidentNoteTemplatePlaceholders.test.tsx +124 -0
  198. package/Tests/App/Dashboard/IncidentNoteTemplateVariablesLoader.test.ts +305 -0
  199. package/Tests/App/Dashboard/IncidentOverviewNotifyDefault.test.tsx +112 -0
  200. package/Tests/App/Dashboard/IncidentRootCauseTimeRangeZoom.test.tsx +358 -0
  201. package/Tests/App/Dashboard/IncidentSettingsRenotifyOnPublish.test.tsx +674 -0
  202. package/Tests/App/Dashboard/IncidentSettingsStatusPageScope.test.tsx +1051 -0
  203. package/Tests/App/Dashboard/IncidentTemplateCustomFields.test.tsx +384 -0
  204. package/Tests/App/Dashboard/IncidentTemplateStatusPageScopeCard.test.tsx +215 -0
  205. package/Tests/App/Dashboard/InfrastructureGraph.test.tsx +100 -9
  206. package/Tests/App/Dashboard/InfrastructureMetricsTabTimeRangeZoom.test.tsx +485 -0
  207. package/Tests/App/Dashboard/InvestigationDrawerCompanionZoom.test.tsx +655 -0
  208. package/Tests/App/Dashboard/InvestigationDrawerZoom.test.tsx +830 -0
  209. package/Tests/App/Dashboard/InvestigationNotStarted.test.tsx +338 -2
  210. package/Tests/App/Dashboard/InvoicesPayInvoice.test.tsx +454 -16
  211. package/Tests/App/Dashboard/KubernetesClusterAiAccessSettings.test.ts +799 -819
  212. package/Tests/App/Dashboard/KubernetesClusterAiAgentOverviewCard.test.tsx +367 -0
  213. package/Tests/App/Dashboard/KubernetesClusterAiAgentStatus.test.ts +1202 -0
  214. package/Tests/App/Dashboard/KubernetesClusterAiDocumentationMarkdown.test.ts +106 -0
  215. package/Tests/App/Dashboard/KubernetesClusterAiNavigation.test.tsx +354 -0
  216. package/Tests/App/Dashboard/KubernetesClusterAiPage.test.tsx +1884 -2054
  217. package/Tests/App/Dashboard/KubernetesClusterAiPageServerParity.test.ts +478 -179
  218. package/Tests/App/Dashboard/KubernetesClusterMetricTooltips.test.ts +50 -0
  219. package/Tests/App/Dashboard/KubernetesClusterOverviewTooltips.test.tsx +2 -1
  220. package/Tests/App/Dashboard/KubernetesClusterOverviewZoom.test.tsx +1217 -0
  221. package/Tests/App/Dashboard/KubernetesClusterPagesZoom.test.tsx +731 -0
  222. package/Tests/App/Dashboard/KubernetesCostsLoadRecovery.test.tsx +869 -0
  223. package/Tests/App/Dashboard/KubernetesCostsZoom.test.tsx +1214 -0
  224. package/Tests/App/Dashboard/KubernetesCostsZoomExactHours.test.tsx +692 -0
  225. package/Tests/App/Dashboard/KubernetesNetworkThroughputReload.test.tsx +902 -0
  226. package/Tests/App/Dashboard/KubernetesNetworkZoomBucketEdges.test.tsx +571 -0
  227. package/Tests/App/Dashboard/KubernetesOverviewZoomBucketEdges.test.tsx +697 -0
  228. package/Tests/App/Dashboard/KubernetesResourceMetricsTabZoom.test.tsx +633 -0
  229. package/Tests/App/Dashboard/LogsExplorerTimeRangeZoom.test.tsx +470 -0
  230. package/Tests/App/Dashboard/LogsInsightsTimeRangeZoom.test.tsx +948 -0
  231. package/Tests/App/Dashboard/LogsViewerPinnedWindowZoom.test.tsx +486 -0
  232. package/Tests/App/Dashboard/MetricChartsBucketInspectorDoubleClick.test.tsx +1001 -0
  233. package/Tests/App/Dashboard/MetricExplorerInvestigationAutoRefresh.test.tsx +514 -0
  234. package/Tests/App/Dashboard/MetricExplorerSavedViewZoomRoundTrip.test.tsx +581 -0
  235. package/Tests/App/Dashboard/MetricExplorerTimeRangeZoom.test.tsx +1162 -0
  236. package/Tests/App/Dashboard/MetricMonitorPreviewZoomLabel.test.ts +72 -0
  237. package/Tests/App/Dashboard/MetricRowSparklineTimeRangeZoom.test.tsx +204 -0
  238. package/Tests/App/Dashboard/MetricViewFirstResultLands.test.tsx +408 -0
  239. package/Tests/App/Dashboard/MetricViewOwnZoomResetPlacement.test.tsx +952 -0
  240. package/Tests/App/Dashboard/MetricViewTimeRange.test.ts +139 -0
  241. package/Tests/App/Dashboard/MetricViewTimeRangeZoom.test.tsx +556 -0
  242. package/Tests/App/Dashboard/MonitorMetricsChartWrappersZoom.test.tsx +552 -0
  243. package/Tests/App/Dashboard/MonitorMetricsTabsTimeRangeZoom.test.tsx +740 -0
  244. package/Tests/App/Dashboard/MonitorOverviewChartsTimeRangeZoom.test.tsx +735 -0
  245. package/Tests/App/Dashboard/MonitorStepPreviewsTimeRangeZoom.test.tsx +835 -0
  246. package/Tests/App/Dashboard/NetworkDeviceTimeRangeZoom.test.tsx +1115 -0
  247. package/Tests/App/Dashboard/OnCallPreventionGuards.test.tsx +186 -17
  248. package/Tests/App/Dashboard/OnCallRulesDeleteGuard.test.tsx +155 -46
  249. package/Tests/App/Dashboard/PasskeySettings.test.tsx +87 -2
  250. package/Tests/App/Dashboard/ProjectAISettingsPages.test.tsx +884 -0
  251. package/Tests/App/Dashboard/ProxmoxNodeRemove.test.tsx +621 -0
  252. package/Tests/App/Dashboard/ProxmoxOverviewSlowLoads.test.tsx +584 -0
  253. package/Tests/App/Dashboard/ProxmoxPagesTimeRangeZoom.test.tsx +823 -0
  254. package/Tests/App/Dashboard/ProxmoxRateChartReload.test.tsx +1253 -0
  255. package/Tests/App/Dashboard/PublicDashboardBoardWideZoom.test.tsx +605 -0
  256. package/Tests/App/Dashboard/PublicNotePagesNotifyDefault.test.tsx +113 -1
  257. package/Tests/App/Dashboard/RealRowsLineChart.tsx +250 -0
  258. package/Tests/App/Dashboard/RechartsHostsPlotCursor.test.tsx +513 -0
  259. package/Tests/App/Dashboard/RowActionPlacementOverrides.test.tsx +865 -0
  260. package/Tests/App/Dashboard/RumOverviewTimeRangeZoom.test.tsx +877 -0
  261. package/Tests/App/Dashboard/RunnerKubernetesAgentForm.test.tsx +20 -4
  262. package/Tests/App/Dashboard/RunnerSupersededByAiAgentNote.test.tsx +296 -0
  263. package/Tests/App/Dashboard/SecurityEventConnectionsTable.test.tsx +146 -36
  264. package/Tests/App/Dashboard/ServiceDatabaseSlowLoads.test.tsx +1166 -0
  265. package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +1243 -104
  266. package/Tests/App/Dashboard/ServiceOverviewTimeRangeZoom.test.tsx +792 -0
  267. package/Tests/App/Dashboard/SloBudgetBurnDownZoom.test.tsx +771 -0
  268. package/Tests/App/Dashboard/SloBudgetBurnDownZoomAffordances.test.tsx +380 -0
  269. package/Tests/App/Dashboard/SloEventMetricsBarChartZoom.test.tsx +369 -0
  270. package/Tests/App/Dashboard/SloHistoryChartsTimeRangeZoom.test.tsx +694 -0
  271. package/Tests/App/Dashboard/SloHistoryChartsZoomAffordances.test.tsx +497 -0
  272. package/Tests/App/Dashboard/SloMetricsTimeRangeZoom.test.tsx +541 -0
  273. package/Tests/App/Dashboard/SlowLoadHarness.ts +123 -0
  274. package/Tests/App/Dashboard/SnapshotExplorerPrimaryZoom.test.tsx +1194 -0
  275. package/Tests/App/Dashboard/SnapshotViewerPinnedWindow.test.tsx +620 -0
  276. package/Tests/App/Dashboard/SubscriberAudienceSummary.test.tsx +512 -0
  277. package/Tests/App/Dashboard/SubscriberNotificationPreviewModal.test.tsx +837 -0
  278. package/Tests/App/Dashboard/SubscriberNotificationStatusLabel.test.tsx +88 -0
  279. package/Tests/App/Dashboard/SubscriberNotificationStatusResend.test.tsx +473 -0
  280. package/Tests/App/Dashboard/SubscriberTemplateLivePreview.test.tsx +196 -0
  281. package/Tests/App/Dashboard/TeamAddedSubscribersUnsubscribedNotice.test.tsx +248 -0
  282. package/Tests/App/Dashboard/TelemetrySnapshotPanelTimeRangeZoom.test.tsx +765 -0
  283. package/Tests/App/Dashboard/TelemetrySnapshotZoom.test.tsx +516 -0
  284. package/Tests/App/Dashboard/TelemetrySnapshotZoomAcrossTabs.test.tsx +827 -0
  285. package/Tests/App/Dashboard/TimeRangeZoomPageHarness.tsx +463 -0
  286. package/Tests/App/Dashboard/TraceChartEditorStatusSplit.test.tsx +543 -0
  287. package/Tests/App/Dashboard/TraceStatusPresentation.test.tsx +967 -0
  288. package/Tests/App/Dashboard/TraceTimelineMinimapZoom.test.tsx +315 -0
  289. package/Tests/App/Dashboard/TracesAnalyticsStatusSplit.test.tsx +778 -0
  290. package/Tests/App/Dashboard/TracesAnalyticsViewZoom.test.tsx +349 -0
  291. package/Tests/App/Dashboard/TracesExplorerTimeRangeZoom.test.tsx +551 -0
  292. package/Tests/App/Dashboard/TracesStatusChartAndFacet.test.tsx +687 -0
  293. package/Tests/App/Dashboard/TracesViewerStaleResponses.test.tsx +458 -0
  294. package/Tests/App/Dashboard/UptimeStripsExcludedFromZoom.test.tsx +406 -0
  295. package/Tests/App/Dashboard/VMwareOverviewSlowLoads.test.tsx +535 -0
  296. package/Tests/App/Dashboard/VMwarePagesTimeRangeZoom.test.tsx +606 -0
  297. package/Tests/App/Dashboard/ValueWidgetSparklineStaleHover.test.tsx +1292 -0
  298. package/Tests/App/Dashboard/ValueWidgetSparklineZoom.test.tsx +765 -0
  299. package/Tests/App/SensitiveUrlTokenBootstrap.test.ts +64 -3
  300. package/Tests/App/StatusPage/StatusPageResourceExplorer.test.tsx +98 -0
  301. package/Tests/App/StatusPage/StatusPageUnsubscribePage.test.tsx +412 -0
  302. package/Tests/Models/DatabaseModels/KubernetesAiAgentModel.test.ts +295 -0
  303. package/Tests/Models/DatabaseModels/TeamComplianceSettingModel.test.ts +347 -0
  304. package/Tests/Models/IncidentCustomFieldApiSchemaContract.test.ts +217 -0
  305. package/Tests/Models/IncidentCustomFieldCreateSettingsColumns.test.ts +252 -0
  306. package/Tests/Models/StatusPageSubscriberUnsubscribeColumns.test.ts +218 -0
  307. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +58 -0
  308. package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +1 -1
  309. package/Tests/Server/API/AIInvestigationAPI.test.ts +123 -45
  310. package/Tests/Server/API/AutoRemediationApproveClusterRound.test.ts +1329 -0
  311. package/Tests/Server/API/AutoRemediationApproveKubectlRecheck.test.ts +25 -2
  312. package/Tests/Server/API/ExpiredSessionRouteGuards.test.ts +7 -0
  313. package/Tests/Server/API/IncidentSubscriberAudienceAPI.test.ts +1408 -0
  314. package/Tests/Server/API/KubernetesClusterAiAccessAPI.test.ts +2 -0
  315. package/Tests/Server/API/KubernetesClusterAiAccessAPIAgent.test.ts +903 -0
  316. package/Tests/Server/API/MicrosoftTeamsChatsRefreshRoute.test.ts +667 -0
  317. package/Tests/Server/API/MicrosoftTeamsManifest.test.ts +294 -6
  318. package/Tests/Server/API/ProxmoxResourceAPIRemoveNode.test.ts +1932 -0
  319. package/Tests/Server/API/StatusPageIncidentScope.test.ts +1868 -0
  320. package/Tests/Server/API/StatusPageIncidentScopePostgres.test.ts +790 -0
  321. package/Tests/Server/API/StatusPageManageSubscriptionRecipient.test.ts +10 -1
  322. package/Tests/Server/API/StatusPageManageSubscriptionTemplateVariables.test.ts +206 -18
  323. package/Tests/Server/API/StatusPagePostmortemVisibility.test.ts +14 -2
  324. package/Tests/Server/API/StatusPageSubscriberCreateResponse.test.ts +217 -0
  325. package/Tests/Server/API/StatusPageSubscriberOwnership.test.ts +103 -2
  326. package/Tests/Server/API/StatusPageUnsubscribeAPI.test.ts +396 -0
  327. package/Tests/Server/Infrastructure/GlobalCache.test.ts +195 -0
  328. package/Tests/Server/Infrastructure/Postgres/AddIncidentStatusPageScopeMigration.test.ts +395 -0
  329. package/Tests/Server/Infrastructure/Postgres/AddIncidentTemplateStatusPageScopeFlagMigration.test.ts +150 -0
  330. package/Tests/Server/Infrastructure/Postgres/AddKubernetesAiAgentAndAiDefaultsMigration.test.ts +623 -0
  331. package/Tests/Server/Infrastructure/Postgres/AddKubernetesClusterAiAccessMigration.test.ts +87 -10
  332. package/Tests/Server/Infrastructure/Postgres/AddSubscriberNotificationClaimedAtMigration.test.ts +156 -0
  333. package/Tests/Server/Infrastructure/Postgres/AddTeamComplianceRuleScopeMigration.test.ts +622 -0
  334. package/Tests/Server/Infrastructure/Postgres/SkipHiddenIncidentCreatedNotificationsMigration.test.ts +410 -0
  335. package/Tests/Server/Middleware/IdentityRateLimit.test.ts +551 -1
  336. package/Tests/Server/Middleware/SubscriberNotificationPreviewRateLimit.test.ts +238 -0
  337. package/Tests/Server/Middleware/SubscriberNotificationTestSendRateLimit.test.ts +245 -0
  338. package/Tests/Server/Middleware/TelemetryIngestBrowserKey.test.ts +61 -4
  339. package/Tests/Server/Middleware/TelemetryIngestKubernetesAgentRunnerPinnedKey.test.ts +98 -2
  340. package/Tests/Server/Middleware/TelemetryIngestKubernetesAgentRunnerRateLimit.test.ts +105 -2
  341. package/Tests/Server/Services/AIServiceBalanceBlocker.test.ts +282 -0
  342. package/Tests/Server/Services/AddStatusPageSubscriberUnsubscribeTokenMigration.test.ts +152 -0
  343. package/Tests/Server/Services/AlertMonitorClearWritesNull.test.ts +409 -0
  344. package/Tests/Server/Services/AlertMonitorEditFeed.test.ts +474 -0
  345. package/Tests/Server/Services/AlertMonitorEditGuard.test.ts +610 -0
  346. package/Tests/Server/Services/AutoRemediationClusterRuleEngine.test.ts +2 -0
  347. package/Tests/Server/Services/AutoRemediationRuleCommandRunners.test.ts +2 -1
  348. package/Tests/Server/Services/CrossProjectRelationWriteGuard.test.ts +221 -36
  349. package/Tests/Server/Services/DatabaseServiceCompareAndSetColumns.test.ts +191 -0
  350. package/Tests/Server/Services/IncidentAffectedMonitorsEdit.test.ts +1360 -0
  351. package/Tests/Server/Services/IncidentAlertSloLinkSurvivesEdit.test.ts +3 -1
  352. package/Tests/Server/Services/IncidentCreatedRenotifyOnPublish.test.ts +681 -0
  353. package/Tests/Server/Services/IncidentCreatedResend.test.ts +775 -0
  354. package/Tests/Server/Services/IncidentCustomFieldRenamePostgres.test.ts +713 -0
  355. package/Tests/Server/Services/IncidentCustomFieldService.test.ts +751 -0
  356. package/Tests/Server/Services/IncidentCustomFieldValueValidation.test.ts +556 -0
  357. package/Tests/Server/Services/IncidentSeverityDeletePausesComplianceRules.test.ts +488 -0
  358. package/Tests/Server/Services/IncidentStatusPageScope.test.ts +2971 -0
  359. package/Tests/Server/Services/IncidentStatusPageScopeFeed.test.ts +131 -0
  360. package/Tests/Server/Services/IncidentStatusPageScopePostgres.test.ts +625 -0
  361. package/Tests/Server/Services/IncidentTemplateCustomFieldsCopy.test.ts +311 -0
  362. package/Tests/Server/Services/IncidentTemplateStatusPageScope.test.ts +363 -0
  363. package/Tests/Server/Services/KubernetesAiAgentJobService.test.ts +329 -0
  364. package/Tests/Server/Services/KubernetesAiAgentServiceHelpers.test.ts +618 -0
  365. package/Tests/Server/Services/KubernetesAiAgentServiceLifecycle.test.ts +1444 -0
  366. package/Tests/Server/Services/KubernetesAiAgentServiceRegister.test.ts +1666 -0
  367. package/Tests/Server/Services/KubernetesClusterAiAccessDeletedRunnerRemedy.test.ts +140 -111
  368. package/Tests/Server/Services/KubernetesClusterAiAccessGapNextSteps.test.ts +267 -105
  369. package/Tests/Server/Services/KubernetesClusterAiAccessLegacySuperseded.test.ts +440 -0
  370. package/Tests/Server/Services/KubernetesClusterAiAccessService.test.ts +567 -411
  371. package/Tests/Server/Services/KubernetesClusterAiAccessTarget.test.ts +1168 -0
  372. package/Tests/Server/Services/KubernetesClusterAiSettingsPermission.test.ts +410 -12
  373. package/Tests/Server/Services/KubernetesClusterServiceAiAccessFeed.test.ts +55 -0
  374. package/Tests/Server/Services/ProjectServiceNewProjectAiDefaults.test.ts +288 -0
  375. package/Tests/Server/Services/ProxmoxResourcePostgres.test.ts +5633 -0
  376. package/Tests/Server/Services/ProxmoxResourceService.test.ts +6458 -5
  377. package/Tests/Server/Services/PublicNoteEditFeedEventType.test.ts +213 -0
  378. package/Tests/Server/Services/PublicNoteResendAccess.test.ts +994 -0
  379. package/Tests/Server/Services/RunnerJobEnqueueKubectl.test.ts +48 -15
  380. package/Tests/Server/Services/RunnerJobEnqueueKubectlAiAgent.test.ts +620 -0
  381. package/Tests/Server/Services/RunnerJobKubectlWriteScope.test.ts +170 -3
  382. package/Tests/Server/Services/RunnerJobTimeoutReason.test.ts +72 -0
  383. package/Tests/Server/Services/RunnerServiceAgentName.test.ts +6 -4
  384. package/Tests/Server/Services/ScheduledMaintenanceAttachmentEdit.test.ts +2113 -0
  385. package/Tests/Server/Services/ScheduledMaintenanceMonitorRelease.test.ts +972 -0
  386. package/Tests/Server/Services/ScheduledMaintenanceSubscriberTemplateFormats.test.ts +289 -9
  387. package/Tests/Server/Services/SmsServiceFailIfNotSent.test.ts +67 -0
  388. package/Tests/Server/Services/StatusPageReportIncidentCounts.test.ts +610 -0
  389. package/Tests/Server/Services/StatusPageSubscriberAudienceCounts.test.ts +201 -0
  390. package/Tests/Server/Services/StatusPageSubscriberAudienceCountsPostgres.test.ts +271 -0
  391. package/Tests/Server/Services/StatusPageSubscriberConfirmationTemplateEscaping.test.ts +200 -0
  392. package/Tests/Server/Services/StatusPageSubscriberNotificationLogRedaction.test.ts +54 -0
  393. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateCompile.test.ts +37 -0
  394. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateIncidentRecordAccess.test.ts +772 -0
  395. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateLookup.test.ts +506 -0
  396. package/Tests/Server/Services/StatusPageSubscriberNotificationTemplateLookupPostgres.test.ts +261 -0
  397. package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +21 -5
  398. package/Tests/Server/Services/StatusPageSubscriberUnsubscribe.test.ts +1618 -0
  399. package/Tests/Server/Services/StatusPageSubscriberUnsubscribeLinkSenders.test.ts +373 -0
  400. package/Tests/Server/Services/StatusPageSubscriberUnsubscribePostgres.test.ts +388 -0
  401. package/Tests/Server/Services/SubscriberNotificationInFlightRequeue.test.ts +500 -0
  402. package/Tests/Server/Services/TeamComplianceSettingPostgres.test.ts +2237 -0
  403. package/Tests/Server/Services/TeamComplianceSettingService.test.ts +3988 -138
  404. package/Tests/Server/Types/MarkdownEmailLinks.test.ts +320 -0
  405. package/Tests/Server/Types/Workflow/Components/Email.test.ts +491 -1
  406. package/Tests/Server/Types/Workflow/Components/EmailSmtpPinning.test.ts +398 -0
  407. package/Tests/Server/Utils/AI/ClusterAccessContext.test.ts +107 -1
  408. package/Tests/Server/Utils/AI/IncidentPostmortemRunner.test.ts +351 -0
  409. package/Tests/Server/Utils/AI/InvestigationClusterAccessWiring.test.ts +2 -0
  410. package/Tests/Server/Utils/AI/InvestigationEligibility.test.ts +310 -0
  411. package/Tests/Server/Utils/AI/KubectlInvestigationToolkit.test.ts +70 -0
  412. package/Tests/Server/Utils/AI/KubectlJobRunnerFinishedJob.test.ts +58 -0
  413. package/Tests/Server/Utils/AI/RemediationCommandToolsKubectl.test.ts +2 -0
  414. package/Tests/Server/Utils/AI/RemediationCommandToolsKubectlOutcome.test.ts +2 -0
  415. package/Tests/Server/Utils/AI/RemediationCommandToolsLiveCluster.test.ts +2 -0
  416. package/Tests/Server/Utils/AI/RemediationCommandToolsRunnerScope.test.ts +125 -1
  417. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +252 -3
  418. package/Tests/Server/Utils/AI/RemediationExecutionRunnerClusterMode.test.ts +2 -0
  419. package/Tests/Server/Utils/AI/RemediationExecutionRunnerProjectGates.test.ts +240 -0
  420. package/Tests/Server/Utils/AI/RemediationKubectlCopyParity.test.ts +2 -0
  421. package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutor.test.ts +2 -0
  422. package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutorUnknownRun.test.ts +2 -0
  423. package/Tests/Server/Utils/AutoRemediation/CommandPlanVerification.test.ts +2 -0
  424. package/Tests/Server/Utils/CustomField/CustomFieldRename.test.ts +586 -0
  425. package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +246 -10
  426. package/Tests/Server/Utils/DataSource/EgressGuardDeploymentConfig.test.ts +226 -0
  427. package/Tests/Server/Utils/DataSource/EgressGuardPinning.test.ts +131 -0
  428. package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +4 -0
  429. package/Tests/Server/Utils/EgressPolicyEnvironment.ts +45 -0
  430. package/Tests/Server/Utils/Mail/PinnedSmtpSocket.test.ts +409 -0
  431. package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +23 -0
  432. package/Tests/Server/Utils/SSRFProtection.test.ts +4 -0
  433. package/Tests/Server/Utils/SSRFProtectionCloudServiceAddresses.test.ts +4 -0
  434. package/Tests/Server/Utils/SSRFProtectionPrivateNetwork.test.ts +4 -0
  435. package/Tests/Server/Utils/SSRFProtectionResolutionDetail.test.ts +314 -0
  436. package/Tests/Server/Utils/StatusPage/IncidentStatusPageScope.test.ts +1699 -0
  437. package/Tests/Server/Utils/StatusPage/IncidentStatusPageScopeQueriesPostgres.test.ts +508 -0
  438. package/Tests/Server/Utils/StatusPage/IncidentSubscriberAudienceCallerPermission.test.ts +246 -0
  439. package/Tests/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.test.ts +1348 -0
  440. package/Tests/Server/Utils/StatusPage/StatusPageReadAccess.test.ts +221 -0
  441. package/Tests/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.test.ts +132 -0
  442. package/Tests/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.test.ts +155 -0
  443. package/Tests/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.test.ts +708 -0
  444. package/Tests/Server/Utils/StatusPage/SubscriberNotificationClaim.test.ts +255 -0
  445. package/Tests/Server/Utils/StatusPage/SubscriberNotificationClaimPostgres.test.ts +528 -0
  446. package/Tests/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.test.ts +1238 -0
  447. package/Tests/Server/Utils/StatusPage/SubscriberNotificationFanOut.test.ts +472 -0
  448. package/Tests/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.test.ts +1168 -0
  449. package/Tests/Server/Utils/StatusPage/SubscriberNotificationRunLimit.test.ts +275 -0
  450. package/Tests/Server/Utils/StatusPage/SubscriberNotificationTiming.test.ts +131 -0
  451. package/Tests/Server/Utils/StatusPageResource.test.ts +98 -0
  452. package/Tests/Server/Utils/Telemetry/HostAssetAttributesFromOtlp.test.ts +68 -0
  453. package/Tests/Server/Utils/Telemetry/InventoryMirrorPostgres.test.ts +370 -0
  454. package/Tests/Server/Utils/Telemetry/NetworkDeviceInventoryAttributes.test.ts +522 -0
  455. package/Tests/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.test.ts +155 -0
  456. package/Tests/Server/Utils/Telemetry/ProxmoxNativeNodeLiveness.test.ts +8631 -0
  457. package/Tests/Server/Utils/Telemetry/ProxmoxNativePush.test.ts +2852 -0
  458. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +367 -1
  459. package/Tests/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.test.ts +45 -3
  460. package/Tests/Server/Utils/VM/VMRunnerPrivateNetworkWiring.test.ts +17 -0
  461. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +75 -0
  462. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChats.test.ts +25 -0
  463. package/Tests/Server/Utils/Workspace/MicrosoftTeamsGroupChatNames.test.ts +3119 -0
  464. package/Tests/Server/Utils/Workspace/MicrosoftTeamsGroupChatNamesPostgres.test.ts +1721 -0
  465. package/Tests/Types/CustomField/CustomFieldSavedViews.test.ts +247 -0
  466. package/Tests/Types/CustomField/CustomFieldTemplateValues.test.ts +186 -0
  467. package/Tests/Types/CustomField/CustomFieldTypeCorrespondence.test.ts +48 -0
  468. package/Tests/Types/CustomField/CustomFieldValueFormat.test.ts +215 -0
  469. package/Tests/Types/CustomField/CustomFieldValueValidator.test.ts +343 -0
  470. package/Tests/Types/CustomField/CustomFieldVariableKey.test.ts +364 -0
  471. package/Tests/Types/Kubernetes/KubernetesAgentChartAiAccess.test.ts +581 -113
  472. package/Tests/Types/Kubernetes/KubernetesAiAgentAccessContract.test.ts +510 -0
  473. package/Tests/Types/SafeHtml.test.ts +102 -0
  474. package/Tests/Types/StatusPage/IncidentCreatedRenotify.test.ts +419 -0
  475. package/Tests/Types/StatusPage/IncidentCreatedResend.test.ts +118 -0
  476. package/Tests/Types/StatusPage/IncidentScopeAddedPagesNotification.test.ts +558 -0
  477. package/Tests/Types/StatusPage/IncidentSubscriberAudience.test.ts +284 -0
  478. package/Tests/Types/StatusPage/StatusPageSubscriberUnsubscribe.test.ts +341 -0
  479. package/Tests/Types/StatusPage/SubscriberNotificationPreview.test.ts +196 -0
  480. package/Tests/Types/StatusPage/SubscriberNotificationResend.test.ts +201 -0
  481. package/Tests/Types/StatusPage/SubscriberNotificationTemplateCompiler.test.ts +277 -0
  482. package/Tests/Types/StatusPage/SubscriberNotificationTemplatePreview.test.ts +179 -0
  483. package/Tests/Types/StatusPage/SubscriberNotificationTemplateVariables.test.ts +324 -0
  484. package/Tests/Types/StatusPage/SubscriberUpdateNotification.test.ts +60 -13
  485. package/Tests/Types/Team/ComplianceRule.test.ts +1029 -0
  486. package/Tests/Types/Team/TeamComplianceStatus.test.ts +176 -0
  487. package/Tests/UI/Components/ActionButton/RowActions.test.tsx +641 -0
  488. package/Tests/UI/Components/ActionButton/RowActionsAccessibility.test.tsx +414 -0
  489. package/Tests/UI/Components/ActionButton/SplitActionButtons.test.ts +565 -0
  490. package/Tests/UI/Components/Charts/BarChartDragToSelect.test.tsx +386 -0
  491. package/Tests/UI/Components/Charts/ChartDoubleClickResetWithoutDblclick.test.tsx +1025 -0
  492. package/Tests/UI/Components/Charts/ChartGroupPageZoomHint.test.tsx +196 -0
  493. package/Tests/UI/Components/Charts/ChartPlaceholdersTakeDoubleClick.test.tsx +1861 -0
  494. package/Tests/UI/Components/Charts/ChartPlotClicksWhileResetArmed.test.tsx +382 -0
  495. package/Tests/UI/Components/Charts/ChartRangeSelection.test.tsx +704 -0
  496. package/Tests/UI/Components/Charts/ChartRangeSelectionDoubleClickReset.test.tsx +1481 -0
  497. package/Tests/UI/Components/Charts/ChartRangeSelectionRealRecharts.test.tsx +918 -0
  498. package/Tests/UI/Components/Charts/ChartRowBucketStart.test.ts +350 -0
  499. package/Tests/UI/Components/Charts/DoubleClickReset.test.tsx +996 -0
  500. package/Tests/UI/Components/Charts/HistogramDoubleClickResetRealRecharts.test.tsx +965 -0
  501. package/Tests/UI/Components/Charts/HistogramDriftThenRefetch.test.tsx +277 -0
  502. package/Tests/UI/Components/Charts/HistogramRangeSelectionDataChange.test.tsx +1757 -0
  503. package/Tests/UI/Components/Charts/HistogramRangeSelectionRealRecharts.test.tsx +560 -0
  504. package/Tests/UI/Components/Charts/TimeRangeZoom/ChartPageTimeRangeZoom.test.tsx +513 -0
  505. package/Tests/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomContext.test.tsx +845 -0
  506. package/Tests/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomHint.test.tsx +119 -0
  507. package/Tests/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomHintTailwind.test.tsx +274 -0
  508. package/Tests/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomUtil.test.ts +433 -0
  509. package/Tests/UI/Components/Charts/TimeRangeZoom/UseTimeRangeZoom.test.tsx +863 -0
  510. package/Tests/UI/Components/Charts/TimeRangeZoom/ZoomDocsPromises.test.tsx +1147 -0
  511. package/Tests/UI/Components/CustomFields/CustomFieldFormFields.test.ts +432 -0
  512. package/Tests/UI/Components/CustomFields/CustomFieldModelFormFields.test.tsx +685 -0
  513. package/Tests/UI/Components/CustomFields/CustomFieldsDetailOrder.test.tsx +469 -0
  514. package/Tests/UI/Components/DisabledButtonTooltip.test.tsx +14 -3
  515. package/Tests/UI/Components/EntityDropdownEscape.test.tsx +454 -0
  516. package/Tests/UI/Components/EntityDropdownFocusLeave.test.tsx +420 -0
  517. package/Tests/UI/Components/Forms/FormFieldDropdownDisabled.test.tsx +233 -0
  518. package/Tests/UI/Components/Forms/ModelFormCustomFieldInputs.test.tsx +325 -0
  519. package/Tests/UI/Components/Forms/ModelFormDropdownOptionsRefused.test.tsx +358 -0
  520. package/Tests/UI/Components/Input.test.tsx +80 -1
  521. package/Tests/UI/Components/LogsAnalyticsViewZoom.test.tsx +947 -0
  522. package/Tests/UI/Components/LogsHistogramDragTooltip.test.tsx +17 -5
  523. package/Tests/UI/Components/LogsViewerAnalyticsZoom.test.tsx +501 -0
  524. package/Tests/UI/Components/LogsViewerHistogramZoom.test.tsx +1 -1
  525. package/Tests/UI/Components/ModelTable/BaseModelTableBulkDelete.test.tsx +6 -4
  526. package/Tests/UI/Components/ModelTable/BaseModelTablePermissionGating.test.tsx +60 -8
  527. package/Tests/UI/Components/ModelTable/BaseModelTableRowActions.test.tsx +476 -0
  528. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +22 -0
  529. package/Tests/UI/Components/ModelTable/ModelTableWrapContent.test.tsx +7 -5
  530. package/Tests/UI/Components/MoreMenuPortal.test.tsx +623 -0
  531. package/Tests/UI/Components/StatusPage/ResourceGridActions.test.tsx +538 -0
  532. package/Tests/UI/Components/StatusPage/ResourceGridSelection.test.tsx +14 -4
  533. package/Tests/UI/Components/TableCellWrapping.test.tsx +3 -3
  534. package/Tests/UI/Components/TableRowActions.test.tsx +472 -0
  535. package/Tests/UI/Components/TelemetryHistogramDragTooltip.test.tsx +1 -1
  536. package/Tests/UI/Components/TelemetryViewer/TelemetryViewerHistogramClickZoom.test.tsx +1 -1
  537. package/Tests/UI/Components/TelemetryViewer/TelemetryViewerZoomScope.test.tsx +470 -0
  538. package/Tests/UI/Components/TelemetryViewer/UseViewerTimeRangeZoom.test.tsx +571 -0
  539. package/Tests/UI/Components/TelemetryViewer/ViewerDoubleClickResetUnderDataChange.test.tsx +928 -0
  540. package/Tests/UI/Components/TelemetryViewer/ViewerFollowsEnclosingZoom.test.tsx +1569 -0
  541. package/Tests/UI/Components/Toggle.test.tsx +66 -0
  542. package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardRefreshNames.test.tsx +1023 -0
  543. package/Tests/UI/Monitor/NetworkPathView.test.tsx +289 -0
  544. package/Tests/UI/Rum/ChunkLoader.test.ts +201 -0
  545. package/Tests/UI/Rum/FidelityNotices.test.ts +54 -0
  546. package/Tests/UI/Rum/ReplayCorrelationPanel.test.tsx +72 -0
  547. package/Tests/UI/Rum/ReplayFrameCapture.test.ts +1009 -9
  548. package/Tests/UI/Rum/ReplayRecordedAssets.test.ts +1069 -0
  549. package/Tests/UI/Rum/ReplayStage.test.tsx +913 -2
  550. package/Tests/UI/Rum/SessionReplayTable.test.tsx +443 -8
  551. package/Tests/UI/Rum/SessionReplayUsersTable.test.tsx +439 -9
  552. package/Tests/UI/Rum/UserFlowTablesRowActions.test.tsx +501 -0
  553. package/Tests/Utils/AiRemediation/KubectlPolicyChartRbacParity.test.ts +47 -19
  554. package/Tests/Utils/AiRemediation/KubectlWriteScopeCallerParity.test.ts +2 -0
  555. package/Tests/Utils/AiRemediation/KubernetesAiAgentPolicyCopyParity.test.ts +396 -0
  556. package/Tests/Utils/Dashboard/DashboardTimeRangeZoom.test.ts +104 -1
  557. package/Tests/Utils/Incident/IncidentNoteTemplateVariables.test.ts +623 -0
  558. package/Tests/Utils/Markdown/MarkdownEscape.test.ts +89 -0
  559. package/Tests/Utils/ProbeNetworkFailureUtil.test.ts +992 -0
  560. package/Tests/Utils/RequestFailedDetails.test.ts +575 -0
  561. package/Types/AI/AIRunType.ts +9 -4
  562. package/Types/AI/InvestigationNotStartedReason.ts +6 -0
  563. package/Types/AutoRemediation/AiRemediationCommandPlan.ts +14 -16
  564. package/Types/AutoRemediation/AiRemediationCommandPolicyVerdict.ts +28 -0
  565. package/Types/CustomField/CustomFieldOrder.ts +55 -0
  566. package/Types/CustomField/CustomFieldSavedViews.ts +225 -0
  567. package/Types/CustomField/CustomFieldTemplateMerge.ts +71 -0
  568. package/Types/CustomField/CustomFieldType.ts +14 -0
  569. package/Types/CustomField/CustomFieldValueFormat.ts +161 -0
  570. package/Types/CustomField/CustomFieldValueValidator.ts +488 -0
  571. package/Types/CustomField/CustomFieldVariableKey.ts +211 -0
  572. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +4 -2
  573. package/Types/Kubernetes/KubernetesClusterAiAccess.ts +263 -32
  574. package/Types/Kubernetes/KubernetesClusterAiAccessPermissions.ts +20 -16
  575. package/Types/Kubernetes/KubernetesClusterAiInsights.ts +81 -0
  576. package/Types/Monitor/ProxmoxAlertTemplates.ts +4 -4
  577. package/Types/SafeHtml.ts +93 -0
  578. package/Types/StatusPage/IncidentCreatedRenotify.ts +224 -0
  579. package/Types/StatusPage/IncidentCreatedResend.ts +108 -0
  580. package/Types/StatusPage/IncidentScopeAddedPagesNotification.ts +343 -0
  581. package/Types/StatusPage/IncidentSubscriberAudience.ts +332 -0
  582. package/Types/StatusPage/StatusPageSubscriberUnsubscribe.ts +405 -0
  583. package/Types/StatusPage/SubscriberNotificationInterruption.ts +32 -0
  584. package/Types/StatusPage/SubscriberNotificationPreview.ts +322 -0
  585. package/Types/StatusPage/SubscriberNotificationResend.ts +132 -0
  586. package/Types/StatusPage/SubscriberNotificationTemplateCompiler.ts +180 -0
  587. package/Types/StatusPage/SubscriberNotificationTemplatePreview.ts +301 -0
  588. package/Types/StatusPage/SubscriberNotificationTemplateVariables.ts +217 -4
  589. package/Types/StatusPage/SubscriberUpdateNotification.ts +32 -11
  590. package/Types/Team/ComplianceNotificationChannel.ts +22 -0
  591. package/Types/Team/ComplianceRule.ts +434 -0
  592. package/Types/Team/ComplianceRuleType.ts +21 -0
  593. package/Types/Team/TeamComplianceStatus.ts +81 -0
  594. package/Types/Telemetry/TelemetryIngestSurface.ts +28 -0
  595. package/UI/Components/ActionButton/ActionButtonSchema.ts +21 -0
  596. package/UI/Components/ActionButton/RowActions.tsx +238 -0
  597. package/UI/Components/ActionButton/SplitActionButtons.ts +173 -0
  598. package/UI/Components/Charts/Area/AreaChart.tsx +32 -2
  599. package/UI/Components/Charts/Bar/BarChart.tsx +40 -3
  600. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +37 -11
  601. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +80 -243
  602. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +122 -31
  603. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +95 -244
  604. package/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.ts +214 -0
  605. package/UI/Components/Charts/ChartLibrary/Utils/UseChartBucketsChange.ts +32 -0
  606. package/UI/Components/Charts/ChartLibrary/Utils/UseChartRangeSelection.ts +599 -0
  607. package/UI/Components/Charts/Line/LineChart.tsx +32 -2
  608. package/UI/Components/Charts/TimeRangeZoom/ResetTimeRangeZoomButton.tsx +70 -0
  609. package/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomContext.tsx +226 -0
  610. package/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomHint.tsx +73 -0
  611. package/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomUtil.ts +163 -0
  612. package/UI/Components/Charts/TimeRangeZoom/UseTimeRangeZoom.ts +215 -0
  613. package/UI/Components/Charts/Utils/DataPoint.ts +20 -8
  614. package/UI/Components/Charts/Utils/XAxis.ts +75 -0
  615. package/UI/Components/Charts/Utils/useHistogramRangeSelection.ts +493 -59
  616. package/UI/Components/CustomFields/CustomFieldFormFields.ts +317 -0
  617. package/UI/Components/CustomFields/CustomFieldModelFormFields.tsx +395 -0
  618. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +95 -55
  619. package/UI/Components/EntityDropdown/EntityDropdown.tsx +107 -11
  620. package/UI/Components/Forms/Fields/FormField.tsx +10 -0
  621. package/UI/Components/Forms/ModelForm.tsx +70 -8
  622. package/UI/Components/Forms/Validation.ts +1 -1
  623. package/UI/Components/Input/Input.tsx +90 -57
  624. package/UI/Components/List/ListRow.tsx +8 -74
  625. package/UI/Components/LogsViewer/LogsViewer.tsx +40 -11
  626. package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +22 -6
  627. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +209 -6
  628. package/UI/Components/LogsViewer/components/LogsHistogram.tsx +127 -84
  629. package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +3 -0
  630. package/UI/Components/ModelFormModal/ModelFormModal.tsx +2 -4
  631. package/UI/Components/ModelTable/AnalyticsModelTable.tsx +2 -6
  632. package/UI/Components/ModelTable/BaseModelTable.tsx +21 -9
  633. package/UI/Components/ModelTable/CustomFieldColumns.tsx +14 -1
  634. package/UI/Components/ModelTable/ModelTable.tsx +6 -7
  635. package/UI/Components/MoreMenu/MoreMenu.tsx +365 -30
  636. package/UI/Components/MoreMenu/MoreMenuItem.tsx +70 -17
  637. package/UI/Components/OrderedStatesList/Item.tsx +7 -72
  638. package/UI/Components/StatusPage/ResourceGrid.tsx +126 -77
  639. package/UI/Components/Table/TableBody.tsx +8 -2
  640. package/UI/Components/Table/TableRow.tsx +20 -140
  641. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +41 -10
  642. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +47 -9
  643. package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +25 -6
  644. package/UI/Components/TelemetryViewer/types.ts +2 -0
  645. package/UI/Components/TelemetryViewer/useViewerTimeRangeZoom.ts +448 -0
  646. package/UI/Components/Toggle/Toggle.tsx +26 -0
  647. package/UI/Components/Tooltip/Tooltip.tsx +8 -1
  648. package/UI/Styles/Theme.css +14 -2
  649. package/UI/Utils/SensitiveUrlToken.ts +10 -5
  650. package/Utils/API.ts +247 -2
  651. package/Utils/AiRemediation/CommandPolicy.ts +1 -1
  652. package/Utils/AiRemediation/KubectlPolicy.ts +1 -1
  653. package/Utils/Dashboard/DashboardTimeRangeZoom.ts +46 -2
  654. package/Utils/Incident/IncidentNoteTemplateVariables.ts +304 -0
  655. package/Utils/Markdown/MarkdownEscape.ts +65 -0
  656. package/Utils/ProbeNetworkFailureUtil.ts +673 -0
  657. package/build/dist/Models/DatabaseModels/Incident.js +267 -1
  658. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  659. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +207 -1
  660. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  661. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +31 -0
  662. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
  663. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +124 -1
  664. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  665. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  666. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  667. package/build/dist/Models/DatabaseModels/KubernetesAiAgent.js +385 -0
  668. package/build/dist/Models/DatabaseModels/KubernetesAiAgent.js.map +1 -0
  669. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +3 -3
  670. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  671. package/build/dist/Models/DatabaseModels/Project.js +56 -5
  672. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  673. package/build/dist/Models/DatabaseModels/ProxmoxResource.js +51 -1
  674. package/build/dist/Models/DatabaseModels/ProxmoxResource.js.map +1 -1
  675. package/build/dist/Models/DatabaseModels/RunnerJob.js +74 -0
  676. package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -1
  677. package/build/dist/Models/DatabaseModels/StatusPage.js +56 -0
  678. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  679. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +131 -0
  680. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  681. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +134 -3
  682. package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
  683. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  684. package/build/dist/Server/API/AIChatAPI.js +6 -1
  685. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  686. package/build/dist/Server/API/AIInvestigationAPI.js +17 -10
  687. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  688. package/build/dist/Server/API/AutoRemediationAPI.js +144 -24
  689. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
  690. package/build/dist/Server/API/IncidentAPI.js +100 -1
  691. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  692. package/build/dist/Server/API/KubernetesClusterAiAccessAPI.js +436 -22
  693. package/build/dist/Server/API/KubernetesClusterAiAccessAPI.js.map +1 -1
  694. package/build/dist/Server/API/MicrosoftTeamsAPI.js +69 -13
  695. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  696. package/build/dist/Server/API/ProxmoxResourceAPI.js +187 -14
  697. package/build/dist/Server/API/ProxmoxResourceAPI.js.map +1 -1
  698. package/build/dist/Server/API/StatusPageAPI.js +417 -176
  699. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  700. package/build/dist/Server/API/StatusPageSubscriberAPI.js +52 -13
  701. package/build/dist/Server/API/StatusPageSubscriberAPI.js.map +1 -1
  702. package/build/dist/Server/Infrastructure/GlobalCache.js +27 -0
  703. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  704. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.js +41 -0
  705. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795300000000-SkipHiddenIncidentCreatedNotifications.js.map +1 -0
  706. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.js +57 -0
  707. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795400000000-AddIncidentStatusPageScope.js.map +1 -0
  708. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.js +23 -0
  709. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795500000000-AddIncidentTemplateStatusPageScopeFlag.js.map +1 -0
  710. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.js +40 -0
  711. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795600000000-AddStatusPageSubscriberUnsubscribeToken.js.map +1 -0
  712. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.js +26 -0
  713. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795700000000-AddStatusPageSubscriberIsAddedByTeam.js.map +1 -0
  714. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.js +89 -0
  715. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795800000000-AddIncidentCustomFieldCreateAndNotificationSettings.js.map +1 -0
  716. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.js +29 -0
  717. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795900000000-AddSubscriberNotificationClaimedAt.js.map +1 -0
  718. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796000000000-AddTeamComplianceRuleScope.js +50 -0
  719. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796000000000-AddTeamComplianceRuleScope.js.map +1 -0
  720. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796100000000-AddKubernetesAiAgentAndAiDefaults.js +84 -0
  721. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796100000000-AddKubernetesAiAgentAndAiDefaults.js.map +1 -0
  722. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796200000000-AddProxmoxResourceNativePushColumns.js +31 -0
  723. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796200000000-AddProxmoxResourceNativePushColumns.js.map +1 -0
  724. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  725. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  726. package/build/dist/Server/Infrastructure/Semaphore.js +3 -0
  727. package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
  728. package/build/dist/Server/Middleware/IdentityRateLimit.js +89 -3
  729. package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
  730. package/build/dist/Server/Middleware/SubscriberNotificationPreviewRateLimit.js +149 -0
  731. package/build/dist/Server/Middleware/SubscriberNotificationPreviewRateLimit.js.map +1 -0
  732. package/build/dist/Server/Middleware/SubscriberNotificationTestSendRateLimit.js +190 -0
  733. package/build/dist/Server/Middleware/SubscriberNotificationTestSendRateLimit.js.map +1 -0
  734. package/build/dist/Server/Middleware/TelemetryIngest.js +34 -19
  735. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  736. package/build/dist/Server/Services/AIService.js +59 -1
  737. package/build/dist/Server/Services/AIService.js.map +1 -1
  738. package/build/dist/Server/Services/AlertService.js +248 -13
  739. package/build/dist/Server/Services/AlertService.js.map +1 -1
  740. package/build/dist/Server/Services/AlertSeverityService.js +51 -15
  741. package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
  742. package/build/dist/Server/Services/AutoRemediationRuleService.js +1 -1
  743. package/build/dist/Server/Services/AutoRemediationRuleService.js.map +1 -1
  744. package/build/dist/Server/Services/DatabaseService.js +56 -7
  745. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  746. package/build/dist/Server/Services/IncidentCustomFieldService.js +204 -8
  747. package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
  748. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +24 -0
  749. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
  750. package/build/dist/Server/Services/IncidentEpisodeService.js +14 -0
  751. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  752. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +26 -0
  753. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
  754. package/build/dist/Server/Services/IncidentPublicNoteService.js +26 -1
  755. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  756. package/build/dist/Server/Services/IncidentService.js +1251 -72
  757. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  758. package/build/dist/Server/Services/IncidentSeverityService.js +51 -15
  759. package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
  760. package/build/dist/Server/Services/IncidentStateTimelineService.js +12 -0
  761. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  762. package/build/dist/Server/Services/IncidentTemplateService.js +83 -0
  763. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  764. package/build/dist/Server/Services/KubernetesAiAgentJobService.js +158 -0
  765. package/build/dist/Server/Services/KubernetesAiAgentJobService.js.map +1 -0
  766. package/build/dist/Server/Services/KubernetesAiAgentService.js +1145 -0
  767. package/build/dist/Server/Services/KubernetesAiAgentService.js.map +1 -0
  768. package/build/dist/Server/Services/KubernetesClusterAiAccessService.js +842 -371
  769. package/build/dist/Server/Services/KubernetesClusterAiAccessService.js.map +1 -1
  770. package/build/dist/Server/Services/KubernetesClusterService.js +86 -17
  771. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  772. package/build/dist/Server/Services/ProjectService.js +22 -0
  773. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  774. package/build/dist/Server/Services/ProxmoxResourceService.js +258 -3
  775. package/build/dist/Server/Services/ProxmoxResourceService.js.map +1 -1
  776. package/build/dist/Server/Services/RunnerJobService.js +178 -92
  777. package/build/dist/Server/Services/RunnerJobService.js.map +1 -1
  778. package/build/dist/Server/Services/RunnerService.js +1 -1
  779. package/build/dist/Server/Services/RunnerService.js.map +1 -1
  780. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +26 -1
  781. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  782. package/build/dist/Server/Services/ScheduledMaintenanceService.js +582 -20
  783. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  784. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +316 -46
  785. package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
  786. package/build/dist/Server/Services/SmsService.js +2 -22
  787. package/build/dist/Server/Services/SmsService.js.map +1 -1
  788. package/build/dist/Server/Services/StatusPageService.js +47 -9
  789. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  790. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +237 -32
  791. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  792. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.js +109 -0
  793. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateStatusPageService.js.map +1 -1
  794. package/build/dist/Server/Services/StatusPageSubscriberService.js +925 -99
  795. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  796. package/build/dist/Server/Services/TeamComplianceSettingService.js +833 -7
  797. package/build/dist/Server/Services/TeamComplianceSettingService.js.map +1 -1
  798. package/build/dist/Server/Types/Markdown.js +110 -6
  799. package/build/dist/Server/Types/Markdown.js.map +1 -1
  800. package/build/dist/Server/Types/Workflow/Components/Email.js +55 -6
  801. package/build/dist/Server/Types/Workflow/Components/Email.js.map +1 -1
  802. package/build/dist/Server/Utils/AI/ClusterAccess/ClusterAccessContext.js +52 -9
  803. package/build/dist/Server/Utils/AI/ClusterAccess/ClusterAccessContext.js.map +1 -1
  804. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js +13 -9
  805. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js.map +1 -1
  806. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js +7 -3
  807. package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js.map +1 -1
  808. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +29 -15
  809. package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -1
  810. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +56 -20
  811. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  812. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +39 -5
  813. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  814. package/build/dist/Server/Utils/AI/SRE/IncidentPostmortemRunner.js +30 -3
  815. package/build/dist/Server/Utils/AI/SRE/IncidentPostmortemRunner.js.map +1 -1
  816. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js +13 -2
  817. package/build/dist/Server/Utils/AI/SRE/InvestigationEligibility.js.map +1 -1
  818. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +1 -1
  819. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js +4 -2
  820. package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js.map +1 -1
  821. package/build/dist/Server/Utils/CustomField/CustomFieldRename.js +211 -0
  822. package/build/dist/Server/Utils/CustomField/CustomFieldRename.js.map +1 -0
  823. package/build/dist/Server/Utils/DataSource/EgressGuard.js +41 -12
  824. package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
  825. package/build/dist/Server/Utils/Mail/PinnedSmtpSocket.js +101 -0
  826. package/build/dist/Server/Utils/Mail/PinnedSmtpSocket.js.map +1 -0
  827. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +9 -0
  828. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
  829. package/build/dist/Server/Utils/SSRFProtection.js +48 -6
  830. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  831. package/build/dist/Server/Utils/StatusPage/IncidentStatusPageScope.js +631 -0
  832. package/build/dist/Server/Utils/StatusPage/IncidentStatusPageScope.js.map +1 -0
  833. package/build/dist/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.js +403 -0
  834. package/build/dist/Server/Utils/StatusPage/IncidentSubscriberAudienceBuilder.js.map +1 -0
  835. package/build/dist/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.js +451 -0
  836. package/build/dist/Server/Utils/StatusPage/IncidentTemplateVariableBuilder.js.map +1 -0
  837. package/build/dist/Server/Utils/StatusPage/StatusPageExclusion.js +13 -0
  838. package/build/dist/Server/Utils/StatusPage/StatusPageExclusion.js.map +1 -0
  839. package/build/dist/Server/Utils/StatusPage/StatusPageReadAccess.js +91 -0
  840. package/build/dist/Server/Utils/StatusPage/StatusPageReadAccess.js.map +1 -0
  841. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.js +101 -0
  842. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeNotice.js.map +1 -0
  843. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.js +47 -0
  844. package/build/dist/Server/Utils/StatusPage/StatusPageSubscriberUnsubscribeToken.js.map +1 -0
  845. package/build/dist/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.js +273 -0
  846. package/build/dist/Server/Utils/StatusPage/SubscriberIncidentEmailBuilder.js.map +1 -0
  847. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationClaim.js +73 -0
  848. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationClaim.js.map +1 -0
  849. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.js +722 -0
  850. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationDeliveryRecord.js.map +1 -0
  851. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationFanOut.js +102 -0
  852. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationFanOut.js.map +1 -0
  853. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.js +527 -0
  854. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationPreviewBuilder.js.map +1 -0
  855. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationResendAccess.js +278 -0
  856. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationResendAccess.js.map +1 -0
  857. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationRunLimit.js +137 -0
  858. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationRunLimit.js.map +1 -0
  859. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationTiming.js +103 -0
  860. package/build/dist/Server/Utils/StatusPage/SubscriberNotificationTiming.js.map +1 -0
  861. package/build/dist/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.js +114 -0
  862. package/build/dist/Server/Utils/StatusPage/SubscriberTemplateIncidentRecordAccess.js.map +1 -0
  863. package/build/dist/Server/Utils/StatusPageResource.js +39 -7
  864. package/build/dist/Server/Utils/StatusPageResource.js.map +1 -1
  865. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js +111 -6
  866. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js.map +1 -1
  867. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js +40 -4
  868. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js.map +1 -1
  869. package/build/dist/Server/Utils/Telemetry/ProxmoxNativeNodeLiveness.js +296 -0
  870. package/build/dist/Server/Utils/Telemetry/ProxmoxNativeNodeLiveness.js.map +1 -0
  871. package/build/dist/Server/Utils/Telemetry/ProxmoxNativePush.js +699 -0
  872. package/build/dist/Server/Utils/Telemetry/ProxmoxNativePush.js.map +1 -0
  873. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +77 -19
  874. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  875. package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
  876. package/build/dist/Server/Utils/VM/VMRunner.js +1 -0
  877. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  878. package/build/dist/Server/Utils/Workflow/OAuth2TokenClient.js +3 -0
  879. package/build/dist/Server/Utils/Workflow/OAuth2TokenClient.js.map +1 -1
  880. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +505 -42
  881. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  882. package/build/dist/Types/AI/AIRunType.js +9 -4
  883. package/build/dist/Types/AI/AIRunType.js.map +1 -1
  884. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js +10 -16
  885. package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js.map +1 -1
  886. package/build/dist/Types/AutoRemediation/AiRemediationCommandPolicyVerdict.js +28 -0
  887. package/build/dist/Types/AutoRemediation/AiRemediationCommandPolicyVerdict.js.map +1 -0
  888. package/build/dist/Types/CustomField/CustomFieldOrder.js +36 -0
  889. package/build/dist/Types/CustomField/CustomFieldOrder.js.map +1 -0
  890. package/build/dist/Types/CustomField/CustomFieldSavedViews.js +135 -0
  891. package/build/dist/Types/CustomField/CustomFieldSavedViews.js.map +1 -0
  892. package/build/dist/Types/CustomField/CustomFieldTemplateMerge.js +27 -0
  893. package/build/dist/Types/CustomField/CustomFieldTemplateMerge.js.map +1 -0
  894. package/build/dist/Types/CustomField/CustomFieldType.js +12 -0
  895. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  896. package/build/dist/Types/CustomField/CustomFieldValueFormat.js +126 -0
  897. package/build/dist/Types/CustomField/CustomFieldValueFormat.js.map +1 -0
  898. package/build/dist/Types/CustomField/CustomFieldValueValidator.js +280 -0
  899. package/build/dist/Types/CustomField/CustomFieldValueValidator.js.map +1 -0
  900. package/build/dist/Types/CustomField/CustomFieldVariableKey.js +150 -0
  901. package/build/dist/Types/CustomField/CustomFieldVariableKey.js.map +1 -0
  902. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js +72 -16
  903. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js.map +1 -1
  904. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccessPermissions.js +20 -16
  905. package/build/dist/Types/Kubernetes/KubernetesClusterAiAccessPermissions.js.map +1 -1
  906. package/build/dist/Types/Kubernetes/KubernetesClusterAiInsights.js +17 -0
  907. package/build/dist/Types/Kubernetes/KubernetesClusterAiInsights.js.map +1 -0
  908. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +4 -4
  909. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -1
  910. package/build/dist/Types/SafeHtml.js +84 -0
  911. package/build/dist/Types/SafeHtml.js.map +1 -0
  912. package/build/dist/Types/StatusPage/IncidentCreatedRenotify.js +117 -0
  913. package/build/dist/Types/StatusPage/IncidentCreatedRenotify.js.map +1 -0
  914. package/build/dist/Types/StatusPage/IncidentCreatedResend.js +86 -0
  915. package/build/dist/Types/StatusPage/IncidentCreatedResend.js.map +1 -0
  916. package/build/dist/Types/StatusPage/IncidentScopeAddedPagesNotification.js +246 -0
  917. package/build/dist/Types/StatusPage/IncidentScopeAddedPagesNotification.js.map +1 -0
  918. package/build/dist/Types/StatusPage/IncidentSubscriberAudience.js +183 -0
  919. package/build/dist/Types/StatusPage/IncidentSubscriberAudience.js.map +1 -0
  920. package/build/dist/Types/StatusPage/StatusPageSubscriberUnsubscribe.js +277 -0
  921. package/build/dist/Types/StatusPage/StatusPageSubscriberUnsubscribe.js.map +1 -0
  922. package/build/dist/Types/StatusPage/SubscriberNotificationInterruption.js +27 -0
  923. package/build/dist/Types/StatusPage/SubscriberNotificationInterruption.js.map +1 -0
  924. package/build/dist/Types/StatusPage/SubscriberNotificationPreview.js +190 -0
  925. package/build/dist/Types/StatusPage/SubscriberNotificationPreview.js.map +1 -0
  926. package/build/dist/Types/StatusPage/SubscriberNotificationResend.js +102 -0
  927. package/build/dist/Types/StatusPage/SubscriberNotificationResend.js.map +1 -0
  928. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateCompiler.js +97 -0
  929. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateCompiler.js.map +1 -0
  930. package/build/dist/Types/StatusPage/SubscriberNotificationTemplatePreview.js +175 -0
  931. package/build/dist/Types/StatusPage/SubscriberNotificationTemplatePreview.js.map +1 -0
  932. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js +144 -4
  933. package/build/dist/Types/StatusPage/SubscriberNotificationTemplateVariables.js.map +1 -1
  934. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js +29 -9
  935. package/build/dist/Types/StatusPage/SubscriberUpdateNotification.js.map +1 -1
  936. package/build/dist/Types/Team/ComplianceNotificationChannel.js +23 -0
  937. package/build/dist/Types/Team/ComplianceNotificationChannel.js.map +1 -0
  938. package/build/dist/Types/Team/ComplianceRule.js +304 -0
  939. package/build/dist/Types/Team/ComplianceRule.js.map +1 -0
  940. package/build/dist/Types/Team/ComplianceRuleType.js +21 -0
  941. package/build/dist/Types/Team/ComplianceRuleType.js.map +1 -1
  942. package/build/dist/Types/Team/TeamComplianceStatus.js +2 -0
  943. package/build/dist/Types/Team/TeamComplianceStatus.js.map +1 -0
  944. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js +25 -0
  945. package/build/dist/Types/Telemetry/TelemetryIngestSurface.js.map +1 -1
  946. package/build/dist/UI/Components/ActionButton/ActionButtonSchema.js +20 -1
  947. package/build/dist/UI/Components/ActionButton/ActionButtonSchema.js.map +1 -1
  948. package/build/dist/UI/Components/ActionButton/RowActions.js +113 -0
  949. package/build/dist/UI/Components/ActionButton/RowActions.js.map +1 -0
  950. package/build/dist/UI/Components/ActionButton/SplitActionButtons.js +71 -0
  951. package/build/dist/UI/Components/ActionButton/SplitActionButtons.js.map +1 -0
  952. package/build/dist/UI/Components/Charts/Area/AreaChart.js +16 -1
  953. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  954. package/build/dist/UI/Components/Charts/Bar/BarChart.js +16 -1
  955. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  956. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +27 -5
  957. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  958. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +61 -194
  959. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  960. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +84 -26
  961. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  962. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +75 -196
  963. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  964. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js +133 -0
  965. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/DoubleClick.js.map +1 -1
  966. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/UseChartBucketsChange.js +26 -0
  967. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/UseChartBucketsChange.js.map +1 -0
  968. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/UseChartRangeSelection.js +371 -0
  969. package/build/dist/UI/Components/Charts/ChartLibrary/Utils/UseChartRangeSelection.js.map +1 -0
  970. package/build/dist/UI/Components/Charts/Line/LineChart.js +16 -1
  971. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  972. package/build/dist/UI/Components/Charts/TimeRangeZoom/ResetTimeRangeZoomButton.js +35 -0
  973. package/build/dist/UI/Components/Charts/TimeRangeZoom/ResetTimeRangeZoomButton.js.map +1 -0
  974. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomContext.js +107 -0
  975. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomContext.js.map +1 -0
  976. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomHint.js +41 -0
  977. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomHint.js.map +1 -0
  978. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomUtil.js +117 -0
  979. package/build/dist/UI/Components/Charts/TimeRangeZoom/TimeRangeZoomUtil.js.map +1 -0
  980. package/build/dist/UI/Components/Charts/TimeRangeZoom/UseTimeRangeZoom.js +121 -0
  981. package/build/dist/UI/Components/Charts/TimeRangeZoom/UseTimeRangeZoom.js.map +1 -0
  982. package/build/dist/UI/Components/Charts/Utils/DataPoint.js +15 -7
  983. package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
  984. package/build/dist/UI/Components/Charts/Utils/XAxis.js +70 -0
  985. package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
  986. package/build/dist/UI/Components/Charts/Utils/useHistogramRangeSelection.js +305 -38
  987. package/build/dist/UI/Components/Charts/Utils/useHistogramRangeSelection.js.map +1 -1
  988. package/build/dist/UI/Components/CustomFields/CustomFieldFormFields.js +169 -0
  989. package/build/dist/UI/Components/CustomFields/CustomFieldFormFields.js.map +1 -0
  990. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js +212 -0
  991. package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js.map +1 -0
  992. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +64 -49
  993. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  994. package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js +89 -14
  995. package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js.map +1 -1
  996. package/build/dist/UI/Components/Forms/Fields/FormField.js +11 -2
  997. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  998. package/build/dist/UI/Components/Forms/ModelForm.js +39 -5
  999. package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
  1000. package/build/dist/UI/Components/Forms/Validation.js +1 -1
  1001. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  1002. package/build/dist/UI/Components/Input/Input.js +69 -54
  1003. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  1004. package/build/dist/UI/Components/List/ListRow.js +4 -39
  1005. package/build/dist/UI/Components/List/ListRow.js.map +1 -1
  1006. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +31 -8
  1007. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  1008. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +10 -1
  1009. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
  1010. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +139 -21
  1011. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  1012. package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js +30 -8
  1013. package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
  1014. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +1 -1
  1015. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -1
  1016. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
  1017. package/build/dist/UI/Components/ModelTable/AnalyticsModelTable.js.map +1 -1
  1018. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -2
  1019. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  1020. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +13 -1
  1021. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
  1022. package/build/dist/UI/Components/ModelTable/ModelTable.js +1 -1
  1023. package/build/dist/UI/Components/ModelTable/ModelTable.js.map +1 -1
  1024. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +253 -14
  1025. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  1026. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +43 -13
  1027. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  1028. package/build/dist/UI/Components/OrderedStatesList/Item.js +2 -38
  1029. package/build/dist/UI/Components/OrderedStatesList/Item.js.map +1 -1
  1030. package/build/dist/UI/Components/StatusPage/ResourceGrid.js +53 -15
  1031. package/build/dist/UI/Components/StatusPage/ResourceGrid.js.map +1 -1
  1032. package/build/dist/UI/Components/Table/TableBody.js +6 -2
  1033. package/build/dist/UI/Components/Table/TableBody.js.map +1 -1
  1034. package/build/dist/UI/Components/Table/TableRow.js +12 -75
  1035. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  1036. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +32 -7
  1037. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  1038. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +27 -9
  1039. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  1040. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +11 -1
  1041. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
  1042. package/build/dist/UI/Components/TelemetryViewer/useViewerTimeRangeZoom.js +272 -0
  1043. package/build/dist/UI/Components/TelemetryViewer/useViewerTimeRangeZoom.js.map +1 -0
  1044. package/build/dist/UI/Components/Toggle/Toggle.js +14 -1
  1045. package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
  1046. package/build/dist/UI/Components/Tooltip/Tooltip.js +1 -1
  1047. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  1048. package/build/dist/UI/Utils/SensitiveUrlToken.js +10 -5
  1049. package/build/dist/UI/Utils/SensitiveUrlToken.js.map +1 -1
  1050. package/build/dist/Utils/API.js +177 -1
  1051. package/build/dist/Utils/API.js.map +1 -1
  1052. package/build/dist/Utils/AiRemediation/CommandPolicy.js +1 -1
  1053. package/build/dist/Utils/AiRemediation/CommandPolicy.js.map +1 -1
  1054. package/build/dist/Utils/AiRemediation/KubectlPolicy.js +1 -1
  1055. package/build/dist/Utils/AiRemediation/KubectlPolicy.js.map +1 -1
  1056. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js +27 -1
  1057. package/build/dist/Utils/Dashboard/DashboardTimeRangeZoom.js.map +1 -1
  1058. package/build/dist/Utils/Incident/IncidentNoteTemplateVariables.js +155 -0
  1059. package/build/dist/Utils/Incident/IncidentNoteTemplateVariables.js.map +1 -0
  1060. package/build/dist/Utils/Markdown/MarkdownEscape.js +48 -0
  1061. package/build/dist/Utils/Markdown/MarkdownEscape.js.map +1 -1
  1062. package/build/dist/Utils/ProbeNetworkFailureUtil.js +460 -0
  1063. package/build/dist/Utils/ProbeNetworkFailureUtil.js.map +1 -0
  1064. package/package.json +1 -1
@@ -6,16 +6,20 @@ import Permission, { PermissionHelper } from "../Permission";
6
6
  * imports and which therefore stays free of the permission catalog.
7
7
  */
8
8
  /*
9
- * Who may LOOSEN a cluster's AI access: switch remediation to an unattended
10
- * mode (Automatic or Bypass approval), author a kubectl allowlist, or bind
11
- * the Runner / Kubernetes credential kubectl runs through. A cluster's AI
12
- * mode does the job of a FullAuto AutoRemediationRule without a rule row, so
13
- * it takes the same set AutoRemediationRule uses for executionMode,
14
- * commandAllowlist and commandRunners.
9
+ * Who may LOOSEN a cluster's AI access: turn AI fixes on (any move up from
10
+ * Off, Ask for approval included) or give them more autonomy (Automatic,
11
+ * Bypass approval), author a kubectl allowlist, bind the Runner / Kubernetes
12
+ * credential kubectl runs through, or clear that binding while the cluster
13
+ * has a Kubernetes AI agent (which hands the cluster to the agent), and
14
+ * reset the cluster's Kubernetes AI agent. A cluster's AI mode does the job
15
+ * of a FullAuto AutoRemediationRule without a rule row, so it takes the
16
+ * same set AutoRemediationRule uses for executionMode, commandAllowlist and
17
+ * commandRunners.
15
18
  *
16
- * Tightening (Off or Ask for approval, clearing the allowlist or the
17
- * binding) stays open to anyone who may edit the cluster: making AI do less
18
- * never needs more privilege than the cluster itself.
19
+ * Tightening (Off, moving down, clearing the allowlist, or clearing the
20
+ * binding of a cluster with no AI agent) stays open to anyone who may edit
21
+ * the cluster: making AI do less never needs more privilege than the
22
+ * cluster itself.
19
23
  */
20
24
  export const KUBERNETES_AI_ACCESS_ADMIN_PERMISSIONS = [
21
25
  Permission.ProjectOwner,
@@ -33,17 +37,17 @@ export const KUBERNETES_AI_ACCESS_CREDENTIAL_PERMISSIONS = [
33
37
  Permission.ReadRunbookCredential,
34
38
  ];
35
39
  /*
36
- * Why deleting an in-cluster Runner is a two-step remedy. The binding's
37
- * foreign key is ON DELETE SET NULL, so a deleted Runner's clusters are
38
- * left with no Runner bound, and registration never binds a cluster that
39
- * had one (left_unbound_by_operator): the fresh Runner the agent registers
40
- * is used only once someone selects it on the cluster's AI page. Selecting
41
- * a Runner loosens AI access, so it needs one of these permissions — which
40
+ * What deleting a previous in-cluster Runner does. The binding's foreign
41
+ * key is ON DELETE SET NULL, so a deleted Runner's clusters are left with
42
+ * no Runner bound, and registration never binds a cluster that had one
43
+ * (left_unbound_by_operator): such a cluster is then reached through its
44
+ * Kubernetes AI agent, which the current chart installs. Binding a Runner
45
+ * again loosens AI access, so it needs one of these permissions — which
42
46
  * whoever deleted the Runner may not hold. Here, not in
43
47
  * KubernetesClusterAiAccessService, so RunnerService (which that service
44
48
  * imports) can name it too without an import cycle.
45
49
  */
46
50
  export function getDeletedAgentRunnerRebindNote() {
47
- return `Deleting a Runner leaves the clusters it was bound to with no Runner bound, and a registering Runner never binds a cluster that had one. Selecting a Runner needs one of these permissions: ${PermissionHelper.getPermissionTitles(KUBERNETES_AI_ACCESS_ADMIN_PERMISSIONS).join(", ")}.`;
51
+ return `Deleting a Runner leaves the clusters it was bound to with no Runner bound; they then use their Kubernetes AI agent (upgrade the Kubernetes agent chart to install it). A registering Runner never binds a cluster that had one, and binding a Runner again needs one of these permissions: ${PermissionHelper.getPermissionTitles(KUBERNETES_AI_ACCESS_ADMIN_PERMISSIONS).join(", ")}.`;
48
52
  }
49
53
  //# sourceMappingURL=KubernetesClusterAiAccessPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KubernetesClusterAiAccessPermissions.js","sourceRoot":"","sources":["../../../../Types/Kubernetes/KubernetesClusterAiAccessPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7D;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAsB;IACvE,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,uBAAuB;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAsB;IAC5E,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,qBAAqB;CACjC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,+LAA+L,gBAAgB,CAAC,mBAAmB,CACxO,sCAAsC,CACvC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"KubernetesClusterAiAccessPermissions.js","sourceRoot":"","sources":["../../../../Types/Kubernetes/KubernetesClusterAiAccessPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE7D;;;;;GAKG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAsB;IACvE,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,uBAAuB;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAsB;IAC5E,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,YAAY;IACvB,UAAU,CAAC,qBAAqB;CACjC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,+RAA+R,gBAAgB,CAAC,mBAAmB,CACxU,sCAAsC,CACvC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /*
2
+ * What OneUptime AI investigated and changed on one Kubernetes cluster: the
3
+ * response of POST /api/kubernetes-cluster/ai-access/insights, which the
4
+ * cluster's AI Insights page renders.
5
+ *
6
+ * Summaries only. Nothing here carries kubectl output, a prompt or a
7
+ * command plan: the route is readable by everyone who may read the
8
+ * cluster, a wider audience than the AI runs, suggestions and Runner jobs
9
+ * it summarises.
10
+ */
11
+ // How many investigations, and how many fixes, the route returns (newest).
12
+ export const KUBERNETES_CLUSTER_AI_INSIGHTS_LIMIT = 25;
13
+ // The window commandCounts covers.
14
+ export const KUBERNETES_CLUSTER_AI_INSIGHTS_COMMAND_WINDOW_IN_DAYS = 30;
15
+ // How much of a fix's rationale the route returns.
16
+ export const KUBERNETES_CLUSTER_AI_INSIGHTS_RATIONALE_MAX_LENGTH = 300;
17
+ //# sourceMappingURL=KubernetesClusterAiInsights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KubernetesClusterAiInsights.js","sourceRoot":"","sources":["../../../../Types/Kubernetes/KubernetesClusterAiInsights.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oCAAoC,GAAW,EAAE,CAAC;AAE/D,mCAAmC;AACnC,MAAM,CAAC,MAAM,qDAAqD,GAAW,EAAE,CAAC;AAEhF,mDAAmD;AACnD,MAAM,CAAC,MAAM,mDAAmD,GAAW,GAAG,CAAC"}
@@ -197,7 +197,7 @@ export function buildProxmoxRatioMonitorConfig(args) {
197
197
  const nodeOfflineTemplate = {
198
198
  id: "pve-node-offline",
199
199
  name: "Node Offline",
200
- description: "Alert when any Proxmox node reports as down (pve_up = 0, scoped to nodes via pve.scope). One incident per node.",
200
+ description: "Alert when any Proxmox node is down (pve_up = 0, scoped to nodes via pve.scope). One incident per node. On the Proxmox VE native OpenTelemetry push, a node that stops reporting is reported down by the nodes still alive, so this fires about 5 minutes after its last report; a standalone host or a whole cluster going silent turns the cluster Disconnected instead.",
201
201
  category: "Availability",
202
202
  severity: "Critical",
203
203
  getMonitorStep: (args) => {
@@ -225,7 +225,7 @@ const nodeOfflineTemplate = {
225
225
  filterType: FilterType.LessThan,
226
226
  value: 1,
227
227
  incidentTitle: `[Proxmox] Node Offline - ${args.monitorName}`,
228
- incidentDescription: `A Proxmox node is reporting as down (pve_up = 0). The node is unreachable or has crashed and every guest running on it may be offline. Check the root cause for the affected node id, verify the node's power/network state, and check whether HA has relocated its guests.`,
228
+ incidentDescription: `A Proxmox node is down (pve_up = 0): the cluster reports it offline or, on the Proxmox VE native OpenTelemetry push, it has stopped reporting and the nodes still alive report it (those points carry oneuptime.proxmox.inferred = not-reporting). The node may have crashed or lost power or network, and every guest running on it may be offline; a node that is up but whose pvestatd or pmxcfs has stopped, or that cannot reach OneUptime, is reported the same way. Check the root cause for the affected node id, verify the node's power/network state and its pvestatd service, and check whether HA has relocated its guests. If you took the node out of the cluster on purpose, use Remove Node on its page in OneUptime to resolve this.`,
229
229
  criteriaName: "Node Offline - pve_up < 1",
230
230
  criteriaDescription: "Triggers when any node reports pve_up below 1 over the monitoring window.",
231
231
  }),
@@ -360,7 +360,7 @@ const guestDownTemplate = {
360
360
  const quorumRiskTemplate = {
361
361
  id: "pve-quorum-risk",
362
362
  name: "Cluster Quorum at Risk",
363
- description: "Alert when 50% or fewer of the cluster's nodes are online. Derived from node visibility (online pve_up nodes ÷ pve_node_info node count) — pve-exporter exposes no corosync metric, so this is the honest quorum proxy: at ≤50% node availability the cluster has lost (or is about to lose) quorum and HA recovery stops.",
363
+ description: "Alert when 50% or fewer of the cluster's nodes are online. Derived from node visibility (online pve_up nodes ÷ pve_node_info node count) — pve-exporter exposes no corosync metric, so this is the honest quorum proxy: at ≤50% node availability the cluster has lost (or is about to lose) quorum and HA recovery stops. On the Proxmox VE native OpenTelemetry push, a node that stops reporting counts as offline (the nodes still alive report it); a whole cluster going silent turns the cluster Disconnected instead.",
364
364
  category: "Availability",
365
365
  severity: "Critical",
366
366
  getMonitorStep: (args) => {
@@ -391,7 +391,7 @@ const quorumRiskTemplate = {
391
391
  filterType: FilterType.LessThanOrEqualTo,
392
392
  value: 50,
393
393
  incidentTitle: `[Proxmox] CRITICAL: Cluster Quorum at Risk - ${args.monitorName}`,
394
- incidentDescription: `Half or more of the Proxmox cluster's nodes are offline. With ≤50% of nodes online the cluster has lost (or is about to lose) corosync quorum — pmxcfs goes read-only, guests cannot be started or migrated, and HA recovery stops. Identify and recover the offline nodes immediately. (This is derived from node visibility: online nodes ÷ total nodes; pve-exporter exposes no direct corosync metric.)`,
394
+ incidentDescription: `Half or more of the Proxmox cluster's nodes are offline. With ≤50% of nodes online the cluster has lost (or is about to lose) corosync quorum — pmxcfs goes read-only, guests cannot be started or migrated, and HA recovery stops. Identify and recover the offline nodes immediately. (This is derived from node visibility: online nodes ÷ total nodes; pve-exporter exposes no direct corosync metric. On the Proxmox VE native OpenTelemetry push, a node counts as offline once it has stopped reporting, as reported by the nodes still alive — so a node that is up but cannot reach OneUptime counts too.)`,
395
395
  criteriaName: "Quorum Risk - Node Availability <= 50%",
396
396
  criteriaDescription: "Triggers when 50% or fewer of the cluster's nodes report as online.",
397
397
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ProxmoxAlertTemplates.js","sourceRoot":"","sources":["../../../../Types/Monitor/ProxmoxAlertTemplates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxmoxAlertTemplates.js","sourceRoot":"","sources":["../../../../Types/Monitor/ProxmoxAlertTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAEL,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,gDAAgD,CAAC;AACxD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AA+BvE;;;;;;;;;GASG;AAEH,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,WAAW,GAAgB,IAAI,WAAW,EAAE,CAAC;IAEnD,MAAM,eAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;IAE/D,eAAe,CAAC,IAAI,GAAG;QACrB,4BAA4B,EAAE;YAC5B,IAAI,CAAC,uBAAuB;YAC5B,IAAI,CAAC,sBAAsB;SAC5B;KACF,CAAC;IAEF,WAAW,CAAC,IAAI,GAAG;QACjB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAClC,kBAAkB,EAAE,SAAS;QAC7B,oBAAoB,EAAE,SAAS;QAC/B,sBAAsB,EAAE,SAAS;QACjC,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,KAAY;QACzB,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,SAAS;QACxB,gBAAgB,EAAE,SAAS;QAC3B,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,yBAAyB,EAAE,SAAS;QACpC,iBAAiB,EAAE,SAAS;QAC5B,cAAc,EAAE,SAAS;QACzB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAuBnD;IACC,OAAO,8BAA8B,iCAChC,IAAI,KACP,YAAY,EAAE,kBAAkB,IAChC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAiBlD;IACC,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAsBzC;IACC,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE;YAChB,YAAY,EAAE;gBACZ;oBACE,eAAe,EAAE;wBACf,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,KAAK,EAAE,IAAI,CAAC,WAAW;wBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,MAAM,EAAE,IAAI,CAAC,WAAW;wBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B;oBACD,eAAe,kBACb,UAAU,EAAE;4BACV,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;4BACjC,cAAc,EAAE,IAAI,CAAC,eAAe;4BACpC,WAAW,EAAE,EAAE;yBAChB,IACE,CAAC,IAAI,CAAC,mBAAmB;wBAC1B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;wBACtD,CAAC,CAAC,EAAE,CAAC,CACR;iBACF;aACF;YACD,cAAc,EAAE,EAAE;SACnB;QACD,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAQD;;;;;;;;;GASG;AACH,MAAM,UAAU,mCAAmC,CAAC,IAMnD;IACC,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE;YAChB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAmB,EAAE,EAAE;gBACrD,OAAO;oBACL,eAAe,EAAE;wBACf,cAAc,EAAE,KAAK,CAAC,KAAK;wBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,WAAW,EAAE,KAAK,CAAC,KAAK;wBACxB,MAAM,EAAE,KAAK,CAAC,KAAK;wBACnB,UAAU,EAAE,SAAS;qBACtB;oBACD,eAAe,kBACb,UAAU,EAAE;4BACV,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;4BAClC,cAAc,EAAE,IAAI,CAAC,eAAe;4BACpC,WAAW,EAAE,EAAE;yBAChB,IACE,CAAC,IAAI,CAAC,mBAAmB;wBAC1B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;wBACtD,CAAC,CAAC,EAAE,CAAC,CACR;iBACF,CAAC;YACJ,CAAC,CAAC;YACF,cAAc,EAAE,EAAE;SACnB;QACD,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAY9C;IACC,MAAM,eAAe,GACnB,IAAI,CAAC,eAAe,IAAI,sBAAsB,CAAC,GAAG,CAAC;IAErD,MAAM,gBAAgB,GAA+C,CACnE,KAAa,EACb,UAAkB,EACb,EAAE;QACP,OAAO;YACL,eAAe,EAAE;gBACf,cAAc,EAAE,KAAK;gBACrB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,SAAS;aACtB;YACD,eAAe,kBACb,UAAU,EAAE;oBACV,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;oBACjC,cAAc,EAAE,eAAe;oBAC/B,WAAW,EAAE,EAAE;iBAChB,IACE,CAAC,IAAI,CAAC,mBAAmB;gBAC1B,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC,CACR;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE;YAChB,YAAY,EAAE;gBACZ,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC;gBAC/D,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACpE;YACD,cAAc,EAAE;gBACd;oBACE,eAAe,EAAE;wBACf,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,KAAK,EAAE,IAAI,CAAC,YAAY;wBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;wBAC9B,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,UAAU,EAAE,GAAG;qBAChB;oBACD,iBAAiB,EAAE;wBACjB,aAAa,EAAE,IAAI,IAAI,CAAC,cAAc,MAAM,IAAI,CAAC,gBAAgB,SAAS;qBAC3E;iBACF;aACF;SACF;QACD,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC;AAED,+BAA+B;AAE/B,MAAM,mBAAmB,GAAyB;IAChD,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,4WAA4W;IAC9W,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,SAAS,CAAC;QAEtC,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,UAAU,EAAE,QAAQ;gBACpB,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC;;;mBAGG;gBACH,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;gBACnC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,QAAQ;gBAC/B,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,4BAA4B,IAAI,CAAC,WAAW,EAAE;gBAC7D,mBAAmB,EAAE,wtBAAwtB;gBAC7uB,YAAY,EAAE,2BAA2B;gBACzC,mBAAmB,EACjB,2EAA2E;aAC9E,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,oBAAoB;gBAC3C,KAAK,EAAE,CAAC;gBACR;;;;mBAIG;gBACH,cAAc,EAAE,IAAI;aACrB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAyB;IAC9C,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,uRAAuR;IACzR,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,UAAU,CAAC;QACvC,MAAM,WAAW,GAAW,cAAc,CAAC;QAE3C;;;;;;;;;;;;;;;;;;;WAmBG;QACH,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,mCAAmC,CAAC;gBAClD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,WAAW;wBAClB,UAAU,EAAE,QAAQ;wBACpB,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;qBACrC;oBACD;wBACE,KAAK,EAAE,WAAW;wBAClB,UAAU,EAAE,mBAAmB;wBAC/B,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;qBACrC;iBACF;gBACD,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC;;;;;;mBAMG;gBACH,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,QAAQ;gBAC/B,KAAK,EAAE,CAAC;gBACR;;;;;mBAKG;gBACH,eAAe,EAAE,eAAe,CAAC,GAAG;gBACpC,iBAAiB,EAAE;oBACjB;wBACE,WAAW,EAAE,WAAW;wBACxB,UAAU,EAAE,UAAU,CAAC,WAAW;wBAClC,KAAK,EAAE,CAAC;qBACT;iBACF;gBACD,aAAa,EAAE,0BAA0B,IAAI,CAAC,WAAW,EAAE;gBAC3D,mBAAmB,EAAE,waAAwa;gBAC7b,YAAY,EAAE,0CAA0C;gBACxD,mBAAmB,EACjB,2GAA2G;aAC9G,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,oBAAoB;gBAC3C,KAAK,EAAE,CAAC;gBACR;;;;mBAIG;gBACH,cAAc,EAAE,IAAI;gBACpB;;;;;;;;mBAQG;gBACH,iBAAiB,EAAE;oBACjB;wBACE,WAAW,EAAE,WAAW;wBACxB,UAAU,EAAE,UAAU,CAAC,OAAO;wBAC9B,KAAK,EAAE,CAAC;qBACT;iBACF;aACF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAyB;IAC/C,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,+fAA+f;IACjgB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,mBAAmB,CAAC;QAEhD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,8BAA8B,CAAC;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC;;;;mBAIG;gBACH,mBAAmB,EAAE,QAAQ;gBAC7B,qBAAqB,EAAE,eAAe;gBACtC,cAAc,EAAE,cAAc;gBAC9B,gBAAgB,EAAE,aAAa;gBAC/B,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,uBAAuB;gBACrC,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;aACpC,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,gDAAgD,IAAI,CAAC,WAAW,EAAE;gBACjF,mBAAmB,EAAE,qlBAAqlB;gBAC1mB,YAAY,EAAE,wCAAwC;gBACtD,mBAAmB,EACjB,qEAAqE;aACxE,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,EAAE;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,mBAAmB,GAAyB;IAChD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,uIAAuI;IACzI,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,UAAU,CAAC;QAEvC,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,UAAU,EAAE,qBAAqB;gBACjC,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC;;;;mBAIG;gBACH,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;gBACnC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,GAAG;gBACV,aAAa,EAAE,0CAA0C,IAAI,CAAC,WAAW,EAAE;gBAC3E,mBAAmB,EAAE,uQAAuQ;gBAC5R,YAAY,EAAE,mCAAmC;gBACjD,mBAAmB,EACjB,0FAA0F;aAC7F,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,KAAK,EAAE,GAAG;aACX,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAyB;IACnD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,6OAA6O;IAC/O,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,yBAAyB,CAAC;QAEtD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,8BAA8B,CAAC;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,mBAAmB,EAAE,wBAAwB;gBAC7C,qBAAqB,EAAE,uBAAuB;gBAC9C,cAAc,EAAE,UAAU;gBAC1B,gBAAgB,EAAE,WAAW;gBAC7B,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,6BAA6B;gBAC3C,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;gBACnC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,6CAA6C,IAAI,CAAC,WAAW,EAAE;gBAC9E,mBAAmB,EAAE,4RAA4R;gBACjT,YAAY,EAAE,sCAAsC;gBACpD,mBAAmB,EACjB,mGAAmG;aACtG,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,KAAK,EAAE,EAAE;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAyB;IACjD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,wUAAwU;IAC1U,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,WAAW,CAAC;QAExC,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,UAAU,EAAE,qBAAqB;gBACjC,WAAW;gBACX;;;;;;;;mBAQG;gBACH,WAAW,EAAE,WAAW,CAAC,aAAa;gBACtC;;;;mBAIG;gBACH,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;gBACpC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC;;;;;;;;;mBASG;gBACH,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,qDAAqD,IAAI,CAAC,WAAW,EAAE;gBACtF,mBAAmB,EAAE,4UAA4U;gBACjW,YAAY,EAAE,+CAA+C;gBAC7D,mBAAmB,EACjB,yIAAyI;aAC5I,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,4DAA4D;gBAC5D,KAAK,EAAE,IAAI;aACZ,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAyB;IACpD,EAAE,EAAE,uBAAuB;IAC3B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,0MAA0M;IAC5M,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,qBAAqB,CAAC;QAElD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,8BAA8B,CAAC;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,mBAAmB,EAAE,sBAAsB;gBAC3C,qBAAqB,EAAE,qBAAqB;gBAC5C,cAAc,EAAE,WAAW;gBAC3B,gBAAgB,EAAE,YAAY;gBAC9B,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,yBAAyB;gBACvC,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,UAAU,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;gBACtC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,wCAAwC,IAAI,CAAC,WAAW,EAAE;gBACzE,mBAAmB,EAAE,4QAA4Q;gBACjS,YAAY,EAAE,uCAAuC;gBACrD,mBAAmB,EACjB,uGAAuG;aAC1G,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,KAAK,EAAE,EAAE;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAyB;IACpD,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,wRAAwR;IAC1R,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,sBAAsB,CAAC;QAEnD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,8BAA8B,CAAC;gBAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,mBAAmB,EAAE,sBAAsB;gBAC3C,qBAAqB,EAAE,qBAAqB;gBAC5C,cAAc,EAAE,WAAW;gBAC3B,gBAAgB,EAAE,YAAY;gBAC9B,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,qCAAqC;gBACnD,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;gBACjC,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,oDAAoD,IAAI,CAAC,WAAW,EAAE;gBACrF,mBAAmB,EAAE,+RAA+R;gBACpT,YAAY,EAAE,wCAAwC;gBACtD,mBAAmB,EACjB,uGAAuG;aAC1G,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,iBAAiB;gBACxC,KAAK,EAAE,EAAE;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAyB;IACjD,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,0IAA0I;IAC5I,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,gBAAgB,CAAC;QAE7C,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,UAAU,EAAE,cAAc;gBAC1B,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC;;;;;mBAKG;gBACH,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;gBAC9B,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,0CAA0C,IAAI,CAAC,WAAW,EAAE;gBAC3E,mBAAmB,EAAE,qWAAqW;gBAC1X,YAAY,EAAE,gCAAgC;gBAC9C,mBAAmB,EACjB,gEAAgE;aACnE,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,OAAO;gBAC9B,KAAK,EAAE,CAAC;aACT,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,wBAAwB,GAAyB;IACrD,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,yTAAyT;IAC3T,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,uBAAuB,CAAC;QAEpD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC;;;;;mBAKG;gBACH,UAAU,EAAE,yBAAyB;gBACrC,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,6DAA6D;gBAC7D,eAAe,EAAE,sBAAsB,CAAC,GAAG;aAC5C,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,mCAAmC,IAAI,CAAC,WAAW,EAAE;gBACpE,mBAAmB,EAAE,wbAAwb;gBAC7c,YAAY,EAAE,mCAAmC;gBACjD,mBAAmB,EACjB,oFAAoF;aACvF,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,OAAO;gBAC9B,KAAK,EAAE,CAAC;aACT,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,0BAA0B,GAAyB;IACvD,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,mTAAmT;IACrT,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,CAAC,IAA8B,EAAe,EAAE;QAC9D,MAAM,WAAW,GAAW,0BAA0B,CAAC;QAEvD,OAAO,uBAAuB,CAAC;YAC7B,cAAc,EAAE,yBAAyB,CAAC;gBACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC;;;;;mBAKG;gBACH,UAAU,EAAE,8BAA8B;gBAC1C,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,6DAA6D;gBAC7D,eAAe,EAAE,sBAAsB,CAAC,GAAG;gBAC3C,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YACF,uBAAuB,EAAE,mCAAmC,CAAC;gBAC3D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,kBAAkB,EAAE,IAAI,CAAC,yBAAyB;gBAClD,eAAe,EAAE,IAAI,CAAC,sBAAsB;gBAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,WAAW;gBAClC,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,6CAA6C,IAAI,CAAC,WAAW,EAAE;gBAC9E,mBAAmB,EAAE,ieAAie;gBACtf,YAAY,EAAE,wCAAwC;gBACtD,mBAAmB,EACjB,gGAAgG;aACnG,CAAC;YACF,sBAAsB,EAAE,kCAAkC,CAAC;gBACzD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,OAAO;gBAC9B,KAAK,EAAE,CAAC;aACT,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,mBAAmB;QACnB,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,sBAAsB;QACtB,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,0BAA0B;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,QAAsC;IAEtC,OAAO,2BAA2B,EAAE,CAAC,MAAM,CACzC,CAAC,QAA8B,EAAE,EAAE;QACjC,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACxC,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,EAAU;IAEV,OAAO,2BAA2B,EAAE,CAAC,IAAI,CACvC,CAAC,QAA8B,EAAE,EAAE;QACjC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,84 @@
1
+ /*
2
+ * A value that is ALREADY HTML and may go into an HTML document as written.
3
+ *
4
+ * Status page subscriber emails are filled from two kinds of value, and a
5
+ * plain string cannot say which one it holds:
6
+ *
7
+ * - plain text: an incident, episode, maintenance or announcement title, a
8
+ * severity or state name, a status page or resource name, a URL. Project
9
+ * members type these, and a title is exactly what someone outside the
10
+ * team gets to influence (an incident created from a monitor, an API
11
+ * call, a Slack command). Put into HTML as written, a title such as
12
+ * `<a href="https://evil.example">Reset your password</a>` becomes a live
13
+ * link in an email the recipient trusts.
14
+ * - HTML this code produced itself: Markdown.convertToHTML output (which
15
+ * escapes the raw HTML an author typed and keeps only http, https and
16
+ * mailto links), the date helper's multi-timezone HTML, and the resource
17
+ * list StatusPageResourceUtil.getResourcesGroupedByGroupName builds from
18
+ * escaped names.
19
+ *
20
+ * So the HTML ones travel wrapped in this type, and anything that is still a
21
+ * string is treated as plain text and escaped where it meets HTML (see
22
+ * SubscriberNotificationTemplateCompiler.compileEmailBodyTemplate). A value
23
+ * nobody thought about is therefore escaped, which at worst shows the reader
24
+ * an "&amp;" too many; it can never become markup by accident.
25
+ *
26
+ * Kept free of server dependencies so both the server and the dashboard can
27
+ * use it.
28
+ */
29
+ var _a;
30
+ /*
31
+ * Marks instances without instanceof, which a second copy of this module (a
32
+ * test's isolated module registry, a duplicated bundle) would defeat.
33
+ */
34
+ const SAFE_HTML_BRAND = Symbol.for("OneUptime.SafeHtml");
35
+ class SafeHtml {
36
+ constructor(html) {
37
+ // Read by isSafeHtml; a symbol key, so JSON.stringify leaves it out.
38
+ this[_a] = true;
39
+ this.html = html;
40
+ }
41
+ /*
42
+ * Wraps markup this code produced from values it had already made safe:
43
+ * Markdown.convertToHTML(..., MarkdownContentType.Email) output,
44
+ * OneUptimeDate.getDateAsFormattedHTMLInMultipleTimezones output, and
45
+ * StatusPageResourceUtil.getResourcesGroupedByGroupName output. Never a
46
+ * value a user typed.
47
+ */
48
+ static fromTrustedHtml(html) {
49
+ return new SafeHtml(html || "");
50
+ }
51
+ // Plain text, escaped so it reads the same in HTML.
52
+ static fromPlainText(text) {
53
+ return new SafeHtml(SafeHtml.escape(text || ""));
54
+ }
55
+ /*
56
+ * Escapes the five characters that can break out of HTML text or a quoted
57
+ * attribute value. The ampersand goes first, so the entities the other
58
+ * four become are not escaped a second time.
59
+ *
60
+ * This is the one implementation: Markdown.escapeHtml calls it.
61
+ */
62
+ static escape(text) {
63
+ return String(text)
64
+ .replace(/&/g, "&amp;")
65
+ .replace(/</g, "&lt;")
66
+ .replace(/>/g, "&gt;")
67
+ .replace(/"/g, "&quot;")
68
+ .replace(/'/g, "&#39;");
69
+ }
70
+ static isSafeHtml(value) {
71
+ return (typeof value === "object" &&
72
+ value !== null &&
73
+ value[SAFE_HTML_BRAND] === true);
74
+ }
75
+ toHtml() {
76
+ return this.html;
77
+ }
78
+ toString() {
79
+ return this.html;
80
+ }
81
+ }
82
+ _a = SAFE_HTML_BRAND;
83
+ export default SafeHtml;
84
+ //# sourceMappingURL=SafeHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeHtml.js","sourceRoot":"","sources":["../../../Types/SafeHtml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;AAEH;;;GAGG;AACH,MAAM,eAAe,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAExE,MAAqB,QAAQ;IAM3B,YAAoB,IAAY;QALhC,qEAAqE;QACrD,QAAiB,GAAY,IAAI,CAAC;QAKhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,eAAe,CAAC,IAA+B;QAC3D,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,aAAa,CAAC,IAA+B;QACzD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,OAAO,MAAM,CAAC,IAAI,CAAC;aAChB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAc;QACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAyC,CAAC,eAAe,CAAC,KAAK,IAAI,CACrE,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;KAvDkB,eAAe;eAFb,QAAQ"}
@@ -0,0 +1,117 @@
1
+ import IncidentScopeAddedPagesNotification from "./IncidentScopeAddedPagesNotification";
2
+ import StatusPageSubscriberNotificationStatus from "./StatusPageSubscriberNotificationStatus";
3
+ class IncidentCreatedRenotify {
4
+ /*
5
+ * Only a real yes counts. The flag arrives over JSON, so accept the string
6
+ * form a hand-written API request might send, and nothing looser: a stray
7
+ * "false" or 1 must never email every subscriber of a status page.
8
+ */
9
+ static isRequested(miscDataProps) {
10
+ if (!miscDataProps || typeof miscDataProps !== "object") {
11
+ return false;
12
+ }
13
+ const value = miscDataProps[this.miscDataKey];
14
+ return value === true || value === "true";
15
+ }
16
+ static getMiscDataProps() {
17
+ return {
18
+ [this.miscDataKey]: true,
19
+ };
20
+ }
21
+ /*
22
+ * Whether publishing this incident may queue its 'created' notification
23
+ * again, given what is stored for it right now:
24
+ *
25
+ * - it is hidden today, so this really is the publish;
26
+ * - notifying on creation is on. An incident created with notifications
27
+ * off was deliberately kept quiet, and publishing does not change that;
28
+ * - it is not private. Private incidents are hidden from every status page,
29
+ * so there is nothing to publish;
30
+ * - and there is someone left to tell. Either its 'created' notification
31
+ * was Skipped, so nobody was told; or it went out (Success, or Failed
32
+ * part-way) and the incident is limited to status pages its record does
33
+ * not list - typically pages added while it was hidden (see
34
+ * hasUntoldStatusPages). Pending and InProgress are on their way already
35
+ * (and a Pending send reads the incident when it goes out, so it will see
36
+ * it visible).
37
+ */
38
+ static canRenotifyOnPublish(incident) {
39
+ if (incident.isVisibleOnStatusPage === true ||
40
+ incident.shouldStatusPageSubscribersBeNotifiedOnIncidentCreated !==
41
+ true ||
42
+ incident.isPrivate === true) {
43
+ return false;
44
+ }
45
+ return (incident.subscriberNotificationStatusOnIncidentCreated ===
46
+ StatusPageSubscriberNotificationStatus.Skipped ||
47
+ this.hasUntoldStatusPages(incident));
48
+ }
49
+ /*
50
+ * Whether a notification that already went out left status pages of the
51
+ * incident's scope untold: its record exists and misses one of them. Pages
52
+ * added while the incident was hidden land here, as do pages whose send
53
+ * failed. A page in the scope that lists none of the incident's monitors,
54
+ * or does not show incidents, is never told either; offering the checkbox
55
+ * for it sends nothing, and the incident feed says so.
56
+ *
57
+ * An incident without a record is not offered it: its notification went out
58
+ * before the record existed, to every page that listed its monitors (see
59
+ * IncidentScopeAddedPagesNotification).
60
+ */
61
+ static hasUntoldStatusPages(incident) {
62
+ if (incident.subscriberNotificationStatusOnIncidentCreated !==
63
+ StatusPageSubscriberNotificationStatus.Success &&
64
+ incident.subscriberNotificationStatusOnIncidentCreated !==
65
+ StatusPageSubscriberNotificationStatus.Failed) {
66
+ return false;
67
+ }
68
+ const recorded = IncidentScopeAddedPagesNotification.getRecordedStatusPageIds(incident.statusPagesNotifiedOnCreation);
69
+ if (recorded === null) {
70
+ return false;
71
+ }
72
+ return IncidentScopeAddedPagesNotification.normalizeStatusPageIds(incident.statusPages).some((id) => {
73
+ return !recorded.includes(id);
74
+ });
75
+ }
76
+ // The checkbox's description, for the case canRenotifyOnPublish found.
77
+ static getFormFieldDescription(incident) {
78
+ return incident.subscriberNotificationStatusOnIncidentCreated ===
79
+ StatusPageSubscriberNotificationStatus.Skipped
80
+ ? this.formFieldDescription
81
+ : this.untoldStatusPagesFormFieldDescription;
82
+ }
83
+ /*
84
+ * The checkbox starts ticked while the incident is unresolved - publishing
85
+ * a live incident is the moment its audience should hear about it - and
86
+ * unticked once it is resolved, so making an old incident visible for the
87
+ * record does not announce it as new.
88
+ */
89
+ static isTickedByDefault(data) {
90
+ return data.isResolved !== true;
91
+ }
92
+ /*
93
+ * Whether a stored status and message say the 'created' notification was
94
+ * skipped because the incident was hidden from status pages.
95
+ */
96
+ static isHiddenFromStatusPagesSkip(data) {
97
+ return (data.status === StatusPageSubscriberNotificationStatus.Skipped &&
98
+ data.message === this.hiddenFromStatusPagesMessage);
99
+ }
100
+ }
101
+ // The misc data prop an update request carries to ask for the notification.
102
+ IncidentCreatedRenotify.miscDataKey = "notifySubscribersOfIncidentCreatedOnPublish";
103
+ /*
104
+ * Why the worker skipped the 'created' notification of a hidden incident.
105
+ * The data migration that settled incidents left InProgress by the old
106
+ * worker writes the same text, so both read alike on the dashboard.
107
+ */
108
+ IncidentCreatedRenotify.hiddenFromStatusPagesMessage = "Incident is not visible on status pages. Skipping notifications to subscribers.";
109
+ // How the dashboard labels that skip next to the notification status.
110
+ IncidentCreatedRenotify.hiddenFromStatusPagesLabel = "Skipped: hidden from status pages";
111
+ IncidentCreatedRenotify.queuedMessage = "Incident published on status pages. Subscribers will be notified that this incident was created.";
112
+ IncidentCreatedRenotify.formFieldTitle = "Notify subscribers that this incident was created";
113
+ IncidentCreatedRenotify.formFieldDescription = "Subscribers were not told about this incident because it was hidden from status pages. Tick this to send them the incident-created notification now. It starts unticked for resolved incidents, so publishing an old incident for the record does not announce it as new.";
114
+ // The same checkbox, for an incident whose earlier subscribers were told.
115
+ IncidentCreatedRenotify.untoldStatusPagesFormFieldDescription = "Some status pages this incident is limited to were never sent the notification that it was created, for example pages added while it was hidden. Tick this to send it to them now. Pages that were already told are not sent it again.";
116
+ export default IncidentCreatedRenotify;
117
+ //# sourceMappingURL=IncidentCreatedRenotify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentCreatedRenotify.js","sourceRoot":"","sources":["../../../../Types/StatusPage/IncidentCreatedRenotify.ts"],"names":[],"mappings":"AACA,OAAO,mCAAmC,MAAM,uCAAuC,CAAC;AACxF,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAyD9F,MAAqB,uBAAuB;IA8B1C;;;;OAIG;IACI,MAAM,CAAC,WAAW,CACvB,aAA4C;QAE5C,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAY,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,gBAAgB;QAC5B,OAAO;YACL,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,oBAAoB,CAChC,QAAsC;QAEtC,IACE,QAAQ,CAAC,qBAAqB,KAAK,IAAI;YACvC,QAAQ,CAAC,sDAAsD;gBAC7D,IAAI;YACN,QAAQ,CAAC,SAAS,KAAK,IAAI,EAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CACL,QAAQ,CAAC,6CAA6C;YACpD,sCAAsC,CAAC,OAAO;YAChD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CACpC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,oBAAoB,CAChC,QAAsC;QAEtC,IACE,QAAQ,CAAC,6CAA6C;YACpD,sCAAsC,CAAC,OAAO;YAChD,QAAQ,CAAC,6CAA6C;gBACpD,sCAAsC,CAAC,MAAM,EAC/C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GACZ,mCAAmC,CAAC,wBAAwB,CAC1D,QAAQ,CAAC,6BAA6B,CACvC,CAAC;QAEJ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,mCAAmC,CAAC,sBAAsB,CAC/D,QAAQ,CAAC,WAAW,CACrB,CAAC,IAAI,CAAC,CAAC,EAAU,EAAW,EAAE;YAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IAChE,MAAM,CAAC,uBAAuB,CACnC,QAAsC;QAEtC,OAAO,QAAQ,CAAC,6CAA6C;YAC3D,sCAAsC,CAAC,OAAO;YAC9C,CAAC,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAE/B;QACC,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,2BAA2B,CAAC,IAGzC;QACC,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,sCAAsC,CAAC,OAAO;YAC9D,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,4BAA4B,CACnD,CAAC;IACJ,CAAC;;AAlKD,4EAA4E;AACrD,mCAAW,GAChC,6CAA6C,CAAC;AAEhD;;;;GAIG;AACoB,oDAA4B,GACjD,iFAAiF,CAAC;AAEpF,sEAAsE;AAC/C,kDAA0B,GAC/C,mCAAmC,CAAC;AAEf,qCAAa,GAClC,kGAAkG,CAAC;AAE9E,sCAAc,GACnC,mDAAmD,CAAC;AAE/B,4CAAoB,GACzC,2QAA2Q,CAAC;AAE9Q,0EAA0E;AACnD,6DAAqC,GAC1D,wOAAwO,CAAC;eA5BxN,uBAAuB"}
@@ -0,0 +1,86 @@
1
+ import StatusPageSubscriberNotificationStatus from "./StatusPageSubscriberNotificationStatus";
2
+ /*
3
+ * 'Resend to all pages' for the notification that an incident was created.
4
+ *
5
+ * That notification keeps a record of the status pages it was sent to in
6
+ * full (Incident.statusPagesNotifiedOnCreation), and the job skips them. Two
7
+ * ways of sending it again already existed, and both stay as they are:
8
+ *
9
+ * - setting subscriberNotificationStatusOnIncidentCreated back to Pending
10
+ * (the API route, and the dashboard's Retry): IncidentService empties the
11
+ * record in the same write, so it reaches every page again - except after
12
+ * a failure, where Retry resumes after the pages the failed send finished,
13
+ * so they are not sent it twice (see
14
+ * IncidentService.clearCreatedNotificationRecordOnResend);
15
+ * - adding pages to the scope, or publishing a hidden incident, with their
16
+ * checkboxes (IncidentScopeAddedPagesNotification, IncidentCreatedRenotify),
17
+ * which tell only the pages the record does not list.
18
+ *
19
+ * What was missing is sending it to every page on purpose: after a failure,
20
+ * to start over rather than resume (a template or an SMTP setting was fixed
21
+ * since, and the pages that "went through" should get the corrected email
22
+ * too), and after a success, without relying on an implied rule. This misc
23
+ * data prop asks for exactly that. IncidentService turns it into a Pending
24
+ * status and an empty record, in the caller's own update, so the column
25
+ * check that runs after the hook decides whether the caller may.
26
+ *
27
+ * Like the other notification requests (SubscriberUpdateNotification,
28
+ * IncidentCreatedRenotify, IncidentScopeAddedPagesNotification) it is a misc
29
+ * data prop, not a column: a stored "resend" flag would either stick or have
30
+ * to be reset behind the caller's back.
31
+ *
32
+ * It is only accepted for a notification that went out - Success, or Failed
33
+ * part-way. A skipped one was never sent to anyone, and one that is Pending
34
+ * or being sent is on its way; see getRefusalReason.
35
+ */
36
+ class IncidentCreatedResend {
37
+ /*
38
+ * Only a real yes counts. The flag arrives over JSON, so accept the string
39
+ * form a hand-written API request might send, and nothing looser: a stray
40
+ * "false" or 1 must never email every subscriber of every status page.
41
+ */
42
+ static isRequested(miscDataProps) {
43
+ if (!miscDataProps || typeof miscDataProps !== "object") {
44
+ return false;
45
+ }
46
+ const value = miscDataProps[this.miscDataKey];
47
+ return value === true || value === "true";
48
+ }
49
+ static getMiscDataProps() {
50
+ return {
51
+ [this.miscDataKey]: true,
52
+ };
53
+ }
54
+ /*
55
+ * Why a notification in `status` cannot be sent to every page again, or
56
+ * null when it can (it went out: Success, or Failed part-way).
57
+ */
58
+ static getRefusalReason(status) {
59
+ switch (status) {
60
+ case StatusPageSubscriberNotificationStatus.Success:
61
+ case StatusPageSubscriberNotificationStatus.Failed:
62
+ return null;
63
+ case StatusPageSubscriberNotificationStatus.Pending:
64
+ case StatusPageSubscriberNotificationStatus.InProgress:
65
+ return this.inFlightRefusalMessage;
66
+ default:
67
+ // Skipped, and a missing status, which the column's default rules out.
68
+ return this.skippedRefusalMessage;
69
+ }
70
+ }
71
+ }
72
+ // The misc data prop an update request carries to ask for the resend.
73
+ IncidentCreatedResend.miscDataKey = "resendIncidentCreatedToAllStatusPages";
74
+ // The status message of a notification queued by this request.
75
+ IncidentCreatedResend.queuedMessage = "Queued to be sent again to every status page this incident reaches, including the pages that were already sent it.";
76
+ /*
77
+ * The status message the dashboard's Retry writes: it resumes after the
78
+ * pages already reached.
79
+ */
80
+ IncidentCreatedResend.retryQueuedMessage = "Queued to be sent again to the status pages that were not sent it in full. The pages already reached are not sent it again.";
81
+ IncidentCreatedResend.skippedRefusalMessage = "Subscribers were never sent the notification that this incident was created (it was skipped), so there is nothing to send again.";
82
+ IncidentCreatedResend.inFlightRefusalMessage = "The notification that this incident was created is queued or being sent right now. Wait until it has finished, then send it again.";
83
+ IncidentCreatedResend.conflictingStatusMessage = "A request to send the incident-created notification to every status page again cannot also set its status. Leave the status out.";
84
+ IncidentCreatedResend.noPermissionMessage = "You do not have permission to send the incident-created notification again. It needs the permission to edit incidents.";
85
+ export default IncidentCreatedResend;
86
+ //# sourceMappingURL=IncidentCreatedResend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncidentCreatedResend.js","sourceRoot":"","sources":["../../../../Types/StatusPage/IncidentCreatedResend.ts"],"names":[],"mappings":"AACA,OAAO,sCAAsC,MAAM,0CAA0C,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAqB,qBAAqB;IA4BxC;;;;OAIG;IACI,MAAM,CAAC,WAAW,CACvB,aAA4C;QAE5C,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAY,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,gBAAgB;QAC5B,OAAO;YACL,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gBAAgB,CAC5B,MAAiE;QAEjE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,sCAAsC,CAAC,OAAO,CAAC;YACpD,KAAK,sCAAsC,CAAC,MAAM;gBAChD,OAAO,IAAI,CAAC;YACd,KAAK,sCAAsC,CAAC,OAAO,CAAC;YACpD,KAAK,sCAAsC,CAAC,UAAU;gBACpD,OAAO,IAAI,CAAC,sBAAsB,CAAC;YACrC;gBACE,uEAAuE;gBACvE,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC;IACH,CAAC;;AApED,sEAAsE;AAC/C,iCAAW,GAChC,uCAAuC,CAAC;AAE1C,+DAA+D;AACxC,mCAAa,GAClC,oHAAoH,CAAC;AAEvH;;;GAGG;AACoB,wCAAkB,GACvC,6HAA6H,CAAC;AAEzG,2CAAqB,GAC1C,kIAAkI,CAAC;AAE9G,4CAAsB,GAC3C,oIAAoI,CAAC;AAEhH,8CAAwB,GAC7C,kIAAkI,CAAC;AAE9G,yCAAmB,GACxC,wHAAwH,CAAC;eA1BxG,qBAAqB"}