@oneuptime/common 12.0.9 → 12.0.11

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 (262) hide show
  1. package/Models/DatabaseModels/NetworkDevice.ts +44 -0
  2. package/Models/DatabaseModels/NetworkDeviceLink.ts +116 -0
  3. package/Models/DatabaseModels/RunnerJob.ts +17 -2
  4. package/Server/API/LlmProviderAPI.ts +8 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/1787400000000-AddDeviceRoleAndDeclaredLinkParent.ts +52 -0
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  7. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +240 -0
  8. package/Server/Services/NetworkDeviceLinkService.ts +338 -2
  9. package/Server/Services/NetworkDeviceService.ts +265 -12
  10. package/Server/Services/RunnerJobService.ts +24 -1
  11. package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +19 -5
  12. package/Server/Types/Database/JSONColumnQuery.ts +42 -4
  13. package/Server/Utils/LLM/LLMService.ts +108 -19
  14. package/Server/Utils/Monitor/MonitorAlert.ts +22 -115
  15. package/Server/Utils/Monitor/MonitorIncident.ts +7 -337
  16. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +27 -2
  17. package/Server/Utils/Monitor/SeriesResourceLabels.ts +32 -0
  18. package/Server/Utils/Monitor/SeriesResourceLinker.ts +469 -0
  19. package/Server/Utils/SSRFProtection.ts +5 -4
  20. package/Server/Utils/Telemetry/InventoryEntityRegistry.ts +186 -38
  21. package/Tests/App/AdminDashboard/AdminUsersBulkAddToProject.test.tsx +955 -0
  22. package/Tests/App/AdminDashboard/BulkAddUsersToProject.test.ts +778 -0
  23. package/Tests/App/AdminDashboard/BulkAddUsersToProjectModal.test.tsx +1051 -0
  24. package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +420 -112
  25. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +81 -6
  26. package/Tests/App/Dashboard/PayAsYouGoConsentGate.test.tsx +543 -0
  27. package/Tests/App/Dashboard/PayAsYouGoFreePlan.test.ts +125 -0
  28. package/Tests/App/Dashboard/PayAsYouGoNotices.test.tsx +612 -0
  29. package/Tests/App/Dashboard/SloWidgetChartRendering.test.tsx +536 -0
  30. package/Tests/App/Dashboard/UserElementEmail.test.tsx +447 -0
  31. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +284 -0
  32. package/Tests/Models/AnalyticsModels/CommonModel.test.ts +312 -0
  33. package/Tests/Server/Infrastructure/Postgres/DeviceRoleAndDeclaredLinkParentMigration.test.ts +250 -0
  34. package/Tests/Server/Infrastructure/Postgres/EpisodeMemberNotifyIndexesMigration.test.ts +46 -18
  35. package/Tests/Server/Services/NetworkDeviceLabelRuleRun.test.ts +618 -0
  36. package/Tests/Server/Services/NetworkDeviceLinkParentValidation.test.ts +1043 -0
  37. package/Tests/Server/Services/NetworkSiteAssignmentRuleRun.test.ts +706 -0
  38. package/Tests/Server/Services/RunnerJobEnqueue.test.ts +412 -0
  39. package/Tests/Server/Types/Billing/PayAsYouGoMeteredPricing.test.ts +125 -0
  40. package/Tests/Server/Types/Database/JSONColumnQuery.test.ts +508 -0
  41. package/Tests/Server/Utils/AI/LLMServiceRequestPolicy.test.ts +2 -2
  42. package/Tests/Server/Utils/AI/LLMServiceRetryPolicy.test.ts +450 -0
  43. package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +556 -0
  44. package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +547 -0
  45. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +30 -0
  46. package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +699 -0
  47. package/Tests/Server/Utils/SeriesResourceLabels.test.ts +55 -0
  48. package/Tests/Server/Utils/Telemetry/InventoryEntityRegistry.test.ts +668 -0
  49. package/Tests/Types/API/URLMalformedTolerance.test.ts +301 -0
  50. package/Tests/Types/API/URLTelScheme.test.ts +261 -0
  51. package/Tests/Types/API/URLUnsupportedScheme.test.ts +148 -0
  52. package/Tests/Types/Billing/PayAsYouGoPricing.test.ts +64 -0
  53. package/Tests/Types/CustomField/CustomFieldTypeCorrespondence.test.ts +107 -0
  54. package/Tests/Types/Monitor/MonitorType.test.ts +62 -0
  55. package/Tests/Types/NetworkAutomation/RuleRunResult.test.ts +184 -0
  56. package/Tests/Types/Runbook/RunbookStepType.test.ts +124 -0
  57. package/Tests/Types/Workflow/BaseModelComponents.test.ts +17 -0
  58. package/Tests/UI/Components/Button.test.tsx +279 -0
  59. package/Tests/UI/Components/Charts/ChartXAxisDataKey.test.tsx +256 -0
  60. package/Tests/UI/Components/Charts/DataPointUtil.test.ts +323 -0
  61. package/Tests/UI/Components/DictionaryValuePlaceholderAndSuggestions.test.tsx +595 -0
  62. package/Tests/UI/Components/Icon.test.tsx +57 -0
  63. package/Tests/UI/Components/List.test.tsx +20 -3
  64. package/Tests/UI/Components/LogsSavedViewsDropdown.test.tsx +304 -0
  65. package/Tests/UI/Components/LogsViewerClearSavedView.test.tsx +179 -0
  66. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +349 -1
  67. package/Tests/UI/Components/Pagination.test.tsx +721 -146
  68. package/Tests/UI/Components/PaginationIntegration.test.tsx +386 -0
  69. package/Tests/UI/Components/PaginationUtil.test.ts +417 -0
  70. package/Tests/UI/Components/TelemetrySavedViewsDropdown.test.tsx +343 -0
  71. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnControl.test.ts +289 -0
  72. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnOperators.test.ts +271 -0
  73. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnRow.test.ts +119 -0
  74. package/Tests/UI/Components/Workflow/ColumnEditor/ColumnRowSerialization.test.ts +968 -0
  75. package/Tests/UI/Components/Workflow/ModelColumnEditor.render.test.tsx +766 -0
  76. package/Tests/UI/Utils/RunNetworkRule.test.ts +320 -0
  77. package/Tests/Utils/APIRetryPolicy.test.ts +823 -0
  78. package/Tests/Utils/Monitor/NetworkDeviceRoleUtil.test.ts +502 -0
  79. package/Tests/Utils/Monitor/NetworkTopologyDeclaredHierarchy.test.ts +759 -0
  80. package/Tests/Utils/NetworkAutomation/RuleRunSummary.test.ts +286 -0
  81. package/Tests/Utils/Schema/BaseSchema.test.ts +651 -0
  82. package/Types/API/Protocol.ts +9 -0
  83. package/Types/API/URL.ts +286 -20
  84. package/Types/Billing/PayAsYouGoPricing.ts +47 -0
  85. package/Types/CustomField/CustomFieldType.ts +28 -0
  86. package/Types/Monitor/MonitorType.ts +11 -0
  87. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +13 -0
  88. package/Types/NetworkAutomation/RuleRunResult.ts +121 -0
  89. package/Types/Runbook/RunbookStepType.ts +23 -0
  90. package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +7 -0
  91. package/UI/Components/Button/Button.tsx +14 -22
  92. package/UI/Components/Charts/Area/AreaChart.tsx +4 -2
  93. package/UI/Components/Charts/Bar/BarChart.tsx +4 -2
  94. package/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.ts +13 -0
  95. package/UI/Components/Charts/Line/LineChart.tsx +4 -2
  96. package/UI/Components/Charts/Types/XAxis/XAxis.ts +6 -0
  97. package/UI/Components/Charts/Utils/DataPoint.ts +15 -12
  98. package/UI/Components/Dictionary/Dictionary.tsx +4 -39
  99. package/UI/Components/Icon/Icon.tsx +1 -1
  100. package/UI/Components/LogsViewer/LogsViewer.tsx +5 -1
  101. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +8 -0
  102. package/UI/Components/LogsViewer/components/LogsPagination.tsx +29 -91
  103. package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +2 -0
  104. package/UI/Components/LogsViewer/components/SavedViewsDropdown.tsx +66 -1
  105. package/UI/Components/ModelTable/CustomFieldColumns.tsx +55 -0
  106. package/UI/Components/Pagination/Pagination.tsx +373 -328
  107. package/UI/Components/Pagination/PaginationUtil.ts +263 -0
  108. package/UI/Components/Pagination/Screenshots/README.md +15 -0
  109. package/UI/Components/Pagination/Screenshots/pagination-before-after.png +0 -0
  110. package/UI/Components/Pagination/Screenshots/pagination-go-to-page-modal.png +0 -0
  111. package/UI/Components/Pagination/Screenshots/pagination-long-list.png +0 -0
  112. package/UI/Components/Pagination/Screenshots/pagination-mobile.png +0 -0
  113. package/UI/Components/Pagination/Screenshots/pagination-telemetry.png +0 -0
  114. package/UI/Components/TelemetryViewer/components/SavedViewsDropdown.tsx +66 -1
  115. package/UI/Components/TelemetryViewer/components/TelemetryPagination.tsx +38 -92
  116. package/UI/Components/TextArea/TextArea.tsx +3 -0
  117. package/UI/Components/Workflow/ArgumentsForm.tsx +18 -1
  118. package/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.tsx +177 -0
  119. package/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.tsx +243 -0
  120. package/UI/Components/Workflow/ColumnEditor/ColumnControl.ts +255 -0
  121. package/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.tsx +178 -0
  122. package/UI/Components/Workflow/ColumnEditor/ColumnOperators.ts +206 -0
  123. package/UI/Components/Workflow/ColumnEditor/ColumnRow.ts +157 -0
  124. package/UI/Components/Workflow/ColumnEditor/ColumnRowSerialization.ts +517 -0
  125. package/UI/Components/Workflow/ColumnEditor/ColumnValueInput.tsx +482 -0
  126. package/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.tsx +131 -0
  127. package/UI/Components/Workflow/ColumnEditor/ModelRecordForm.tsx +163 -0
  128. package/UI/Components/Workflow/ModelColumnEditor.tsx +284 -100
  129. package/UI/Utils/NetworkAutomation/RunNetworkRule.ts +122 -0
  130. package/Utils/API.ts +243 -36
  131. package/Utils/Monitor/NetworkDeviceRoleUtil.ts +45 -0
  132. package/Utils/Monitor/NetworkTopologyUtil.ts +42 -2
  133. package/Utils/NetworkAutomation/RuleRunSummary.ts +147 -0
  134. package/build/dist/Models/DatabaseModels/NetworkDevice.js +45 -0
  135. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  136. package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js +115 -0
  137. package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js.map +1 -1
  138. package/build/dist/Models/DatabaseModels/RunnerJob.js +17 -2
  139. package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -1
  140. package/build/dist/Server/API/LlmProviderAPI.js +9 -1
  141. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787400000000-AddDeviceRoleAndDeclaredLinkParent.js +33 -0
  143. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787400000000-AddDeviceRoleAndDeclaredLinkParent.js.map +1 -0
  144. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  145. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  146. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +202 -0
  147. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
  148. package/build/dist/Server/Services/NetworkDeviceLinkService.js +253 -1
  149. package/build/dist/Server/Services/NetworkDeviceLinkService.js.map +1 -1
  150. package/build/dist/Server/Services/NetworkDeviceService.js +223 -12
  151. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  152. package/build/dist/Server/Services/RunnerJobService.js +20 -2
  153. package/build/dist/Server/Services/RunnerJobService.js.map +1 -1
  154. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +12 -5
  155. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  156. package/build/dist/Server/Types/Database/JSONColumnQuery.js +40 -4
  157. package/build/dist/Server/Types/Database/JSONColumnQuery.js.map +1 -1
  158. package/build/dist/Server/Utils/LLM/LLMService.js +78 -22
  159. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  160. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +22 -98
  161. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  162. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +7 -254
  163. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  164. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +14 -2
  165. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  166. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +27 -0
  167. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  168. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +285 -0
  169. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -0
  170. package/build/dist/Server/Utils/SSRFProtection.js +5 -4
  171. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  172. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js +128 -35
  173. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js.map +1 -1
  174. package/build/dist/Types/API/Protocol.js +9 -0
  175. package/build/dist/Types/API/Protocol.js.map +1 -1
  176. package/build/dist/Types/API/URL.js +241 -18
  177. package/build/dist/Types/API/URL.js.map +1 -1
  178. package/build/dist/Types/Billing/PayAsYouGoPricing.js +41 -0
  179. package/build/dist/Types/Billing/PayAsYouGoPricing.js.map +1 -0
  180. package/build/dist/Types/CustomField/CustomFieldType.js +26 -0
  181. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  182. package/build/dist/Types/Monitor/MonitorType.js +10 -0
  183. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  184. package/build/dist/Types/NetworkAutomation/RuleRunResult.js +39 -0
  185. package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -0
  186. package/build/dist/Types/Runbook/RunbookStepType.js +21 -0
  187. package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
  188. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +1 -1
  189. package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -1
  190. package/build/dist/UI/Components/Button/Button.js +10 -16
  191. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  192. package/build/dist/UI/Components/Charts/Area/AreaChart.js +2 -1
  193. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  194. package/build/dist/UI/Components/Charts/Bar/BarChart.js +2 -1
  195. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  196. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js +12 -0
  197. package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js.map +1 -1
  198. package/build/dist/UI/Components/Charts/Line/LineChart.js +2 -1
  199. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  200. package/build/dist/UI/Components/Charts/Utils/DataPoint.js +17 -10
  201. package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
  202. package/build/dist/UI/Components/Dictionary/Dictionary.js +4 -18
  203. package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
  204. package/build/dist/UI/Components/Icon/Icon.js +1 -1
  205. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  206. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +3 -3
  207. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  208. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +5 -1
  209. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  210. package/build/dist/UI/Components/LogsViewer/components/LogsPagination.js +14 -44
  211. package/build/dist/UI/Components/LogsViewer/components/LogsPagination.js.map +1 -1
  212. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +1 -1
  213. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -1
  214. package/build/dist/UI/Components/LogsViewer/components/SavedViewsDropdown.js +20 -2
  215. package/build/dist/UI/Components/LogsViewer/components/SavedViewsDropdown.js.map +1 -1
  216. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +42 -0
  217. package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
  218. package/build/dist/UI/Components/Pagination/Pagination.js +174 -199
  219. package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
  220. package/build/dist/UI/Components/Pagination/PaginationUtil.js +160 -0
  221. package/build/dist/UI/Components/Pagination/PaginationUtil.js.map +1 -0
  222. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js +20 -2
  223. package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js.map +1 -1
  224. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryPagination.js +23 -47
  225. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryPagination.js.map +1 -1
  226. package/build/dist/UI/Components/TextArea/TextArea.js +1 -1
  227. package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
  228. package/build/dist/UI/Components/Workflow/ArgumentsForm.js +14 -2
  229. package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
  230. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.js +86 -0
  231. package/build/dist/UI/Components/Workflow/ColumnEditor/AddColumnDropdown.js.map +1 -0
  232. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.js +119 -0
  233. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnConditionRow.js.map +1 -0
  234. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnControl.js +206 -0
  235. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnControl.js.map +1 -0
  236. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.js +57 -0
  237. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnFieldRow.js.map +1 -0
  238. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnOperators.js +150 -0
  239. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnOperators.js.map +1 -0
  240. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnRow.js +67 -0
  241. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnRow.js.map +1 -0
  242. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnRowSerialization.js +309 -0
  243. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnRowSerialization.js.map +1 -0
  244. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnValueInput.js +204 -0
  245. package/build/dist/UI/Components/Workflow/ColumnEditor/ColumnValueInput.js.map +1 -0
  246. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js +66 -0
  247. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js.map +1 -0
  248. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelRecordForm.js +83 -0
  249. package/build/dist/UI/Components/Workflow/ColumnEditor/ModelRecordForm.js.map +1 -0
  250. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js +187 -68
  251. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js.map +1 -1
  252. package/build/dist/UI/Utils/NetworkAutomation/RunNetworkRule.js +75 -0
  253. package/build/dist/UI/Utils/NetworkAutomation/RunNetworkRule.js.map +1 -0
  254. package/build/dist/Utils/API.js +175 -34
  255. package/build/dist/Utils/API.js.map +1 -1
  256. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +37 -0
  257. package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -1
  258. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +25 -3
  259. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  260. package/build/dist/Utils/NetworkAutomation/RuleRunSummary.js +78 -0
  261. package/build/dist/Utils/NetworkAutomation/RuleRunSummary.js.map +1 -0
  262. package/package.json +1 -1
@@ -9,12 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Alert from "../../../Models/DatabaseModels/Alert";
11
11
  import AlertStateTimeline from "../../../Models/DatabaseModels/AlertStateTimeline";
12
- import CephCluster from "../../../Models/DatabaseModels/CephCluster";
13
- import DockerSwarmCluster from "../../../Models/DatabaseModels/DockerSwarmCluster";
14
12
  import Label from "../../../Models/DatabaseModels/Label";
15
13
  import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
16
- import ProxmoxCluster from "../../../Models/DatabaseModels/ProxmoxCluster";
17
- import IoTFleet from "../../../Models/DatabaseModels/IoTFleet";
18
14
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
19
15
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
20
16
  import BadDataException from "../../../Types/Exception/BadDataException";
@@ -24,13 +20,12 @@ import AlertService from "../../Services/AlertService";
24
20
  import AlertSeverityService from "../../Services/AlertSeverityService";
25
21
  import ProjectScopedReferenceValidator from "../Database/ProjectScopedReferenceValidator";
26
22
  import AlertStateTimelineService from "../../Services/AlertStateTimelineService";
27
- import HostService from "../../Services/HostService";
28
23
  import NetworkDeviceOwnerUserService from "../../Services/NetworkDeviceOwnerUserService";
29
- import ServiceService from "../../Services/ServiceService";
30
24
  import logger from "../Logger";
31
25
  import CaptureSpan from "../Telemetry/CaptureSpan";
32
26
  import MonitorClusterContextUtil from "./MonitorClusterContext";
33
27
  import MonitorTemplateUtil from "./MonitorTemplateUtil";
28
+ import SeriesResourceLinker from "./SeriesResourceLinker";
34
29
  import MonitorDependencySuppression from "./MonitorDependencySuppression";
35
30
  import OneUptimeDate from "../../../Types/Date";
36
31
  import MonitorSummarySnapshotUtil from "../../../Utils/Monitor/MonitorSummarySnapshotUtil";
@@ -367,102 +362,31 @@ export default class MonitorAlert {
367
362
  if (seriesLabels && Object.keys(seriesLabels).length > 0) {
368
363
  alert.seriesLabels = seriesLabels;
369
364
  /*
370
- * Link the alert to the Host that emitted this series, if
371
- * the metric carried a `host.name` resource attribute. The
372
- * Host record was auto-discovered during OTel ingestion.
373
- * Metric attributes are stored with the `resource.` prefix in
374
- * ClickHouse, so the group-by dropdown surfaces
375
- * `resource.host.name` — but accept the bare `host.name` too
376
- * for any non-OTel ingest paths.
365
+ * Attach every resource this series identifies host, docker
366
+ * host, podman host, k8s cluster, service, and the Proxmox /
367
+ * Ceph / Swarm / IoT clusters — resolved from the shared label
368
+ * key map. Same call the incident path makes, so the two can't
369
+ * drift apart again.
377
370
  */
378
- const hostName = typeof seriesLabels["resource.host.name"] === "string"
379
- ? seriesLabels["resource.host.name"]
380
- : typeof seriesLabels["host.name"] === "string"
381
- ? seriesLabels["host.name"]
382
- : undefined;
383
- if (hostName) {
384
- const host = await HostService.findOneBy({
385
- query: {
386
- projectId: input.monitor.projectId,
387
- hostIdentifier: hostName,
388
- },
389
- select: {
390
- _id: true,
391
- },
392
- props: {
393
- isRoot: true,
394
- },
395
- });
396
- if (host) {
397
- alert.hosts = [host];
398
- }
399
- }
400
- /*
401
- * Same idea for Service — OTel ingest stamps `service.name` and
402
- * auto-creates a Service row keyed by that name (see
403
- * OpenTelemetryIngestService.telemetryServiceFromName). When the
404
- * breaching series carries that attribute, link the alert to the
405
- * emitting service so the on-call/labels pipeline can fan out.
406
- */
407
- const serviceName = typeof seriesLabels["resource.service.name"] === "string"
408
- ? seriesLabels["resource.service.name"]
409
- : typeof seriesLabels["service.name"] === "string"
410
- ? seriesLabels["service.name"]
411
- : undefined;
412
- if (serviceName) {
413
- const service = await ServiceService.findOneBy({
414
- query: {
415
- projectId: input.monitor.projectId,
416
- name: serviceName,
417
- },
418
- select: {
419
- _id: true,
420
- },
421
- props: {
422
- isRoot: true,
423
- },
424
- });
425
- if (service) {
426
- alert.services = [service];
427
- }
428
- }
371
+ await SeriesResourceLinker.linkSeriesResourcesToModel({
372
+ model: alert,
373
+ seriesLabels,
374
+ projectId: input.monitor.projectId,
375
+ });
429
376
  }
430
377
  /*
431
- * Deterministic Proxmox/Ceph cluster link from the monitor's
432
- * step config (resolved once above). Series labels never carry
433
- * cluster identity for these monitor types, so this not the
434
- * label path above is what makes the per-cluster Activity
435
- * tabs and badge counts see monitor-created alerts. Runs for
436
- * both grouped and ungrouped alerts.
378
+ * Deterministic Proxmox/Ceph/Swarm/IoT cluster link from the
379
+ * monitor's step config (resolved once above). The shipped
380
+ * templates for those monitor types group by datapoint labels
381
+ * that carry no cluster identity, so this — not the label path
382
+ * above is what makes the per-cluster Activity tabs and badge
383
+ * counts see monitor-created alerts. Runs for both grouped and
384
+ * ungrouped alerts, and merges with whatever the labels resolved.
437
385
  */
438
- if (clusterContext.proxmoxClusterIds.length > 0) {
439
- alert.proxmoxClusters = clusterContext.proxmoxClusterIds.map((id) => {
440
- const cluster = new ProxmoxCluster();
441
- cluster._id = id;
442
- return cluster;
443
- });
444
- }
445
- if (clusterContext.cephClusterIds.length > 0) {
446
- alert.cephClusters = clusterContext.cephClusterIds.map((id) => {
447
- const cluster = new CephCluster();
448
- cluster._id = id;
449
- return cluster;
450
- });
451
- }
452
- if (clusterContext.dockerSwarmClusterIds.length > 0) {
453
- alert.dockerSwarmClusters = clusterContext.dockerSwarmClusterIds.map((id) => {
454
- const cluster = new DockerSwarmCluster();
455
- cluster._id = id;
456
- return cluster;
457
- });
458
- }
459
- if (clusterContext.iotFleetIds.length > 0) {
460
- alert.iotFleets = clusterContext.iotFleetIds.map((id) => {
461
- const fleet = new IoTFleet();
462
- fleet._id = id;
463
- return fleet;
464
- });
465
- }
386
+ SeriesResourceLinker.attachClusterContext({
387
+ model: alert,
388
+ clusterContext,
389
+ });
466
390
  alert.onCallDutyPolicies =
467
391
  ((_0 = criteriaAlert.onCallPolicyIds) === null || _0 === void 0 ? void 0 : _0.map((id) => {
468
392
  const onCallPolicy = new OnCallDutyPolicy();
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
@@ -7,34 +7,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import CephCluster from "../../../Models/DatabaseModels/CephCluster";
11
- import DockerSwarmCluster from "../../../Models/DatabaseModels/DockerSwarmCluster";
12
- import DockerHost from "../../../Models/DatabaseModels/DockerHost";
13
- import Host from "../../../Models/DatabaseModels/Host";
14
10
  import Incident from "../../../Models/DatabaseModels/Incident";
15
11
  import IncidentStateTimeline from "../../../Models/DatabaseModels/IncidentStateTimeline";
16
12
  import IncidentMember from "../../../Models/DatabaseModels/IncidentMember";
17
- import KubernetesCluster from "../../../Models/DatabaseModels/KubernetesCluster";
18
13
  import Label from "../../../Models/DatabaseModels/Label";
19
14
  import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
20
- import PodmanHost from "../../../Models/DatabaseModels/PodmanHost";
21
- import ProxmoxCluster from "../../../Models/DatabaseModels/ProxmoxCluster";
22
- import IoTFleet from "../../../Models/DatabaseModels/IoTFleet";
23
- import Service from "../../../Models/DatabaseModels/Service";
24
- import Includes from "../../../Types/BaseDatabase/Includes";
25
15
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
26
16
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
27
17
  import BadDataException from "../../../Types/Exception/BadDataException";
28
18
  import ObjectID from "../../../Types/ObjectID";
29
19
  import { DisableAutomaticIncidentCreation } from "../../EnvironmentConfig";
30
- import CephClusterService from "../../Services/CephClusterService";
31
- import DockerHostService from "../../Services/DockerHostService";
32
- import HostService from "../../Services/HostService";
33
20
  import IncidentService from "../../Services/IncidentService";
34
- import KubernetesClusterService from "../../Services/KubernetesClusterService";
35
- import PodmanHostService from "../../Services/PodmanHostService";
36
- import ProxmoxClusterService from "../../Services/ProxmoxClusterService";
37
- import ServiceService from "../../Services/ServiceService";
38
21
  import IncidentSeverityService from "../../Services/IncidentSeverityService";
39
22
  import ProjectScopedReferenceValidator from "../Database/ProjectScopedReferenceValidator";
40
23
  import IncidentStateTimelineService from "../../Services/IncidentStateTimelineService";
@@ -47,7 +30,7 @@ import MonitorDependencySuppression from "./MonitorDependencySuppression";
47
30
  import OneUptimeDate from "../../../Types/Date";
48
31
  import MonitorSummarySnapshotUtil from "../../../Utils/Monitor/MonitorSummarySnapshotUtil";
49
32
  import MonitorClusterContextUtil from "./MonitorClusterContext";
50
- import SeriesResourceLabels from "./SeriesResourceLabels";
33
+ import SeriesResourceLinker from "./SeriesResourceLinker";
51
34
  export default class MonitorIncident {
52
35
  static async checkOpenIncidentsAndCloseIfResolved(input) {
53
36
  var _a, _b, _c, _d, _e;
@@ -450,8 +433,8 @@ export default class MonitorIncident {
450
433
  }
451
434
  if (seriesLabels && Object.keys(seriesLabels).length > 0) {
452
435
  incident.seriesLabels = seriesLabels;
453
- await this.linkResourceContextFromSeries({
454
- incident,
436
+ await SeriesResourceLinker.linkSeriesResourcesToModel({
437
+ model: incident,
455
438
  seriesLabels,
456
439
  projectId: input.monitor.projectId,
457
440
  });
@@ -463,7 +446,10 @@ export default class MonitorIncident {
463
446
  * path resolved, so the per-cluster Activity tabs always see
464
447
  * monitor-created incidents.
465
448
  */
466
- this.attachClusterContext({ incident, clusterContext });
449
+ SeriesResourceLinker.attachClusterContext({
450
+ model: incident,
451
+ clusterContext,
452
+ });
467
453
  incident.onCallDutyPolicies =
468
454
  ((_6 = criteriaIncident.onCallPolicyIds) === null || _6 === void 0 ? void 0 : _6.map((id) => {
469
455
  const onCallPolicy = new OnCallDutyPolicy();
@@ -596,239 +582,6 @@ export default class MonitorIncident {
596
582
  }
597
583
  return mergedIds;
598
584
  }
599
- /*
600
- * Pull every host / docker-host / k8s-cluster / proxmox-cluster /
601
- * ceph-cluster / service identifier out of the series labels and
602
- * attach the matching project-scoped records to the incident. The
603
- * label-key → resource-type mapping lives in SeriesResourceLabels
604
- * (shared with the scheduled-maintenance suppression path so the two
605
- * never disagree about which labels identify which resource). Lookups
606
- * are always project-scoped so a stale or hostile stamp can't pull in
607
- * a record from another tenant.
608
- */
609
- static async linkResourceContextFromSeries(input) {
610
- const refs = SeriesResourceLabels.extractResourceRefs(input.seriesLabels);
611
- const [resolvedHosts, resolvedDockerHosts, resolvedPodmanHosts, resolvedClusters, resolvedServices, resolvedProxmoxClusters, resolvedCephClusters,] = await Promise.all([
612
- this.resolveResourceIds({
613
- ids: refs.hostIds,
614
- names: refs.hostNames,
615
- nameColumn: "hostIdentifier",
616
- projectId: input.projectId,
617
- findBy: HostService.findBy.bind(HostService),
618
- }),
619
- this.resolveResourceIds({
620
- ids: refs.dockerHostIds,
621
- names: refs.dockerHostNames,
622
- nameColumn: "hostIdentifier",
623
- projectId: input.projectId,
624
- findBy: DockerHostService.findBy.bind(DockerHostService),
625
- }),
626
- this.resolveResourceIds({
627
- ids: refs.podmanHostIds,
628
- names: refs.podmanHostNames,
629
- nameColumn: "hostIdentifier",
630
- projectId: input.projectId,
631
- findBy: PodmanHostService.findBy.bind(PodmanHostService),
632
- }),
633
- this.resolveResourceIds({
634
- ids: refs.kubernetesClusterIds,
635
- names: refs.kubernetesClusterNames,
636
- nameColumn: "clusterIdentifier",
637
- projectId: input.projectId,
638
- findBy: KubernetesClusterService.findBy.bind(KubernetesClusterService),
639
- }),
640
- this.resolveResourceIds({
641
- ids: refs.serviceIds,
642
- names: refs.serviceNames,
643
- nameColumn: "name",
644
- projectId: input.projectId,
645
- findBy: ServiceService.findBy.bind(ServiceService),
646
- }),
647
- this.resolveResourceIds({
648
- ids: [],
649
- names: refs.proxmoxClusterNames,
650
- nameColumn: "name",
651
- projectId: input.projectId,
652
- findBy: ProxmoxClusterService.findBy.bind(ProxmoxClusterService),
653
- }),
654
- this.resolveResourceIds({
655
- ids: [],
656
- names: refs.cephClusterNames,
657
- nameColumn: "name",
658
- projectId: input.projectId,
659
- findBy: CephClusterService.findBy.bind(CephClusterService),
660
- }),
661
- ]);
662
- if (resolvedHosts.length > 0) {
663
- input.incident.hosts = resolvedHosts.map((id) => {
664
- const host = new Host();
665
- host._id = id;
666
- return host;
667
- });
668
- }
669
- if (resolvedDockerHosts.length > 0) {
670
- input.incident.dockerHosts = resolvedDockerHosts.map((id) => {
671
- const dockerHost = new DockerHost();
672
- dockerHost._id = id;
673
- return dockerHost;
674
- });
675
- }
676
- if (resolvedPodmanHosts.length > 0) {
677
- input.incident.podmanHosts = resolvedPodmanHosts.map((id) => {
678
- const podmanHost = new PodmanHost();
679
- podmanHost._id = id;
680
- return podmanHost;
681
- });
682
- }
683
- if (resolvedClusters.length > 0) {
684
- input.incident.kubernetesClusters = resolvedClusters.map((id) => {
685
- const cluster = new KubernetesCluster();
686
- cluster._id = id;
687
- return cluster;
688
- });
689
- }
690
- if (resolvedServices.length > 0) {
691
- input.incident.services = resolvedServices.map((id) => {
692
- const service = new Service();
693
- service._id = id;
694
- return service;
695
- });
696
- }
697
- if (resolvedProxmoxClusters.length > 0) {
698
- input.incident.proxmoxClusters = resolvedProxmoxClusters.map((id) => {
699
- const cluster = new ProxmoxCluster();
700
- cluster._id = id;
701
- return cluster;
702
- });
703
- }
704
- if (resolvedCephClusters.length > 0) {
705
- input.incident.cephClusters = resolvedCephClusters.map((id) => {
706
- const cluster = new CephCluster();
707
- cluster._id = id;
708
- return cluster;
709
- });
710
- }
711
- }
712
- /*
713
- * Attach the monitor-step-resolved Proxmox/Ceph cluster ids to the
714
- * incident, merging with (never overwriting) anything the
715
- * series-label path already linked. Both paths can resolve the same
716
- * cluster, so dedupe by id.
717
- */
718
- static attachClusterContext(input) {
719
- if (input.clusterContext.proxmoxClusterIds.length > 0) {
720
- const existingIds = new Set((input.incident.proxmoxClusters || []).map((cluster) => {
721
- return String(cluster._id);
722
- }));
723
- const merged = [
724
- ...(input.incident.proxmoxClusters || []),
725
- ];
726
- for (const id of input.clusterContext.proxmoxClusterIds) {
727
- if (existingIds.has(id)) {
728
- continue;
729
- }
730
- const cluster = new ProxmoxCluster();
731
- cluster._id = id;
732
- merged.push(cluster);
733
- }
734
- input.incident.proxmoxClusters = merged;
735
- }
736
- if (input.clusterContext.cephClusterIds.length > 0) {
737
- const existingIds = new Set((input.incident.cephClusters || []).map((cluster) => {
738
- return String(cluster._id);
739
- }));
740
- const merged = [
741
- ...(input.incident.cephClusters || []),
742
- ];
743
- for (const id of input.clusterContext.cephClusterIds) {
744
- if (existingIds.has(id)) {
745
- continue;
746
- }
747
- const cluster = new CephCluster();
748
- cluster._id = id;
749
- merged.push(cluster);
750
- }
751
- input.incident.cephClusters = merged;
752
- }
753
- if (input.clusterContext.dockerSwarmClusterIds.length > 0) {
754
- const existingIds = new Set((input.incident.dockerSwarmClusters || []).map((cluster) => {
755
- return String(cluster._id);
756
- }));
757
- const merged = [
758
- ...(input.incident.dockerSwarmClusters || []),
759
- ];
760
- for (const id of input.clusterContext.dockerSwarmClusterIds) {
761
- if (existingIds.has(id)) {
762
- continue;
763
- }
764
- const cluster = new DockerSwarmCluster();
765
- cluster._id = id;
766
- merged.push(cluster);
767
- }
768
- input.incident.dockerSwarmClusters = merged;
769
- }
770
- if (input.clusterContext.iotFleetIds.length > 0) {
771
- const existingIds = new Set((input.incident.iotFleets || []).map((fleet) => {
772
- return String(fleet._id);
773
- }));
774
- const merged = [...(input.incident.iotFleets || [])];
775
- for (const id of input.clusterContext.iotFleetIds) {
776
- if (existingIds.has(id)) {
777
- continue;
778
- }
779
- const fleet = new IoTFleet();
780
- fleet._id = id;
781
- merged.push(fleet);
782
- }
783
- input.incident.iotFleets = merged;
784
- }
785
- }
786
- /*
787
- * Resolve a mix of ids and names to a deduped set of database ids
788
- * for one resource type, project-scoped. Either or both lists may
789
- * be empty; if both are empty the method short-circuits with no DB
790
- * round-trip.
791
- */
792
- static async resolveResourceIds(input) {
793
- if (input.ids.length === 0 && input.names.length === 0) {
794
- return [];
795
- }
796
- const resolved = new Set();
797
- const lookups = [];
798
- if (input.ids.length > 0) {
799
- lookups.push(input.findBy({
800
- query: {
801
- projectId: input.projectId,
802
- _id: new Includes(input.ids),
803
- },
804
- select: { _id: true },
805
- skip: 0,
806
- limit: LIMIT_PER_PROJECT,
807
- props: { isRoot: true },
808
- }));
809
- }
810
- if (input.names.length > 0) {
811
- lookups.push(input.findBy({
812
- query: {
813
- projectId: input.projectId,
814
- [input.nameColumn]: new Includes(input.names),
815
- },
816
- select: { _id: true },
817
- skip: 0,
818
- limit: LIMIT_PER_PROJECT,
819
- props: { isRoot: true },
820
- }));
821
- }
822
- const buckets = await Promise.all(lookups);
823
- for (const bucket of buckets) {
824
- for (const row of bucket) {
825
- if (row._id) {
826
- resolved.add(String(row._id));
827
- }
828
- }
829
- }
830
- return Array.from(resolved);
831
- }
832
585
  static async resolveOpenIncident(input) {
833
586
  var _a;
834
587
  const resolvedStateId = await IncidentStateTimelineService.getResolvedStateIdForProject(input.openIncident.projectId);