@oneuptime/common 12.0.8 → 12.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 (769) hide show
  1. package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +1 -1
  2. package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +1 -1
  3. package/Models/DatabaseModels/AIConversation.ts +32 -0
  4. package/Models/DatabaseModels/AIConversationMessage.ts +41 -0
  5. package/Models/DatabaseModels/AlertEpisodeMember.ts +27 -0
  6. package/Models/DatabaseModels/IncidentEpisodeMember.ts +28 -0
  7. package/Models/DatabaseModels/Index.ts +12 -4
  8. package/Models/DatabaseModels/{TelemetryEntity.ts → InventoryItem.ts} +139 -9
  9. package/Models/DatabaseModels/InventoryItemCustomField.ts +434 -0
  10. package/Models/DatabaseModels/{TelemetryEntityRelationship.ts → InventoryItemRelationship.ts} +8 -8
  11. package/Models/DatabaseModels/NetworkDevice.ts +141 -0
  12. package/Models/DatabaseModels/NetworkDeviceLink.ts +699 -0
  13. package/Models/DatabaseModels/NetworkDeviceLinkRule.ts +467 -0
  14. package/Models/DatabaseModels/NetworkTopologySuppression.ts +429 -0
  15. package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +9 -0
  16. package/Models/DatabaseModels/Project.ts +78 -0
  17. package/Models/DatabaseModels/UserCall.ts +42 -0
  18. package/Models/DatabaseModels/UserEmail.ts +44 -0
  19. package/Models/DatabaseModels/UserNotificationRule.ts +425 -55
  20. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +24 -2
  21. package/Models/DatabaseModels/UserPush.ts +49 -0
  22. package/Models/DatabaseModels/UserSMS.ts +43 -0
  23. package/Models/DatabaseModels/UserTelegram.ts +59 -0
  24. package/Models/DatabaseModels/UserWebhook.ts +52 -0
  25. package/Models/DatabaseModels/UserWhatsApp.ts +41 -0
  26. package/Models/DatabaseModels/WorkflowVariable.ts +12 -0
  27. package/Server/API/AIChatAPI.ts +315 -1
  28. package/Server/API/DashboardAPI.ts +217 -1
  29. package/Server/API/OnCallReadinessAPI.ts +841 -0
  30. package/Server/API/TeamComplianceAPI.ts +69 -17
  31. package/Server/API/TelemetryAPI.ts +220 -12
  32. package/Server/EnvironmentConfig.ts +52 -0
  33. package/Server/Infrastructure/Postgres/DataSourceOptions.ts +22 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +4 -4
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +5 -5
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.ts +35 -0
  37. package/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.ts +82 -0
  38. package/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.ts +91 -0
  39. package/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.ts +47 -0
  40. package/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.ts +255 -0
  41. package/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.ts +107 -0
  42. package/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.ts +90 -0
  43. package/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.ts +39 -0
  44. package/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.ts +33 -0
  45. package/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.ts +59 -0
  46. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  47. package/Server/Infrastructure/Queue.ts +78 -13
  48. package/Server/Middleware/PublicDashboardRateLimit.ts +593 -0
  49. package/Server/Services/AIService.ts +7 -0
  50. package/Server/Services/AlertEpisodeStateTimelineService.ts +29 -0
  51. package/Server/Services/AlertSeverityService.ts +63 -0
  52. package/Server/Services/DashboardService.ts +9 -10
  53. package/Server/Services/DatabaseService.ts +32 -2
  54. package/Server/Services/IncidentEpisodeStateTimelineService.ts +29 -0
  55. package/Server/Services/IncidentSeverityService.ts +76 -0
  56. package/Server/Services/Index.ts +12 -4
  57. package/Server/Services/InventoryItemCustomFieldService.ts +9 -0
  58. package/Server/Services/{TelemetryEntityRelationshipService.ts → InventoryItemRelationshipService.ts} +4 -4
  59. package/Server/Services/{TelemetryEntityService.ts → InventoryItemService.ts} +89 -20
  60. package/Server/Services/LogAggregationService.ts +45 -8
  61. package/Server/Services/MetricAggregationService.ts +121 -0
  62. package/Server/Services/MetricService.ts +7 -7
  63. package/Server/Services/NetworkDeviceLinkRuleService.ts +10 -0
  64. package/Server/Services/NetworkDeviceLinkService.ts +84 -0
  65. package/Server/Services/NetworkDeviceService.ts +140 -0
  66. package/Server/Services/NetworkSiteService.ts +77 -25
  67. package/Server/Services/NetworkTopologySuppressionService.ts +84 -0
  68. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +41 -29
  69. package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +8 -0
  70. package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +62 -13
  71. package/Server/Services/OnCallDutyPolicyScheduleService.ts +61 -1
  72. package/Server/Services/OnCallNotificationAlertingService.ts +742 -0
  73. package/Server/Services/OnCallReadinessService.ts +2803 -0
  74. package/Server/Services/OnCallSetupReminderService.ts +955 -0
  75. package/Server/Services/ProfileAggregationService.ts +123 -0
  76. package/Server/Services/StatusPageService.ts +9 -10
  77. package/Server/Services/TeamComplianceService.ts +429 -252
  78. package/Server/Services/UserCallService.ts +26 -1
  79. package/Server/Services/UserEmailService.ts +26 -1
  80. package/Server/Services/UserNotificationRuleAdminService.ts +1183 -0
  81. package/Server/Services/UserNotificationRuleService.ts +3812 -333
  82. package/Server/Services/UserOnCallLogService.ts +561 -48
  83. package/Server/Services/UserPushService.ts +29 -0
  84. package/Server/Services/UserService.ts +11 -0
  85. package/Server/Services/UserSmsService.ts +26 -1
  86. package/Server/Services/UserTelegramService.ts +24 -1
  87. package/Server/Services/UserWebhookService.ts +28 -1
  88. package/Server/Services/UserWhatsAppService.ts +24 -1
  89. package/Server/Types/Database/Permissions/BasePermission.ts +19 -0
  90. package/Server/Types/Database/Permissions/CreatePermission.ts +164 -0
  91. package/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.ts +340 -0
  92. package/Server/Types/Database/Permissions/QueryPermission.ts +48 -0
  93. package/Server/Types/Database/Permissions/TenantPermission.ts +8 -1
  94. package/Server/Types/Workflow/Components/API/Delete.ts +1 -1
  95. package/Server/Types/Workflow/Components/API/Get.ts +1 -1
  96. package/Server/Types/Workflow/Components/API/Patch.ts +1 -1
  97. package/Server/Types/Workflow/Components/API/Post.ts +1 -1
  98. package/Server/Types/Workflow/Components/API/Put.ts +1 -1
  99. package/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.ts +29 -5
  100. package/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.ts +18 -10
  101. package/Server/Types/Workflow/Components/BaseModel/ModelArguments.ts +55 -0
  102. package/Server/Types/Workflow/Components/Conditions/IfElse.ts +3 -17
  103. package/Server/Types/Workflow/Components/Email.ts +25 -7
  104. package/Server/Types/Workflow/Components/JavaScript.ts +10 -3
  105. package/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.ts +1 -1
  106. package/Server/Utils/AI/Chat/ChatAgentRunner.ts +643 -48
  107. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +32 -3
  108. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +20 -6
  109. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +7 -0
  110. package/Server/Utils/AI/Toolbox/AIActionTools.ts +2 -2
  111. package/Server/Utils/AI/Toolbox/AIMetaTools.ts +863 -0
  112. package/Server/Utils/AI/Toolbox/AlertTools.ts +177 -15
  113. package/Server/Utils/AI/Toolbox/IncidentTools.ts +191 -10
  114. package/Server/Utils/AI/Toolbox/Index.ts +48 -0
  115. package/Server/Utils/AI/Toolbox/MonitorTools.ts +298 -11
  116. package/Server/Utils/AI/Toolbox/NoteWriteTools.ts +295 -0
  117. package/Server/Utils/AI/Toolbox/OnCallTools.ts +1246 -0
  118. package/Server/Utils/AI/Toolbox/RunbookTools.ts +424 -0
  119. package/Server/Utils/AI/Toolbox/SloTools.ts +456 -0
  120. package/Server/Utils/AI/Toolbox/StatusPageTools.ts +559 -0
  121. package/Server/Utils/AI/Toolbox/TeamTools.ts +327 -0
  122. package/Server/Utils/AI/Toolbox/TimelineTools.ts +615 -0
  123. package/Server/Utils/AI/Toolbox/WorkflowProbeTools.ts +664 -0
  124. package/Server/Utils/ClientIp.ts +221 -0
  125. package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +47 -0
  126. package/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.ts +163 -0
  127. package/Server/Utils/Dashboard/PublicDashboardSloWidget.ts +147 -0
  128. package/Server/Utils/Express.ts +12 -17
  129. package/Server/Utils/LLM/LLMService.ts +85 -8
  130. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +204 -10
  131. package/Server/Utils/SSRFProtection.ts +98 -23
  132. package/Server/Utils/StartServer.ts +12 -3
  133. package/Server/Utils/Telemetry/EntityRegistry.ts +205 -18
  134. package/Server/Utils/Telemetry/InventoryEntityRegistry.ts +25 -25
  135. package/Server/Utils/Telemetry/TelemetryEntity.ts +160 -52
  136. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +7 -3
  137. package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +2146 -0
  138. package/Tests/App/Dashboard/CreateWorkflowModal.test.tsx +561 -0
  139. package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +2470 -0
  140. package/Tests/App/Dashboard/OnCallPreventionGuards.test.tsx +1897 -0
  141. package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3606 -0
  142. package/Tests/App/Dashboard/OnCallRulesDeleteGuard.test.tsx +784 -0
  143. package/Tests/App/Dashboard/OnCallRulesTable.test.tsx +1119 -0
  144. package/Tests/App/Dashboard/SloWidgetFetching.test.tsx +531 -0
  145. package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +1312 -0
  146. package/Tests/App/Dashboard/UserSettingsSetupChecklistPage.test.tsx +1390 -0
  147. package/Tests/Models/InventoryItemModel.test.ts +174 -0
  148. package/Tests/Models/InventoryItemNaming.test.ts +302 -0
  149. package/Tests/Server/API/AIChatCancelAndFeedback.test.ts +437 -0
  150. package/Tests/Server/API/DashboardPublicRateLimit.test.ts +659 -0
  151. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +18 -0
  152. package/Tests/Server/API/DashboardPublicSloAPI.test.ts +880 -0
  153. package/Tests/Server/API/Helpers.ts +24 -15
  154. package/Tests/Server/API/OnCallReadinessAPI.test.ts +2680 -0
  155. package/Tests/Server/API/OnCallSetupReminderAPI.test.ts +915 -0
  156. package/Tests/Server/Infrastructure/Postgres/EpisodeMemberNotifyIndexesMigration.test.ts +533 -0
  157. package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +213 -0
  158. package/Tests/Server/Infrastructure/Postgres/RenameInventoryItemMigration.test.ts +432 -0
  159. package/Tests/Server/Infrastructure/Queue.test.ts +293 -0
  160. package/Tests/Server/Middleware/PublicDashboardRateLimit.test.ts +1645 -0
  161. package/Tests/Server/Services/AdminRuleEditGuards.test.ts +2848 -0
  162. package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1393 -0
  163. package/Tests/Server/Services/EpisodeRuleSeverityRepair.test.ts +1802 -0
  164. package/Tests/Server/Services/EpisodeStateTimelineNote.test.ts +304 -0
  165. package/Tests/Server/Services/InventoryItemDisplayName.test.ts +339 -0
  166. package/Tests/Server/Services/{TelemetryEntityManualCreate.test.ts → InventoryItemManualCreate.test.ts} +27 -27
  167. package/Tests/Server/Services/IpAllowlistSpoofing.test.ts +450 -0
  168. package/Tests/Server/Services/LogAggregationService.test.ts +235 -1
  169. package/Tests/Server/Services/MetricAggregationService.test.ts +231 -0
  170. package/Tests/Server/Services/MetricEntityMVKeyParity.test.ts +80 -29
  171. package/Tests/Server/Services/MetricServiceAggregate.test.ts +30 -30
  172. package/Tests/Server/Services/NetworkSiteService.test.ts +18 -3
  173. package/Tests/Server/Services/NotificationChannelEventCoverage.test.ts +1728 -0
  174. package/Tests/Server/Services/NotificationDeletionImpact.test.ts +2402 -0
  175. package/Tests/Server/Services/OnCallDutyPolicyExecutionLogTimelineGapFeed.test.ts +394 -0
  176. package/Tests/Server/Services/OnCallNotificationFallback.test.ts +1744 -0
  177. package/Tests/Server/Services/OnCallReadinessService.test.ts +4295 -0
  178. package/Tests/Server/Services/OnCallSetupReminder.test.ts +1272 -0
  179. package/Tests/Server/Services/OnCallWeeklyReadinessDigest.test.ts +1021 -0
  180. package/Tests/Server/Services/ProfileAggregationService.test.ts +296 -0
  181. package/Tests/Server/Services/SeverityCreationRuleBackfill.test.ts +1536 -0
  182. package/Tests/Server/Services/SeverityRuleBackfill.test.ts +1818 -0
  183. package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +1845 -0
  184. package/Tests/Server/Services/UserNotificationRuleAdminGuards.test.ts +1394 -0
  185. package/Tests/Server/Services/UserNotificationRuleDefaultCreation.test.ts +1166 -0
  186. package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1468 -0
  187. package/Tests/Server/Services/UserOnCallLogNoNotificationRules.test.ts +1457 -0
  188. package/Tests/Server/Types/Database/Permissions/AdminNotificationRuleAccess.test.ts +1546 -0
  189. package/Tests/Server/Types/Database/Permissions/CreateOwnershipScoping.test.ts +529 -0
  190. package/Tests/Server/Types/Database/Permissions/OwnerOnlyColumns.test.ts +1219 -0
  191. package/Tests/Server/Types/Database/Permissions/UserNotificationRuleScoping.test.ts +1089 -0
  192. package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +2 -1
  193. package/Tests/Server/Types/Workflow/Components/BaseModelDatabaseComponents.test.ts +190 -0
  194. package/Tests/Server/Types/Workflow/Components/ChatWebhookComponents.test.ts +44 -14
  195. package/Tests/Server/Types/Workflow/Components/Email.test.ts +151 -0
  196. package/Tests/Server/Types/Workflow/Components/IfElse.test.ts +98 -0
  197. package/Tests/Server/Types/Workflow/Components/JavaScript.test.ts +51 -0
  198. package/Tests/Server/Utils/AI/AIMetaTools.test.ts +586 -0
  199. package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +582 -0
  200. package/Tests/Server/Utils/AI/ChatAgentRunner.test.ts +726 -0
  201. package/Tests/Server/Utils/AI/IncidentToolsFilters.test.ts +315 -0
  202. package/Tests/Server/Utils/AI/LLMServiceStopReason.test.ts +314 -0
  203. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +26 -3
  204. package/Tests/Server/Utils/AI/NoteWriteTools.test.ts +268 -0
  205. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +169 -0
  206. package/Tests/Server/Utils/AI/OnCallTools.test.ts +664 -0
  207. package/Tests/Server/Utils/AI/RunbookTools.test.ts +325 -0
  208. package/Tests/Server/Utils/AI/SloTools.test.ts +306 -0
  209. package/Tests/Server/Utils/AI/StatusPageTools.test.ts +391 -0
  210. package/Tests/Server/Utils/AI/TeamTools.test.ts +257 -0
  211. package/Tests/Server/Utils/AI/TimelineTools.test.ts +472 -0
  212. package/Tests/Server/Utils/AI/WorkflowProbeTools.test.ts +428 -0
  213. package/Tests/Server/Utils/ClientIp.test.ts +438 -0
  214. package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +171 -0
  215. package/Tests/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.test.ts +383 -0
  216. package/Tests/Server/Utils/EntityRegistryRowFence.test.ts +23 -25
  217. package/Tests/Server/Utils/MicrosoftTeamsWebhookUrlValidation.test.ts +6 -0
  218. package/Tests/Server/Utils/Monitor/Criteria/DnssecMonitorCriteria.test.ts +307 -0
  219. package/Tests/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.test.ts +468 -0
  220. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorTelemetryDeepLinks.test.ts +460 -0
  221. package/Tests/Server/Utils/ResponseRateLimitStatusCodes.test.ts +137 -0
  222. package/Tests/Server/Utils/SSRFProtectionBypasses.test.ts +40 -8
  223. package/Tests/Server/Utils/SSRFProtectionUserInfo.test.ts +351 -0
  224. package/Tests/Server/Utils/Telemetry/EntityRegistryRetirement.test.ts +531 -0
  225. package/Tests/Server/Utils/Telemetry/InventoryEntityRegistry.test.ts +15 -15
  226. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +356 -39
  227. package/Tests/Types/IP/IP.test.ts +263 -0
  228. package/Tests/Types/IP/IPWhitelist.test.ts +197 -0
  229. package/Tests/Types/IP/IPv6.test.ts +12 -1
  230. package/Tests/Types/Monitor/SnmpOid.test.ts +64 -0
  231. package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +110 -0
  232. package/Tests/Types/OnCallDutyPolicy/LayerUtilMergeAudit.test.ts +106 -0
  233. package/Tests/Types/OnCallDutyPolicy/LayerUtilMergeDifferential.test.ts +511 -0
  234. package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageEndToEnd.test.ts +489 -0
  235. package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageGapTolerance.test.ts +479 -0
  236. package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageState.test.ts +822 -0
  237. package/Tests/Types/Telemetry/EntityTypeGroups.test.ts +6 -6
  238. package/Tests/Types/Workflow/BaseModelComponents.test.ts +429 -0
  239. package/Tests/Types/Workflow/Components/BaseModel.test.ts +225 -0
  240. package/Tests/Types/Workflow/IntegrationCredentialMetadata.test.ts +100 -0
  241. package/Tests/Types/Workflow/TemplateSyntax.test.ts +112 -0
  242. package/Tests/Types/Workflow/Templates.test.ts +916 -101
  243. package/Tests/UI/Components/ActiveFilterChipsOpenRoute.test.tsx +82 -0
  244. package/Tests/UI/Components/ComponentsModal.test.tsx +564 -7
  245. package/Tests/UI/Components/KeyboardShortcut.test.tsx +95 -0
  246. package/Tests/UI/Components/LogDetailsPanelCrossSignal.test.tsx +448 -0
  247. package/Tests/UI/Components/LogsTableCrossLinks.test.tsx +263 -0
  248. package/Tests/UI/Components/PendingProjectInvitations.test.tsx +913 -0
  249. package/Tests/UI/Components/SimpleLogViewer.test.tsx +228 -0
  250. package/Tests/UI/Components/TableRowSelectability.test.tsx +312 -0
  251. package/Tests/UI/Components/Workflow/GraphLint.test.ts +72 -0
  252. package/Tests/UI/Components/Workflow/GraphLintSummary.test.ts +755 -0
  253. package/Tests/UI/Components/Workflow/ModelColumnEditor.test.ts +242 -7
  254. package/Tests/UI/Components/Workflow/ModelColumnEditorServerContract.test.ts +15 -7
  255. package/Tests/UI/Components/Workflow/ModelSchema.test.ts +242 -28
  256. package/Tests/UI/Components/Workflow/RunStatusWatcher.test.ts +59 -1
  257. package/Tests/UI/Components/Workflow/StepTraceViewer.test.tsx +256 -0
  258. package/Tests/UI/Components/Workflow/UseRunWatch.test.tsx +665 -0
  259. package/Tests/UI/Components/Workflow/WorkflowIssuesModal.test.tsx +485 -0
  260. package/Tests/UI/Components/Workflow/WorkflowLogModal.test.tsx +478 -0
  261. package/Tests/UI/Components/Workflow/WorkflowStatusBar.test.tsx +379 -0
  262. package/Tests/UI/EsbuildConfig.test.ts +607 -0
  263. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +5 -0
  264. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +11 -4
  265. package/Tests/UI/Utils/ModelAPICreateMiscData.test.ts +94 -0
  266. package/Tests/UI/Utils/Platform.test.ts +147 -0
  267. package/Tests/UI/Utils/ProjectInvitationDisplay.test.ts +357 -0
  268. package/Tests/Utils/Monitor/NetworkDeviceLinkRuleUtil.test.ts +198 -0
  269. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +487 -0
  270. package/Tests/Utils/Telemetry/CrossSignalScope.test.ts +698 -0
  271. package/Tests/__mocks__/bullmq.js +55 -0
  272. package/Types/AI/AIChatMessageStatus.ts +8 -1
  273. package/Types/AI/AIChatTypes.ts +12 -0
  274. package/Types/Database/AccessControl/OwnerOnlyColumn.ts +88 -0
  275. package/Types/Exception/ExceptionCode.ts +2 -0
  276. package/Types/Exception/ServiceUnavailableException.ts +8 -0
  277. package/Types/Exception/TooManyRequestsException.ts +8 -0
  278. package/Types/IP/IP.ts +93 -47
  279. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +49 -3
  280. package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +55 -0
  281. package/Types/OnCallDutyPolicy/Layer.ts +203 -149
  282. package/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.ts +13 -0
  283. package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +155 -10
  284. package/Types/Permission.ts +193 -0
  285. package/Types/Telemetry/EntityRelationshipType.ts +1 -1
  286. package/Types/Telemetry/EntitySource.ts +1 -1
  287. package/Types/Telemetry/EntityType.ts +1 -1
  288. package/Types/Telemetry/EntityTypeGroups.ts +1 -1
  289. package/Types/Workflow/Components/BaseModel.ts +75 -29
  290. package/Types/Workflow/Components/Discord.ts +1 -0
  291. package/Types/Workflow/Components/Email.ts +12 -3
  292. package/Types/Workflow/Components/JavaScript.ts +7 -0
  293. package/Types/Workflow/Components/MicrosoftTeams.ts +3 -2
  294. package/Types/Workflow/Components/Slack.ts +1 -0
  295. package/Types/Workflow/Components/Telegram.ts +1 -0
  296. package/Types/Workflow/TemplateSyntax.ts +44 -0
  297. package/Types/Workflow/Templates.ts +2097 -45
  298. package/UI/Components/Calendar/Calendar.css +43 -0
  299. package/UI/Components/Calendar/Calendar.tsx +8 -0
  300. package/UI/Components/Card/Card.tsx +2 -2
  301. package/UI/Components/Checkbox/Checkbox.tsx +16 -0
  302. package/UI/Components/Dictionary/Dictionary.tsx +48 -9
  303. package/UI/Components/FormModal/BasicFormModal.tsx +2 -1
  304. package/UI/Components/Header/HeaderIconDropdownButton.tsx +53 -3
  305. package/UI/Components/Input/Input.tsx +1 -0
  306. package/UI/Components/KeyboardShortcut/KeyboardKey.ts +185 -0
  307. package/UI/Components/KeyboardShortcut/KeyboardShortcut.tsx +87 -0
  308. package/UI/Components/LogsViewer/LogsViewer.tsx +28 -0
  309. package/UI/Components/LogsViewer/components/ActiveFilterChips.tsx +31 -0
  310. package/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.tsx +18 -18
  311. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +363 -14
  312. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +11 -0
  313. package/UI/Components/LogsViewer/components/LogsTable.tsx +155 -12
  314. package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +29 -0
  315. package/UI/Components/LogsViewer/types.ts +23 -0
  316. package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +9 -2
  317. package/UI/Components/Navbar/NavBarMenuModal.tsx +15 -30
  318. package/UI/Components/ProjectInvitations/PendingProjectInvitations.tsx +442 -0
  319. package/UI/Components/SimpleLogViewer/SimpleLogViewer.tsx +23 -1
  320. package/UI/Components/Table/Table.tsx +49 -16
  321. package/UI/Components/Table/TableBody.tsx +53 -28
  322. package/UI/Components/Table/TableHeader.tsx +13 -0
  323. package/UI/Components/Table/TableRow.tsx +58 -26
  324. package/UI/Components/Workflow/ArgumentsForm.tsx +155 -9
  325. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +26 -0
  326. package/UI/Components/Workflow/ComponentSettingsModal.tsx +10 -1
  327. package/UI/Components/Workflow/ComponentValuePickerModal.tsx +135 -7
  328. package/UI/Components/Workflow/ComponentsModal.tsx +116 -22
  329. package/UI/Components/Workflow/DocumentationViewer.tsx +59 -9
  330. package/UI/Components/Workflow/GraphLint.ts +42 -5
  331. package/UI/Components/Workflow/GraphLintSummary.ts +390 -0
  332. package/UI/Components/Workflow/ModelColumnEditor.tsx +154 -22
  333. package/UI/Components/Workflow/ModelSchema.ts +115 -33
  334. package/UI/Components/Workflow/RunStatusWatcher.ts +1 -1
  335. package/UI/Components/Workflow/StepTraceViewer.tsx +1 -1
  336. package/UI/Components/Workflow/UseRunWatch.ts +212 -0
  337. package/UI/Components/Workflow/VariableModal.tsx +6 -2
  338. package/UI/Components/Workflow/Workflow.tsx +49 -3
  339. package/UI/Components/Workflow/WorkflowIssuesModal.tsx +255 -0
  340. package/UI/Components/Workflow/WorkflowLogModal.tsx +128 -0
  341. package/UI/Components/Workflow/WorkflowStatusBar.tsx +224 -0
  342. package/UI/Utils/AIChatExport/ConversationMarkdown.ts +10 -0
  343. package/UI/Utils/ModelAPI/ModelAPI.ts +7 -1
  344. package/UI/Utils/Platform.ts +149 -0
  345. package/UI/Utils/ProjectInvitationDisplay.ts +118 -0
  346. package/UI/esbuild-config.js +22 -1
  347. package/Utils/Monitor/NetworkDeviceLinkRuleUtil.ts +187 -0
  348. package/Utils/Monitor/NetworkTopologyUtil.ts +888 -164
  349. package/Utils/Telemetry/CrossSignalScope.ts +502 -0
  350. package/Utils/Telemetry/EntityKey.ts +5 -5
  351. package/Utils/Telemetry/EntityRelationship.ts +1 -1
  352. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +1 -1
  353. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +1 -1
  354. package/build/dist/Models/DatabaseModels/AIConversation.js +32 -0
  355. package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -1
  356. package/build/dist/Models/DatabaseModels/AIConversationMessage.js +42 -0
  357. package/build/dist/Models/DatabaseModels/AIConversationMessage.js.map +1 -1
  358. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +28 -0
  359. package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
  360. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +29 -0
  361. package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
  362. package/build/dist/Models/DatabaseModels/Index.js +12 -4
  363. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  364. package/build/dist/Models/DatabaseModels/{TelemetryEntity.js → InventoryItem.js} +167 -31
  365. package/build/dist/Models/DatabaseModels/InventoryItem.js.map +1 -0
  366. package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js +454 -0
  367. package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js.map +1 -0
  368. package/build/dist/Models/DatabaseModels/{TelemetryEntityRelationship.js → InventoryItemRelationship.js} +27 -27
  369. package/build/dist/Models/DatabaseModels/InventoryItemRelationship.js.map +1 -0
  370. package/build/dist/Models/DatabaseModels/NetworkDevice.js +141 -0
  371. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  372. package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js +719 -0
  373. package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js.map +1 -0
  374. package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js +475 -0
  375. package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js.map +1 -0
  376. package/build/dist/Models/DatabaseModels/NetworkTopologySuppression.js +446 -0
  377. package/build/dist/Models/DatabaseModels/NetworkTopologySuppression.js.map +1 -0
  378. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +9 -0
  379. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
  380. package/build/dist/Models/DatabaseModels/Project.js +80 -0
  381. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  382. package/build/dist/Models/DatabaseModels/UserCall.js +46 -2
  383. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  384. package/build/dist/Models/DatabaseModels/UserEmail.js +48 -2
  385. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  386. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +424 -55
  387. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  388. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +24 -2
  389. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  390. package/build/dist/Models/DatabaseModels/UserPush.js +51 -1
  391. package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
  392. package/build/dist/Models/DatabaseModels/UserSMS.js +47 -2
  393. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  394. package/build/dist/Models/DatabaseModels/UserTelegram.js +65 -3
  395. package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -1
  396. package/build/dist/Models/DatabaseModels/UserWebhook.js +56 -2
  397. package/build/dist/Models/DatabaseModels/UserWebhook.js.map +1 -1
  398. package/build/dist/Models/DatabaseModels/UserWhatsApp.js +45 -2
  399. package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
  400. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +12 -0
  401. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
  402. package/build/dist/Server/API/AIChatAPI.js +237 -1
  403. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  404. package/build/dist/Server/API/DashboardAPI.js +165 -13
  405. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  406. package/build/dist/Server/API/OnCallReadinessAPI.js +599 -0
  407. package/build/dist/Server/API/OnCallReadinessAPI.js.map +1 -0
  408. package/build/dist/Server/API/TeamComplianceAPI.js +68 -9
  409. package/build/dist/Server/API/TeamComplianceAPI.js.map +1 -1
  410. package/build/dist/Server/API/TelemetryAPI.js +129 -18
  411. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  412. package/build/dist/Server/EnvironmentConfig.js +45 -0
  413. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  414. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js +22 -0
  415. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js.map +1 -1
  416. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +4 -4
  417. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.js +18 -0
  418. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.js.map +1 -0
  419. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.js +39 -0
  420. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.js.map +1 -0
  421. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.js +38 -0
  422. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.js.map +1 -0
  423. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.js +22 -0
  424. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.js.map +1 -0
  425. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.js +150 -0
  426. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.js.map +1 -0
  427. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.js +57 -0
  428. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.js.map +1 -0
  429. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.js +69 -0
  430. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.js.map +1 -0
  431. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.js +32 -0
  432. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.js.map +1 -0
  433. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.js +26 -0
  434. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.js.map +1 -0
  435. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.js +48 -0
  436. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.js.map +1 -0
  437. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  438. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  439. package/build/dist/Server/Infrastructure/Queue.js +72 -13
  440. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  441. package/build/dist/Server/Middleware/PublicDashboardRateLimit.js +399 -0
  442. package/build/dist/Server/Middleware/PublicDashboardRateLimit.js.map +1 -0
  443. package/build/dist/Server/Services/AIService.js +1 -0
  444. package/build/dist/Server/Services/AIService.js.map +1 -1
  445. package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js +24 -3
  446. package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js.map +1 -1
  447. package/build/dist/Server/Services/AlertSeverityService.js +54 -0
  448. package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
  449. package/build/dist/Server/Services/DashboardService.js +10 -9
  450. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  451. package/build/dist/Server/Services/DatabaseService.js +24 -2
  452. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  453. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +24 -3
  454. package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
  455. package/build/dist/Server/Services/IncidentSeverityService.js +67 -0
  456. package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
  457. package/build/dist/Server/Services/Index.js +12 -4
  458. package/build/dist/Server/Services/Index.js.map +1 -1
  459. package/build/dist/Server/Services/InventoryItemCustomFieldService.js +9 -0
  460. package/build/dist/Server/Services/InventoryItemCustomFieldService.js.map +1 -0
  461. package/build/dist/Server/Services/{TelemetryEntityRelationshipService.js → InventoryItemRelationshipService.js} +6 -6
  462. package/build/dist/Server/Services/InventoryItemRelationshipService.js.map +1 -0
  463. package/build/dist/Server/Services/{TelemetryEntityService.js → InventoryItemService.js} +68 -23
  464. package/build/dist/Server/Services/InventoryItemService.js.map +1 -0
  465. package/build/dist/Server/Services/LogAggregationService.js +27 -8
  466. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  467. package/build/dist/Server/Services/MetricAggregationService.js +80 -0
  468. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  469. package/build/dist/Server/Services/MetricService.js +6 -6
  470. package/build/dist/Server/Services/MetricService.js.map +1 -1
  471. package/build/dist/Server/Services/NetworkDeviceLinkRuleService.js +9 -0
  472. package/build/dist/Server/Services/NetworkDeviceLinkRuleService.js.map +1 -0
  473. package/build/dist/Server/Services/NetworkDeviceLinkService.js +71 -0
  474. package/build/dist/Server/Services/NetworkDeviceLinkService.js.map +1 -0
  475. package/build/dist/Server/Services/NetworkDeviceService.js +113 -0
  476. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  477. package/build/dist/Server/Services/NetworkSiteService.js +53 -13
  478. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
  479. package/build/dist/Server/Services/NetworkTopologySuppressionService.js +85 -0
  480. package/build/dist/Server/Services/NetworkTopologySuppressionService.js.map +1 -0
  481. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +48 -32
  482. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  483. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +8 -0
  484. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
  485. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +51 -12
  486. package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
  487. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +57 -13
  488. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  489. package/build/dist/Server/Services/OnCallNotificationAlertingService.js +548 -0
  490. package/build/dist/Server/Services/OnCallNotificationAlertingService.js.map +1 -0
  491. package/build/dist/Server/Services/OnCallReadinessService.js +1961 -0
  492. package/build/dist/Server/Services/OnCallReadinessService.js.map +1 -0
  493. package/build/dist/Server/Services/OnCallSetupReminderService.js +738 -0
  494. package/build/dist/Server/Services/OnCallSetupReminderService.js.map +1 -0
  495. package/build/dist/Server/Services/ProfileAggregationService.js +68 -4
  496. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  497. package/build/dist/Server/Services/StatusPageService.js +11 -10
  498. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  499. package/build/dist/Server/Services/TeamComplianceService.js +312 -160
  500. package/build/dist/Server/Services/TeamComplianceService.js.map +1 -1
  501. package/build/dist/Server/Services/UserCallService.js +24 -1
  502. package/build/dist/Server/Services/UserCallService.js.map +1 -1
  503. package/build/dist/Server/Services/UserEmailService.js +24 -1
  504. package/build/dist/Server/Services/UserEmailService.js.map +1 -1
  505. package/build/dist/Server/Services/UserNotificationRuleAdminService.js +858 -0
  506. package/build/dist/Server/Services/UserNotificationRuleAdminService.js.map +1 -0
  507. package/build/dist/Server/Services/UserNotificationRuleService.js +2830 -175
  508. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  509. package/build/dist/Server/Services/UserOnCallLogService.js +488 -43
  510. package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
  511. package/build/dist/Server/Services/UserPushService.js +26 -0
  512. package/build/dist/Server/Services/UserPushService.js.map +1 -1
  513. package/build/dist/Server/Services/UserService.js +10 -0
  514. package/build/dist/Server/Services/UserService.js.map +1 -1
  515. package/build/dist/Server/Services/UserSmsService.js +24 -1
  516. package/build/dist/Server/Services/UserSmsService.js.map +1 -1
  517. package/build/dist/Server/Services/UserTelegramService.js +22 -1
  518. package/build/dist/Server/Services/UserTelegramService.js.map +1 -1
  519. package/build/dist/Server/Services/UserWebhookService.js +25 -1
  520. package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
  521. package/build/dist/Server/Services/UserWhatsAppService.js +22 -1
  522. package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
  523. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +12 -1
  524. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  525. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +126 -0
  526. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  527. package/build/dist/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.js +254 -0
  528. package/build/dist/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.js.map +1 -0
  529. package/build/dist/Server/Types/Database/Permissions/QueryPermission.js +47 -2
  530. package/build/dist/Server/Types/Database/Permissions/QueryPermission.js.map +1 -1
  531. package/build/dist/Server/Types/Database/Permissions/TenantPermission.js +7 -0
  532. package/build/dist/Server/Types/Database/Permissions/TenantPermission.js.map +1 -1
  533. package/build/dist/Server/Types/Workflow/Components/API/Delete.js +1 -1
  534. package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
  535. package/build/dist/Server/Types/Workflow/Components/API/Get.js +1 -1
  536. package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
  537. package/build/dist/Server/Types/Workflow/Components/API/Patch.js +1 -1
  538. package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
  539. package/build/dist/Server/Types/Workflow/Components/API/Post.js +1 -1
  540. package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
  541. package/build/dist/Server/Types/Workflow/Components/API/Put.js +1 -1
  542. package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
  543. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js +21 -5
  544. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js.map +1 -1
  545. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js +14 -10
  546. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js.map +1 -1
  547. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js +31 -0
  548. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js.map +1 -1
  549. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +3 -9
  550. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
  551. package/build/dist/Server/Types/Workflow/Components/Email.js +15 -4
  552. package/build/dist/Server/Types/Workflow/Components/Email.js.map +1 -1
  553. package/build/dist/Server/Types/Workflow/Components/JavaScript.js +7 -2
  554. package/build/dist/Server/Types/Workflow/Components/JavaScript.js.map +1 -1
  555. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js +1 -1
  556. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js.map +1 -1
  557. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +514 -56
  558. package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
  559. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +20 -3
  560. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  561. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +19 -6
  562. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
  563. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +7 -0
  564. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  565. package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js +2 -2
  566. package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js.map +1 -1
  567. package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js +692 -0
  568. package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js.map +1 -0
  569. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +148 -12
  570. package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
  571. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js +157 -10
  572. package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js.map +1 -1
  573. package/build/dist/Server/Utils/AI/Toolbox/Index.js +37 -0
  574. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  575. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js +259 -14
  576. package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js.map +1 -1
  577. package/build/dist/Server/Utils/AI/Toolbox/NoteWriteTools.js +235 -0
  578. package/build/dist/Server/Utils/AI/Toolbox/NoteWriteTools.js.map +1 -0
  579. package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js +1000 -0
  580. package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js.map +1 -0
  581. package/build/dist/Server/Utils/AI/Toolbox/RunbookTools.js +356 -0
  582. package/build/dist/Server/Utils/AI/Toolbox/RunbookTools.js.map +1 -0
  583. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js +394 -0
  584. package/build/dist/Server/Utils/AI/Toolbox/SloTools.js.map +1 -0
  585. package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js +465 -0
  586. package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js.map +1 -0
  587. package/build/dist/Server/Utils/AI/Toolbox/TeamTools.js +280 -0
  588. package/build/dist/Server/Utils/AI/Toolbox/TeamTools.js.map +1 -0
  589. package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js +527 -0
  590. package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js.map +1 -0
  591. package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js +548 -0
  592. package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js.map +1 -0
  593. package/build/dist/Server/Utils/ClientIp.js +137 -0
  594. package/build/dist/Server/Utils/ClientIp.js.map +1 -0
  595. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +38 -0
  596. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
  597. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js +89 -0
  598. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js.map +1 -0
  599. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js +77 -0
  600. package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js.map +1 -0
  601. package/build/dist/Server/Utils/Express.js +12 -12
  602. package/build/dist/Server/Utils/Express.js.map +1 -1
  603. package/build/dist/Server/Utils/LLM/LLMService.js +70 -7
  604. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  605. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +121 -11
  606. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  607. package/build/dist/Server/Utils/SSRFProtection.js +82 -21
  608. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  609. package/build/dist/Server/Utils/StartServer.js +12 -4
  610. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  611. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +165 -18
  612. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  613. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js +11 -11
  614. package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js.map +1 -1
  615. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +122 -47
  616. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  617. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +7 -3
  618. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  619. package/build/dist/Types/AI/AIChatMessageStatus.js +8 -1
  620. package/build/dist/Types/AI/AIChatMessageStatus.js.map +1 -1
  621. package/build/dist/Types/AI/AIChatTypes.js +12 -0
  622. package/build/dist/Types/AI/AIChatTypes.js.map +1 -1
  623. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +60 -0
  624. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -0
  625. package/build/dist/Types/Exception/ExceptionCode.js +2 -0
  626. package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
  627. package/build/dist/Types/Exception/ServiceUnavailableException.js +8 -0
  628. package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -0
  629. package/build/dist/Types/Exception/TooManyRequestsException.js +8 -0
  630. package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -0
  631. package/build/dist/Types/IP/IP.js +87 -43
  632. package/build/dist/Types/IP/IP.js.map +1 -1
  633. package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +50 -0
  634. package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -0
  635. package/build/dist/Types/OnCallDutyPolicy/Layer.js +186 -123
  636. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  637. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js +13 -0
  638. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -1
  639. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +105 -11
  640. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
  641. package/build/dist/Types/Permission.js +174 -0
  642. package/build/dist/Types/Permission.js.map +1 -1
  643. package/build/dist/Types/Telemetry/EntityRelationshipType.js +1 -1
  644. package/build/dist/Types/Telemetry/EntitySource.js +1 -1
  645. package/build/dist/Types/Telemetry/EntityType.js +1 -1
  646. package/build/dist/Types/Telemetry/EntityTypeGroups.js +1 -1
  647. package/build/dist/Types/Telemetry/EntityTypeGroups.js.map +1 -1
  648. package/build/dist/Types/Workflow/Components/BaseModel.js +66 -28
  649. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  650. package/build/dist/Types/Workflow/Components/Discord.js +1 -0
  651. package/build/dist/Types/Workflow/Components/Discord.js.map +1 -1
  652. package/build/dist/Types/Workflow/Components/Email.js +12 -3
  653. package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
  654. package/build/dist/Types/Workflow/Components/JavaScript.js +7 -0
  655. package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
  656. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +3 -2
  657. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -1
  658. package/build/dist/Types/Workflow/Components/Slack.js +1 -0
  659. package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
  660. package/build/dist/Types/Workflow/Components/Telegram.js +1 -0
  661. package/build/dist/Types/Workflow/Components/Telegram.js.map +1 -1
  662. package/build/dist/Types/Workflow/TemplateSyntax.js +12 -0
  663. package/build/dist/Types/Workflow/TemplateSyntax.js.map +1 -1
  664. package/build/dist/Types/Workflow/Templates.js +1931 -38
  665. package/build/dist/Types/Workflow/Templates.js.map +1 -1
  666. package/build/dist/UI/Components/Calendar/Calendar.js +1 -1
  667. package/build/dist/UI/Components/Calendar/Calendar.js.map +1 -1
  668. package/build/dist/UI/Components/Checkbox/Checkbox.js +1 -1
  669. package/build/dist/UI/Components/Checkbox/Checkbox.js.map +1 -1
  670. package/build/dist/UI/Components/Dictionary/Dictionary.js +25 -11
  671. package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
  672. package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
  673. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +27 -4
  674. package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
  675. package/build/dist/UI/Components/Input/Input.js +1 -0
  676. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  677. package/build/dist/UI/Components/KeyboardShortcut/KeyboardKey.js +163 -0
  678. package/build/dist/UI/Components/KeyboardShortcut/KeyboardKey.js.map +1 -0
  679. package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcut.js +47 -0
  680. package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcut.js.map +1 -0
  681. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +4 -4
  682. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  683. package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js +11 -1
  684. package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js.map +1 -1
  685. package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js +10 -8
  686. package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js.map +1 -1
  687. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +227 -14
  688. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  689. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +5 -0
  690. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  691. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +69 -5
  692. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  693. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +8 -0
  694. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -1
  695. package/build/dist/UI/Components/LogsViewer/types.js.map +1 -1
  696. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +9 -2
  697. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
  698. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +8 -21
  699. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  700. package/build/dist/UI/Components/ProjectInvitations/PendingProjectInvitations.js +251 -0
  701. package/build/dist/UI/Components/ProjectInvitations/PendingProjectInvitations.js.map +1 -0
  702. package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js +9 -2
  703. package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js.map +1 -1
  704. package/build/dist/UI/Components/Table/Table.js +27 -15
  705. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  706. package/build/dist/UI/Components/Table/TableBody.js +24 -18
  707. package/build/dist/UI/Components/Table/TableBody.js.map +1 -1
  708. package/build/dist/UI/Components/Table/TableHeader.js +9 -1
  709. package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
  710. package/build/dist/UI/Components/Table/TableRow.js +29 -21
  711. package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
  712. package/build/dist/UI/Components/Workflow/ArgumentsForm.js +130 -12
  713. package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
  714. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +10 -1
  715. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  716. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +4 -4
  717. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  718. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js +57 -7
  719. package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js.map +1 -1
  720. package/build/dist/UI/Components/Workflow/ComponentsModal.js +53 -18
  721. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  722. package/build/dist/UI/Components/Workflow/DocumentationViewer.js +19 -6
  723. package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
  724. package/build/dist/UI/Components/Workflow/GraphLint.js +33 -4
  725. package/build/dist/UI/Components/Workflow/GraphLint.js.map +1 -1
  726. package/build/dist/UI/Components/Workflow/GraphLintSummary.js +231 -0
  727. package/build/dist/UI/Components/Workflow/GraphLintSummary.js.map +1 -0
  728. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js +116 -21
  729. package/build/dist/UI/Components/Workflow/ModelColumnEditor.js.map +1 -1
  730. package/build/dist/UI/Components/Workflow/ModelSchema.js +72 -34
  731. package/build/dist/UI/Components/Workflow/ModelSchema.js.map +1 -1
  732. package/build/dist/UI/Components/Workflow/RunStatusWatcher.js +1 -1
  733. package/build/dist/UI/Components/Workflow/RunStatusWatcher.js.map +1 -1
  734. package/build/dist/UI/Components/Workflow/StepTraceViewer.js +1 -1
  735. package/build/dist/UI/Components/Workflow/StepTraceViewer.js.map +1 -1
  736. package/build/dist/UI/Components/Workflow/UseRunWatch.js +123 -0
  737. package/build/dist/UI/Components/Workflow/UseRunWatch.js.map +1 -0
  738. package/build/dist/UI/Components/Workflow/VariableModal.js +3 -2
  739. package/build/dist/UI/Components/Workflow/VariableModal.js.map +1 -1
  740. package/build/dist/UI/Components/Workflow/Workflow.js +41 -1
  741. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  742. package/build/dist/UI/Components/Workflow/WorkflowIssuesModal.js +99 -0
  743. package/build/dist/UI/Components/Workflow/WorkflowIssuesModal.js.map +1 -0
  744. package/build/dist/UI/Components/Workflow/WorkflowLogModal.js +56 -0
  745. package/build/dist/UI/Components/Workflow/WorkflowLogModal.js.map +1 -0
  746. package/build/dist/UI/Components/Workflow/WorkflowStatusBar.js +92 -0
  747. package/build/dist/UI/Components/Workflow/WorkflowStatusBar.js.map +1 -0
  748. package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js +9 -0
  749. package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js.map +1 -1
  750. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +1 -1
  751. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  752. package/build/dist/UI/Utils/Platform.js +118 -0
  753. package/build/dist/UI/Utils/Platform.js.map +1 -0
  754. package/build/dist/UI/Utils/ProjectInvitationDisplay.js +106 -0
  755. package/build/dist/UI/Utils/ProjectInvitationDisplay.js.map +1 -0
  756. package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js +108 -0
  757. package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js.map +1 -0
  758. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +642 -136
  759. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  760. package/build/dist/Utils/Telemetry/CrossSignalScope.js +328 -0
  761. package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -0
  762. package/build/dist/Utils/Telemetry/EntityKey.js +5 -5
  763. package/build/dist/Utils/Telemetry/EntityRelationship.js +1 -1
  764. package/jest.config.json +1 -0
  765. package/package.json +1 -1
  766. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +0 -1
  767. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +0 -1
  768. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +0 -1
  769. package/build/dist/Server/Services/TelemetryEntityService.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ export class AddMonitoringMethodToNetworkDevice1786625176831 {
2
+ constructor() {
3
+ this.name = "AddMonitoringMethodToNetworkDevice1786625176831";
4
+ }
5
+ async up(queryRunner) {
6
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" ADD "monitoringMethod" character varying(100) DEFAULT 'SNMP'`);
7
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" ADD "monitorId" uuid`);
8
+ await queryRunner.query(`CREATE INDEX "IDX_dfad846062f455bf09d918a8eb" ON "NetworkDevice" ("monitorId") `);
9
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" ADD CONSTRAINT "FK_dfad846062f455bf09d918a8eb9" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
10
+ }
11
+ async down(queryRunner) {
12
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" DROP CONSTRAINT "FK_dfad846062f455bf09d918a8eb9"`);
13
+ await queryRunner.query(`DROP INDEX "public"."IDX_dfad846062f455bf09d918a8eb"`);
14
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" DROP COLUMN "monitorId"`);
15
+ await queryRunner.query(`ALTER TABLE "NetworkDevice" DROP COLUMN "monitoringMethod"`);
16
+ }
17
+ }
18
+ //# sourceMappingURL=1786625176831-AddMonitoringMethodToNetworkDevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786625176831-AddMonitoringMethodToNetworkDevice.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,+CAA+C;IAA5D;QAGS,SAAI,GAAW,iDAAiD,CAAC;IA6B1E,CAAC;IA3BQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,0FAA0F,CAC3F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,KAAK,CACrB,iFAAiF,CAClF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0KAA0K,CAC3K,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,8EAA8E,CAC/E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qDAAqD,CACtD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ /*
2
+ * The generator was run against a database that did not yet have
3
+ * 1786625176831-AddMonitoringMethodToNetworkDevice applied, so it also
4
+ * emitted that migration's NetworkDevice.monitoringMethod / monitorId
5
+ * statements. Those are removed here: running them twice fails with
6
+ * "column already exists", and each migration owns one change.
7
+ */
8
+ export class AddNetworkDeviceLink1786634985763 {
9
+ constructor() {
10
+ this.name = "AddNetworkDeviceLink1786634985763";
11
+ }
12
+ async up(queryRunner) {
13
+ await queryRunner.query(`CREATE TABLE "NetworkDeviceLink" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100), "fromDeviceId" uuid NOT NULL, "toDeviceId" uuid NOT NULL, "fromPortName" character varying(100), "toPortName" character varying(100), "monitorId" uuid, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_44f9eb8a79f74fbad22970dcd69" PRIMARY KEY ("_id"))`);
14
+ await queryRunner.query(`CREATE INDEX "IDX_c13d3b043b6ff5b1f6b3875e7c" ON "NetworkDeviceLink" ("projectId") `);
15
+ await queryRunner.query(`CREATE INDEX "IDX_3aa05e29761d9144b2fab79ddd" ON "NetworkDeviceLink" ("fromDeviceId") `);
16
+ await queryRunner.query(`CREATE INDEX "IDX_860dd94c53f67b093d90f8acd9" ON "NetworkDeviceLink" ("toDeviceId") `);
17
+ await queryRunner.query(`CREATE INDEX "IDX_3382158f7a89861165c7bf040d" ON "NetworkDeviceLink" ("projectId", "fromDeviceId") `);
18
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_c13d3b043b6ff5b1f6b3875e7c2" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
19
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_3aa05e29761d9144b2fab79ddda" FOREIGN KEY ("fromDeviceId") REFERENCES "NetworkDevice"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
20
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_860dd94c53f67b093d90f8acd91" FOREIGN KEY ("toDeviceId") REFERENCES "NetworkDevice"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
21
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_56a26ec58d99b2c70061ea1d737" FOREIGN KEY ("monitorId") REFERENCES "Monitor"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
22
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_1c0841ce17c095d7dc06f1bdb73" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
23
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" ADD CONSTRAINT "FK_60fb427dfafc613acacdbf58125" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
24
+ }
25
+ async down(queryRunner) {
26
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_60fb427dfafc613acacdbf58125"`);
27
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_1c0841ce17c095d7dc06f1bdb73"`);
28
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_56a26ec58d99b2c70061ea1d737"`);
29
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_860dd94c53f67b093d90f8acd91"`);
30
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_3aa05e29761d9144b2fab79ddda"`);
31
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLink" DROP CONSTRAINT "FK_c13d3b043b6ff5b1f6b3875e7c2"`);
32
+ await queryRunner.query(`DROP INDEX "public"."IDX_3382158f7a89861165c7bf040d"`);
33
+ await queryRunner.query(`DROP INDEX "public"."IDX_860dd94c53f67b093d90f8acd9"`);
34
+ await queryRunner.query(`DROP INDEX "public"."IDX_3aa05e29761d9144b2fab79ddd"`);
35
+ await queryRunner.query(`DROP INDEX "public"."IDX_c13d3b043b6ff5b1f6b3875e7c"`);
36
+ await queryRunner.query(`DROP TABLE "NetworkDeviceLink"`);
37
+ }
38
+ }
39
+ //# sourceMappingURL=1786634985763-AddNetworkDeviceLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786634985763-AddNetworkDeviceLink.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,iCAAiC;IAA9C;QACS,SAAI,GAAW,mCAAmC,CAAC;IAuE5D,CAAC;IArEQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,klBAAklB,CACnlB,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qFAAqF,CACtF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wFAAwF,CACzF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sFAAsF,CACvF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qGAAqG,CACtG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,6KAA6K,CAC9K,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sLAAsL,CACvL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oLAAoL,CACrL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8KAA8K,CAC/K,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iLAAiL,CAClL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iLAAiL,CAClL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -0,0 +1,38 @@
1
+ export class AddNetworkDeviceLinkRule1786639512056 {
2
+ constructor() {
3
+ this.name = "AddNetworkDeviceLinkRule1786639512056";
4
+ }
5
+ async up(queryRunner) {
6
+ await queryRunner.query(`CREATE TABLE "NetworkDeviceLinkRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying, "isEnabled" boolean NOT NULL DEFAULT true, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_2ddb1aa4f3ebf1181c867001d93" PRIMARY KEY ("_id"))`);
7
+ await queryRunner.query(`CREATE TABLE "NetworkDeviceLinkRuleChildLabel" ("networkDeviceLinkRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_0fe51b1818df74cdbb691b2d014" PRIMARY KEY ("networkDeviceLinkRuleId", "labelId"))`);
8
+ await queryRunner.query(`CREATE INDEX "IDX_2cd62497b9d2eacd85a15ce959" ON "NetworkDeviceLinkRuleChildLabel" ("networkDeviceLinkRuleId") `);
9
+ await queryRunner.query(`CREATE INDEX "IDX_3e708d3fe03877842995b20298" ON "NetworkDeviceLinkRuleChildLabel" ("labelId") `);
10
+ await queryRunner.query(`CREATE TABLE "NetworkDeviceLinkRuleParentLabel" ("networkDeviceLinkRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_9cd76252ff3e8b372eaa8ad8dc3" PRIMARY KEY ("networkDeviceLinkRuleId", "labelId"))`);
11
+ await queryRunner.query(`CREATE INDEX "IDX_34a873cf2a83fb4b9b1d953246" ON "NetworkDeviceLinkRuleParentLabel" ("networkDeviceLinkRuleId") `);
12
+ await queryRunner.query(`CREATE INDEX "IDX_93befe63403330b0bca7d57019" ON "NetworkDeviceLinkRuleParentLabel" ("labelId") `);
13
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" ADD CONSTRAINT "FK_ed9e718e957729564f332fed37c" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
14
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" ADD CONSTRAINT "FK_3e743cfde6ab41d3231d87e2313" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
15
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" ADD CONSTRAINT "FK_e1309ec901d89b516e8d4289dab" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
16
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleChildLabel" ADD CONSTRAINT "FK_2cd62497b9d2eacd85a15ce959e" FOREIGN KEY ("networkDeviceLinkRuleId") REFERENCES "NetworkDeviceLinkRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
17
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleChildLabel" ADD CONSTRAINT "FK_3e708d3fe03877842995b202984" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
18
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleParentLabel" ADD CONSTRAINT "FK_34a873cf2a83fb4b9b1d953246a" FOREIGN KEY ("networkDeviceLinkRuleId") REFERENCES "NetworkDeviceLinkRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
19
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleParentLabel" ADD CONSTRAINT "FK_93befe63403330b0bca7d570195" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
20
+ }
21
+ async down(queryRunner) {
22
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleParentLabel" DROP CONSTRAINT "FK_93befe63403330b0bca7d570195"`);
23
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleParentLabel" DROP CONSTRAINT "FK_34a873cf2a83fb4b9b1d953246a"`);
24
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleChildLabel" DROP CONSTRAINT "FK_3e708d3fe03877842995b202984"`);
25
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRuleChildLabel" DROP CONSTRAINT "FK_2cd62497b9d2eacd85a15ce959e"`);
26
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" DROP CONSTRAINT "FK_e1309ec901d89b516e8d4289dab"`);
27
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" DROP CONSTRAINT "FK_3e743cfde6ab41d3231d87e2313"`);
28
+ await queryRunner.query(`ALTER TABLE "NetworkDeviceLinkRule" DROP CONSTRAINT "FK_ed9e718e957729564f332fed37c"`);
29
+ await queryRunner.query(`DROP INDEX "public"."IDX_93befe63403330b0bca7d57019"`);
30
+ await queryRunner.query(`DROP INDEX "public"."IDX_34a873cf2a83fb4b9b1d953246"`);
31
+ await queryRunner.query(`DROP TABLE "NetworkDeviceLinkRuleParentLabel"`);
32
+ await queryRunner.query(`DROP INDEX "public"."IDX_3e708d3fe03877842995b20298"`);
33
+ await queryRunner.query(`DROP INDEX "public"."IDX_2cd62497b9d2eacd85a15ce959"`);
34
+ await queryRunner.query(`DROP TABLE "NetworkDeviceLinkRuleChildLabel"`);
35
+ await queryRunner.query(`DROP TABLE "NetworkDeviceLinkRule"`);
36
+ }
37
+ }
38
+ //# sourceMappingURL=1786639512056-AddNetworkDeviceLinkRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786639512056-AddNetworkDeviceLinkRule.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,qCAAqC;IAAlD;QAGS,SAAI,GAAW,uCAAuC,CAAC;IAqFhE,CAAC;IAnFQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,mhBAAmhB,CACphB,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,mNAAmN,CACpN,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iHAAiH,CAClH,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iGAAiG,CAClG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oNAAoN,CACrN,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kHAAkH,CACnH,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kGAAkG,CACnG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iLAAiL,CAClL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qLAAqL,CACtL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qLAAqL,CACtL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qNAAqN,CACtN,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,qLAAqL,CACtL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sNAAsN,CACvN,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sLAAsL,CACvL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,iGAAiG,CAClG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iGAAiG,CAClG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,gGAAgG,CACjG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,gGAAgG,CACjG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sFAAsF,CACvF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sFAAsF,CACvF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sFAAsF,CACvF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACzE,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACxE,MAAM,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAChE,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ export class AddNetworkTopologySuppression1786639972982 {
2
+ constructor() {
3
+ this.name = "AddNetworkTopologySuppression1786639972982";
4
+ }
5
+ async up(queryRunner) {
6
+ await queryRunner.query(`CREATE TABLE "NetworkTopologySuppression" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "nodeKey" character varying(100) NOT NULL, "nodeName" character varying(100), "reason" character varying, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_23e2ab457691c1cd0540892f07c" PRIMARY KEY ("_id"))`);
7
+ await queryRunner.query(`CREATE INDEX "IDX_55b908ff54796e52649bc674db" ON "NetworkTopologySuppression" ("projectId") `);
8
+ await queryRunner.query(`CREATE INDEX "IDX_342a8f179fe044baa04c92c0f0" ON "NetworkTopologySuppression" ("projectId", "nodeKey") `);
9
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" ADD CONSTRAINT "FK_55b908ff54796e52649bc674dba" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
10
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" ADD CONSTRAINT "FK_614e5f6ec61c79bf9beec90aeb5" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
11
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" ADD CONSTRAINT "FK_12c1cb1eb837b79e2f9f6c067ed" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
12
+ }
13
+ async down(queryRunner) {
14
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" DROP CONSTRAINT "FK_12c1cb1eb837b79e2f9f6c067ed"`);
15
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" DROP CONSTRAINT "FK_614e5f6ec61c79bf9beec90aeb5"`);
16
+ await queryRunner.query(`ALTER TABLE "NetworkTopologySuppression" DROP CONSTRAINT "FK_55b908ff54796e52649bc674dba"`);
17
+ await queryRunner.query(`DROP INDEX "public"."IDX_342a8f179fe044baa04c92c0f0"`);
18
+ await queryRunner.query(`DROP INDEX "public"."IDX_55b908ff54796e52649bc674db"`);
19
+ await queryRunner.query(`DROP TABLE "NetworkTopologySuppression"`);
20
+ }
21
+ }
22
+ //# sourceMappingURL=1786639972982-AddNetworkTopologySuppression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786639972982-AddNetworkTopologySuppression.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,0CAA0C;IAAvD;QAGS,SAAI,GAAW,4CAA4C,CAAC;IAyCrE,CAAC;IAvCQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,8gBAA8gB,CAC/gB,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8FAA8F,CAC/F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yGAAyG,CAC1G,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sLAAsL,CACvL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0LAA0L,CAC3L,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0LAA0L,CAC3L,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,2FAA2F,CAC5F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,2FAA2F,CAC5F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,2FAA2F,CAC5F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,150 @@
1
+ const INVENTORY_ITEM_INDEXES = [
2
+ // (projectId)
3
+ {
4
+ from: "IDX_4e1ef427f431558a59263d6463",
5
+ to: "IDX_0bb390eced5f2ad83ebe9e3f89",
6
+ },
7
+ // (lastSeenAt)
8
+ {
9
+ from: "IDX_6f5b6d2bb634b2396f2dee6ab1",
10
+ to: "IDX_f624a34cbb01fafd0bada7ae34",
11
+ },
12
+ // (source)
13
+ {
14
+ from: "IDX_8106b1d6443d982b12e3318318",
15
+ to: "IDX_02f47bb3925e22998491eaf45f",
16
+ },
17
+ // (projectId, entityType)
18
+ {
19
+ from: "IDX_e2ad53c6527cd8d74a63d2fda7",
20
+ to: "IDX_658398f4f8df74f7e7e52da917",
21
+ },
22
+ // (projectId, resourceType, resourceId)
23
+ {
24
+ from: "IDX_64e28273ad4bc2543316ef82d2",
25
+ to: "IDX_0fae1af0a94799f56e054c7287",
26
+ },
27
+ // UNIQUE (projectId, entityType, entityKey) - the ingest upsert conflict target
28
+ {
29
+ from: "IDX_cd0b36552d8224cbb200eedc4e",
30
+ to: "IDX_924abab6b3627f33e8128eb68a",
31
+ },
32
+ ];
33
+ const INVENTORY_ITEM_FOREIGN_KEYS = [
34
+ // (projectId)
35
+ {
36
+ from: "FK_4e1ef427f431558a59263d6463d",
37
+ to: "FK_0bb390eced5f2ad83ebe9e3f895",
38
+ },
39
+ // (createdByUserId)
40
+ {
41
+ from: "FK_5c79b80b19265b19b2f40b3f6bb",
42
+ to: "FK_56782122cd3d6c3571b6aecb630",
43
+ },
44
+ // (deletedByUserId)
45
+ {
46
+ from: "FK_28d95749a9f6f712448c371eb7d",
47
+ to: "FK_c27f19553f14afe37b7658e26f3",
48
+ },
49
+ ];
50
+ const RELATIONSHIP_INDEXES = [
51
+ // (projectId)
52
+ {
53
+ from: "IDX_69e77606b8cd6b0a340b561ee8",
54
+ to: "IDX_31c667da9702b73b9b14dde9f8",
55
+ },
56
+ // (lastSeenAt)
57
+ {
58
+ from: "IDX_ff3c08f70cd90cd30909ab4508",
59
+ to: "IDX_5ff147fc0c3c2d8c1c3cd4a945",
60
+ },
61
+ // (source)
62
+ {
63
+ from: "IDX_26ea726e2ee8fa622348581ac1",
64
+ to: "IDX_4ba505deea1919c5af962e9e99",
65
+ },
66
+ // (projectId, fromEntityKey)
67
+ {
68
+ from: "IDX_cf1de4c74c6034f957103e6434",
69
+ to: "IDX_be7667908537bf39191c74efa6",
70
+ },
71
+ // (projectId, toEntityKey)
72
+ {
73
+ from: "IDX_0207b1a581cc3b588835a526f5",
74
+ to: "IDX_a4063035857f6ae859f576a9a6",
75
+ },
76
+ // UNIQUE (projectId, fromEntityKey, toEntityKey, relationshipType)
77
+ {
78
+ from: "IDX_1b26aa0f1dc0856218b446b82e",
79
+ to: "IDX_bd1369d920d9653e1fddfd8de6",
80
+ },
81
+ ];
82
+ const RELATIONSHIP_FOREIGN_KEYS = [
83
+ // (projectId)
84
+ {
85
+ from: "FK_69e77606b8cd6b0a340b561ee88",
86
+ to: "FK_31c667da9702b73b9b14dde9f82",
87
+ },
88
+ // (createdByUserId)
89
+ {
90
+ from: "FK_e3bcf3792c0290f28e0c151ff61",
91
+ to: "FK_66d2a100b0bb0d0fe4c76b415f1",
92
+ },
93
+ // (deletedByUserId)
94
+ {
95
+ from: "FK_358f60285a6b280da4b7ce1703d",
96
+ to: "FK_ecb3b77afca41cef653ab8e0e33",
97
+ },
98
+ ];
99
+ const PRIMARY_KEYS = [
100
+ { from: "PK_TelemetryEntity", to: "PK_InventoryItem" },
101
+ {
102
+ from: "PK_TelemetryEntityRelationship",
103
+ to: "PK_InventoryItemRelationship",
104
+ },
105
+ ];
106
+ export class RenameTelemetryEntityToInventoryItem1786800000000 {
107
+ constructor() {
108
+ this.name = "RenameTelemetryEntityToInventoryItem1786800000000";
109
+ }
110
+ async renameIndexes(queryRunner, pairs, reverse) {
111
+ for (const pair of pairs) {
112
+ const from = reverse ? pair.to : pair.from;
113
+ const to = reverse ? pair.from : pair.to;
114
+ await queryRunner.query(`ALTER INDEX "public"."${from}" RENAME TO "${to}"`);
115
+ }
116
+ }
117
+ async renameConstraints(queryRunner, tableName, pairs, reverse) {
118
+ for (const pair of pairs) {
119
+ const from = reverse ? pair.to : pair.from;
120
+ const to = reverse ? pair.from : pair.to;
121
+ await queryRunner.query(`ALTER TABLE "${tableName}" RENAME CONSTRAINT "${from}" TO "${to}"`);
122
+ }
123
+ }
124
+ async up(queryRunner) {
125
+ /*
126
+ * Tables first: every statement after this one addresses them by their
127
+ * new name, and an index rename is table-independent anyway (index names
128
+ * are unique per schema, not per table).
129
+ */
130
+ await queryRunner.query(`ALTER TABLE "TelemetryEntity" RENAME TO "InventoryItem"`);
131
+ await queryRunner.query(`ALTER TABLE "TelemetryEntityRelationship" RENAME TO "InventoryItemRelationship"`);
132
+ await this.renameIndexes(queryRunner, INVENTORY_ITEM_INDEXES, false);
133
+ await this.renameIndexes(queryRunner, RELATIONSHIP_INDEXES, false);
134
+ await this.renameConstraints(queryRunner, "InventoryItem", INVENTORY_ITEM_FOREIGN_KEYS, false);
135
+ await this.renameConstraints(queryRunner, "InventoryItemRelationship", RELATIONSHIP_FOREIGN_KEYS, false);
136
+ await queryRunner.query(`ALTER TABLE "InventoryItem" RENAME CONSTRAINT "${PRIMARY_KEYS[0].from}" TO "${PRIMARY_KEYS[0].to}"`);
137
+ await queryRunner.query(`ALTER TABLE "InventoryItemRelationship" RENAME CONSTRAINT "${PRIMARY_KEYS[1].from}" TO "${PRIMARY_KEYS[1].to}"`);
138
+ }
139
+ async down(queryRunner) {
140
+ await queryRunner.query(`ALTER TABLE "InventoryItemRelationship" RENAME CONSTRAINT "${PRIMARY_KEYS[1].to}" TO "${PRIMARY_KEYS[1].from}"`);
141
+ await queryRunner.query(`ALTER TABLE "InventoryItem" RENAME CONSTRAINT "${PRIMARY_KEYS[0].to}" TO "${PRIMARY_KEYS[0].from}"`);
142
+ await this.renameConstraints(queryRunner, "InventoryItemRelationship", RELATIONSHIP_FOREIGN_KEYS, true);
143
+ await this.renameConstraints(queryRunner, "InventoryItem", INVENTORY_ITEM_FOREIGN_KEYS, true);
144
+ await this.renameIndexes(queryRunner, RELATIONSHIP_INDEXES, true);
145
+ await this.renameIndexes(queryRunner, INVENTORY_ITEM_INDEXES, true);
146
+ await queryRunner.query(`ALTER TABLE "InventoryItemRelationship" RENAME TO "TelemetryEntityRelationship"`);
147
+ await queryRunner.query(`ALTER TABLE "InventoryItem" RENAME TO "TelemetryEntity"`);
148
+ }
149
+ }
150
+ //# sourceMappingURL=1786800000000-RenameTelemetryEntityToInventoryItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786800000000-RenameTelemetryEntityToInventoryItem.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.ts"],"names":[],"mappings":"AAwCA,MAAM,sBAAsB,GAAsB;IAChD,cAAc;IACd;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,eAAe;IACf;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,WAAW;IACX;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,0BAA0B;IAC1B;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,wCAAwC;IACxC;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,gFAAgF;IAChF;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;CACF,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,cAAc;IACd;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,oBAAoB;IACpB;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,oBAAoB;IACpB;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,cAAc;IACd;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,eAAe;IACf;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,WAAW;IACX;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,6BAA6B;IAC7B;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,2BAA2B;IAC3B;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,mEAAmE;IACnE;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;CACF,CAAC;AAEF,MAAM,yBAAyB,GAAsB;IACnD,cAAc;IACd;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,oBAAoB;IACpB;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;IACD,oBAAoB;IACpB;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,gCAAgC;KACrC;CACF,CAAC;AAEF,MAAM,YAAY,GAAsB;IACtC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE;IACtD;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,8BAA8B;KACnC;CACF,CAAC;AAEF,MAAM,OAAO,iDAAiD;IAA9D;QAGS,SAAI,GAAG,mDAAmD,CAAC;IAqGpE,CAAC;IAnGS,KAAK,CAAC,aAAa,CACzB,WAAwB,EACxB,KAAwB,EACxB,OAAgB;QAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAEjD,MAAM,WAAW,CAAC,KAAK,CACrB,yBAAyB,IAAI,gBAAgB,EAAE,GAAG,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,WAAwB,EACxB,SAAiB,EACjB,KAAwB,EACxB,OAAgB;QAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,GAAW,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAEjD,MAAM,WAAW,CAAC,KAAK,CACrB,gBAAgB,SAAS,wBAAwB,IAAI,SAAS,EAAE,GAAG,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC;;;;WAIG;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,iFAAiF,CAClF,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEnE,MAAM,IAAI,CAAC,iBAAiB,CAC1B,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,KAAK,CACN,CAAC;QACF,MAAM,IAAI,CAAC,iBAAiB,CAC1B,WAAW,EACX,2BAA2B,EAC3B,yBAAyB,EACzB,KAAK,CACN,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CACrB,kDAAkD,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,SAAS,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,CACvG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,SAAS,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,GAAG,CACnH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CACnH,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,kDAAkD,YAAY,CAAC,CAAC,CAAE,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,CACvG,CAAC;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAC1B,WAAW,EACX,2BAA2B,EAC3B,yBAAyB,EACzB,IAAI,CACL,CAAC;QACF,MAAM,IAAI,CAAC,iBAAiB,CAC1B,WAAW,EACX,eAAe,EACf,2BAA2B,EAC3B,IAAI,CACL,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAEpE,MAAM,WAAW,CAAC,KAAK,CACrB,iFAAiF,CAClF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ /*
2
+ * Two additions to the Inventory product:
3
+ *
4
+ * Archiving — `isArchived` and its bookkeeping columns. This is the
5
+ * disposal route that actually works for this table: deleting a discovered
6
+ * or mirrored row does not stick, because ingest re-creates it on the next
7
+ * reconcile and the poller re-mirrors it on the next sweep. Archiving is a
8
+ * user annotation the reconciler never writes, so it survives
9
+ * re-registration.
10
+ *
11
+ * Custom fields — a `customFields` bag on the item plus the
12
+ * `InventoryItemCustomField` table that defines their shape, following the
13
+ * same two-part pattern as Monitor / Incident / ScheduledMaintenance.
14
+ *
15
+ * Hand-written for the same reason as the rename that precedes it: no
16
+ * database was reachable to run the generator against. Index and foreign key
17
+ * names are TypeORM's own (`"IDX_"/"FK_" + sha1(table_sortedColumns)`,
18
+ * truncated to 26 and 27 characters respectively), so the Schema Drift job
19
+ * finds nothing left to generate. The accompanying test recomputes every one
20
+ * of them from TypeORM's DefaultNamingStrategy.
21
+ */
22
+ export class AddInventoryItemArchiveAndCustomFields1786900000000 {
23
+ constructor() {
24
+ this.name = "AddInventoryItemArchiveAndCustomFields1786900000000";
25
+ }
26
+ async up(queryRunner) {
27
+ await queryRunner.query(`ALTER TABLE "InventoryItem" ADD "isArchived" boolean NOT NULL DEFAULT false`);
28
+ await queryRunner.query(`ALTER TABLE "InventoryItem" ADD "archivedAt" TIMESTAMP WITH TIME ZONE`);
29
+ await queryRunner.query(`ALTER TABLE "InventoryItem" ADD "archivedByUserId" uuid`);
30
+ await queryRunner.query(`ALTER TABLE "InventoryItem" ADD "customFields" jsonb`);
31
+ /*
32
+ * Every list view filters on isArchived alongside the tenant column, so
33
+ * the two are indexed together rather than leaving isArchived to a scan.
34
+ */
35
+ await queryRunner.query(`CREATE INDEX "IDX_0fef41416ab141b1f344fc96c3" ON "InventoryItem" ("projectId", "isArchived") `);
36
+ await queryRunner.query(`ALTER TABLE "InventoryItem" ADD CONSTRAINT "FK_8567c6339bf4889d00d121b3047" FOREIGN KEY ("archivedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
37
+ await queryRunner.query(`CREATE TABLE "InventoryItemCustomField" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "customFieldType" character varying(100), "dropdownOptions" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_InventoryItemCustomField" PRIMARY KEY ("_id"))`);
38
+ await queryRunner.query(`CREATE INDEX "IDX_9f6a4cbd2f57a69e5d6fab9854" ON "InventoryItemCustomField" ("projectId") `);
39
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" ADD CONSTRAINT "FK_9f6a4cbd2f57a69e5d6fab9854d" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
40
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" ADD CONSTRAINT "FK_8f121d4daca9d74f5f948511aef" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
41
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" ADD CONSTRAINT "FK_85f9a41e4ecf947560491917527" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
42
+ }
43
+ async down(queryRunner) {
44
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" DROP CONSTRAINT "FK_85f9a41e4ecf947560491917527"`);
45
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" DROP CONSTRAINT "FK_8f121d4daca9d74f5f948511aef"`);
46
+ await queryRunner.query(`ALTER TABLE "InventoryItemCustomField" DROP CONSTRAINT "FK_9f6a4cbd2f57a69e5d6fab9854d"`);
47
+ await queryRunner.query(`DROP INDEX "public"."IDX_9f6a4cbd2f57a69e5d6fab9854"`);
48
+ await queryRunner.query(`DROP TABLE "InventoryItemCustomField"`);
49
+ await queryRunner.query(`ALTER TABLE "InventoryItem" DROP CONSTRAINT "FK_8567c6339bf4889d00d121b3047"`);
50
+ await queryRunner.query(`DROP INDEX "public"."IDX_0fef41416ab141b1f344fc96c3"`);
51
+ await queryRunner.query(`ALTER TABLE "InventoryItem" DROP COLUMN "customFields"`);
52
+ await queryRunner.query(`ALTER TABLE "InventoryItem" DROP COLUMN "archivedByUserId"`);
53
+ await queryRunner.query(`ALTER TABLE "InventoryItem" DROP COLUMN "archivedAt"`);
54
+ await queryRunner.query(`ALTER TABLE "InventoryItem" DROP COLUMN "isArchived"`);
55
+ }
56
+ }
57
+ //# sourceMappingURL=1786900000000-AddInventoryItemArchiveAndCustomFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1786900000000-AddInventoryItemArchiveAndCustomFields.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,mDAAmD;IAAhE;QAGS,SAAI,GAAG,qDAAqD,CAAC;IAgFtE,CAAC;IA9EQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,6EAA6E,CAC9E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uEAAuE,CACxE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QAEF;;;WAGG;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,+FAA+F,CAChG,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CACrB,8KAA8K,CAC/K,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CACrB,ikBAAikB,CAClkB,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4FAA4F,CAC7F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oLAAoL,CACrL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wLAAwL,CACzL,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wLAAwL,CACzL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,yFAAyF,CAC1F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yFAAyF,CAC1F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yFAAyF,CAC1F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEjE,MAAM,WAAW,CAAC,KAAK,CACrB,8EAA8E,CAC/E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ /*
2
+ * Schema for the on-call notification fallback: a page routed to a responder who
3
+ * has no notification rule matching the event's rule type and severity now goes
4
+ * out on whatever verified method they do have, instead of dead-ending with an
5
+ * Error status nobody reads.
6
+ *
7
+ * Hand-written rather than emitted by `npm run generate-postgres-migration`. The
8
+ * generator diffs the entire entity set against the live database, and several
9
+ * models in this worktree are being changed in parallel, so a generated file
10
+ * would have swept up unrelated in-flight columns. The statements below are
11
+ * exactly what the generator produces for these column definitions — compare
12
+ * `enableWhatsAppNotifications` (1759943124812) and `enableTelegramNotifications`
13
+ * (1776761171349) for the Project booleans, and `isFeatureFlagMonitorGroupsEnabled`
14
+ * in the InitialMigration for the nullable-with-default shape.
15
+ *
16
+ * UserNotificationRule.isOptOut is nullable because a rule that predates this
17
+ * column is simply not an opt-out; the DEFAULT covers rows written afterwards and
18
+ * the backfill for existing rows is the default itself. The two Project columns
19
+ * are NOT NULL like every other project boolean, so existing projects land on
20
+ * false: the fallback on, and no owner notification recorded as sent yet.
21
+ *
22
+ * UserOnCallLogTimeline.userNotificationRuleId is dropped to NULL-able because
23
+ * the fallback delivers through a UserNotificationRule constructed in memory and
24
+ * never saved — there is deliberately no stored rule behind a fallback page, so
25
+ * there is no id to record. It has been NOT NULL since the InitialMigration
26
+ * (1717605043663), which means that without this statement every fallback insert
27
+ * fails its required-field check and the feature cannot deliver anything at all.
28
+ * The foreign key on the column stays as it is: Postgres does not check a FK when
29
+ * the referencing column is NULL, so a NULL row is legal against the existing
30
+ * constraint and no index or constraint needs rebuilding.
31
+ */
32
+ export class AddOnCallNotificationFallbackColumns1787000000000 {
33
+ constructor() {
34
+ this.name = "AddOnCallNotificationFallbackColumns1787000000000";
35
+ }
36
+ async up(queryRunner) {
37
+ await queryRunner.query(`ALTER TABLE "UserNotificationRule" ADD "isOptOut" boolean DEFAULT false`);
38
+ await queryRunner.query(`ALTER TABLE "Project" ADD "disableOnCallNotificationFallback" boolean NOT NULL DEFAULT false`);
39
+ await queryRunner.query(`ALTER TABLE "Project" ADD "onCallFallbackUsedNotificationSentToOwners" boolean NOT NULL DEFAULT false`);
40
+ await queryRunner.query(`ALTER TABLE "UserOnCallLogTimeline" ALTER COLUMN "userNotificationRuleId" DROP NOT NULL`);
41
+ }
42
+ async down(queryRunner) {
43
+ /*
44
+ * Restoring NOT NULL is only possible once nothing violates it, and after the
45
+ * fallback has run there will be timeline rows with a NULL rule id — one per
46
+ * fallback page delivered. A bare `SET NOT NULL` would abort the whole
47
+ * rollback on the first such row, so the rows are deleted first.
48
+ *
49
+ * This deletion is destructive and worth understanding before running down().
50
+ * What it removes is exactly the set of rows that could not have existed
51
+ * before this migration: fallback delivery records. Their history is real —
52
+ * they describe pages that were genuinely sent — but there is no way to
53
+ * express them in the pre-migration schema, so reverting the schema means
54
+ * giving them up. An operator who wants to keep the record should copy them
55
+ * out first:
56
+ *
57
+ * SELECT * FROM "UserOnCallLogTimeline" WHERE "userNotificationRuleId" IS NULL;
58
+ *
59
+ * Ordinary rows are untouched: before this migration the column was NOT NULL,
60
+ * so nothing predating it can match.
61
+ */
62
+ await queryRunner.query(`DELETE FROM "UserOnCallLogTimeline" WHERE "userNotificationRuleId" IS NULL`);
63
+ await queryRunner.query(`ALTER TABLE "UserOnCallLogTimeline" ALTER COLUMN "userNotificationRuleId" SET NOT NULL`);
64
+ await queryRunner.query(`ALTER TABLE "Project" DROP COLUMN "onCallFallbackUsedNotificationSentToOwners"`);
65
+ await queryRunner.query(`ALTER TABLE "Project" DROP COLUMN "disableOnCallNotificationFallback"`);
66
+ await queryRunner.query(`ALTER TABLE "UserNotificationRule" DROP COLUMN "isOptOut"`);
67
+ }
68
+ }
69
+ //# sourceMappingURL=1787000000000-AddOnCallNotificationFallbackColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1787000000000-AddOnCallNotificationFallbackColumns.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,iDAAiD;IAA9D;QAGS,SAAI,GAAW,mDAAmD,CAAC;IAqD5E,CAAC;IAnDQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,yEAAyE,CAC1E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8FAA8F,CAC/F,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uGAAuG,CACxG,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC;;;;;;;;;;;;;;;;;;WAkBG;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,4EAA4E,CAC7E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,wFAAwF,CACzF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,gFAAgF,CACjF,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,uEAAuE,CACxE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ /*
2
+ * AIConversation.pageContext: the conversation's subject — the dashboard page
3
+ * (usually one specific entity, e.g. an incident) the user was looking at
4
+ * when the conversation started. ChatAgentRunner persists it from the first
5
+ * turn that carries a sanitized page context, and turns that arrive without
6
+ * one fall back to it, so "this incident" keeps resolving after the user
7
+ * navigates away mid-conversation.
8
+ *
9
+ * Hand-written rather than emitted by `npm run generate-postgres-migration`.
10
+ * The generator diffs the entire entity set against the live database, and
11
+ * several models in this worktree are being changed in parallel, so a
12
+ * generated file would have swept up unrelated in-flight columns. The
13
+ * statement below is exactly what the generator produces for a nullable JSON
14
+ * column — compare "widgets" and "pausedState" in
15
+ * 1783453297388-AddAIChatWriteActionsAndWidgets.
16
+ *
17
+ * Nullable with no default: a conversation without a pinned subject is the
18
+ * normal state (the user opened Ask AI from nowhere in particular), and every
19
+ * pre-existing conversation is exactly that.
20
+ */
21
+ export class AddAIConversationPageContext1787100000000 {
22
+ constructor() {
23
+ this.name = "AddAIConversationPageContext1787100000000";
24
+ }
25
+ async up(queryRunner) {
26
+ await queryRunner.query(`ALTER TABLE "AIConversation" ADD "pageContext" jsonb`);
27
+ }
28
+ async down(queryRunner) {
29
+ await queryRunner.query(`ALTER TABLE "AIConversation" DROP COLUMN "pageContext"`);
30
+ }
31
+ }
32
+ //# sourceMappingURL=1787100000000-AddAIConversationPageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1787100000000-AddAIConversationPageContext.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,yCAAyC;IAAtD;QAGS,SAAI,GAAW,2CAA2C,CAAC;IAapE,CAAC;IAXQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /*
2
+ * AIConversationMessage.userFeedback: thumbs feedback ("Up" | "Down") the user
3
+ * left on an assistant message via POST /ai-chat/message-feedback. Nullable
4
+ * with no default — no feedback is the normal state, and every pre-existing
5
+ * message is exactly that. Clearing feedback writes NULL back.
6
+ *
7
+ * Hand-written rather than emitted by `npm run generate-postgres-migration`.
8
+ * The generator diffs the entire entity set against the live database, and
9
+ * several models in this worktree are being changed in parallel, so a
10
+ * generated file would have swept up unrelated in-flight columns. The
11
+ * statement below is exactly what the generator produces for a nullable
12
+ * ShortText column (ColumnLength.ShortText = 100) — compare "analysisTldr" in
13
+ * 1786600000000-AddInvestigationAnalysisTldr for the varchar shape.
14
+ */
15
+ export class AddAIChatMessageFeedback1787200000000 {
16
+ constructor() {
17
+ this.name = "AddAIChatMessageFeedback1787200000000";
18
+ }
19
+ async up(queryRunner) {
20
+ await queryRunner.query(`ALTER TABLE "AIConversationMessage" ADD "userFeedback" character varying(100)`);
21
+ }
22
+ async down(queryRunner) {
23
+ await queryRunner.query(`ALTER TABLE "AIConversationMessage" DROP COLUMN "userFeedback"`);
24
+ }
25
+ }
26
+ //# sourceMappingURL=1787200000000-AddAIChatMessageFeedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1787200000000-AddAIChatMessageFeedback.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,qCAAqC;IAAlD;QAGS,SAAI,GAAW,uCAAuC,CAAC;IAahE,CAAC;IAXQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,gEAAgE,CACjE,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Partial indexes behind the two episode-member "owner notified" sweeps:
3
+ *
4
+ * AlertEpisodeOwner:SendAlertAddedEmail -> AlertEpisodeMember
5
+ * IncidentEpisodeOwner:SendIncidentAddedEmail -> IncidentEpisodeMember
6
+ *
7
+ * Both run EVERY_MINUTE and select the rows whose notify flag is still
8
+ * false. The flag is written false on insert and flipped true by the sweep
9
+ * itself, so in steady state nearly every row is true and each tick was a
10
+ * full sequential scan that returned nothing — 2 x 1,440 = 2,880 zero-row
11
+ * scans a day across the two tables.
12
+ *
13
+ * PARTIAL rather than a plain index on the column: a full index would be the
14
+ * size of the table to serve a predicate matching a handful of rows, and
15
+ * every notification write would maintain it. Restricted to
16
+ * `flag = false AND "deletedAt" IS NULL` it stays about the size of the
17
+ * sweep's own working set. The soft-delete clause is not decoration: the
18
+ * sweep always carries it (TypeORM adds it for the delete-date column), and
19
+ * nothing ever flips the flag on a soft-deleted row, so without it those
20
+ * rows would sit in the index forever.
21
+ *
22
+ * Hand-written rather than emitted by `npm run generate-postgres-migration`,
23
+ * which needs a live Postgres to diff against and none was reachable. Both
24
+ * statements are exactly what the generator emits for these decorators:
25
+ * TypeORM's DefaultNamingStrategy names an index
26
+ * `"IDX_" + sha1(table_sortedColumns_where).slice(0, 26)` — note the WHERE
27
+ * text is part of the hashed key, so the names below are tied to the exact
28
+ * predicate string in the models — and PostgresQueryRunner.createIndexSql
29
+ * emits `CREATE INDEX <name> ON <table> (<columns>) WHERE <where>`. Compare
30
+ * "IDX_91e00aa0bbe2c0cdcfbf884a2d" on "NetworkEndpoint" in
31
+ * 1784757142154-AddNetworkSiteHierarchyAndEndpoints for the partial-index
32
+ * shape. The accompanying test recomputes both names from TypeORM's own
33
+ * naming strategy so the Schema Drift job finds nothing left to generate.
34
+ */
35
+ export class AddEpisodeMemberNotifyIndexes1787300000000 {
36
+ constructor() {
37
+ this.name = "AddEpisodeMemberNotifyIndexes1787300000000";
38
+ }
39
+ async up(queryRunner) {
40
+ await queryRunner.query(`CREATE INDEX "IDX_76aa0238e90e515992b65bc0a6" ON "AlertEpisodeMember" ("isOwnerNotifiedOfAlertAdded") WHERE "isOwnerNotifiedOfAlertAdded" = false AND "deletedAt" IS NULL`);
41
+ await queryRunner.query(`CREATE INDEX "IDX_79e3a24f776e52d635dbeb9c27" ON "IncidentEpisodeMember" ("isOwnerNotifiedOfIncidentAdded") WHERE "isOwnerNotifiedOfIncidentAdded" = false AND "deletedAt" IS NULL`);
42
+ }
43
+ async down(queryRunner) {
44
+ await queryRunner.query(`DROP INDEX "public"."IDX_79e3a24f776e52d635dbeb9c27"`);
45
+ await queryRunner.query(`DROP INDEX "public"."IDX_76aa0238e90e515992b65bc0a6"`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=1787300000000-AddEpisodeMemberNotifyIndexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1787300000000-AddEpisodeMemberNotifyIndexes.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,0CAA0C;IAAvD;QAGS,SAAI,GAAW,4CAA4C,CAAC;IAmBrE,CAAC;IAjBQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,2KAA2K,CAC5K,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oLAAoL,CACrL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;IACJ,CAAC;CACF"}
@@ -516,7 +516,17 @@ import { MigrationName1786446545142 } from "./1786446545142-MigrationName";
516
516
  import { AddMonitorDependency1786449497966 } from "./1786449497966-AddMonitorDependency";
517
517
  import { AddDeletedProjectTable1786461136170 } from "./1786461136170-AddDeletedProjectTable";
518
518
  import { MigrationName1786551733814 } from "./1786551733814-MigrationName";
519
+ import { AddInventoryItemArchiveAndCustomFields1786900000000 } from "./1786900000000-AddInventoryItemArchiveAndCustomFields";
520
+ import { RenameTelemetryEntityToInventoryItem1786800000000 } from "./1786800000000-RenameTelemetryEntityToInventoryItem";
519
521
  import { AddWorkflowLogStepTrace1786559879134 } from "./1786559879134-AddWorkflowLogStepTrace";
522
+ import { AddMonitoringMethodToNetworkDevice1786625176831 } from "./1786625176831-AddMonitoringMethodToNetworkDevice";
523
+ import { AddNetworkDeviceLink1786634985763 } from "./1786634985763-AddNetworkDeviceLink";
524
+ import { AddNetworkDeviceLinkRule1786639512056 } from "./1786639512056-AddNetworkDeviceLinkRule";
525
+ import { AddNetworkTopologySuppression1786639972982 } from "./1786639972982-AddNetworkTopologySuppression";
526
+ import { AddOnCallNotificationFallbackColumns1787000000000 } from "./1787000000000-AddOnCallNotificationFallbackColumns";
527
+ import { AddAIConversationPageContext1787100000000 } from "./1787100000000-AddAIConversationPageContext";
528
+ import { AddAIChatMessageFeedback1787200000000 } from "./1787200000000-AddAIChatMessageFeedback";
529
+ import { AddEpisodeMemberNotifyIndexes1787300000000 } from "./1787300000000-AddEpisodeMemberNotifyIndexes";
520
530
  export default [
521
531
  InitialMigration,
522
532
  MigrationName1717678334852,
@@ -1037,5 +1047,15 @@ export default [
1037
1047
  AddDeletedProjectTable1786461136170,
1038
1048
  MigrationName1786551733814,
1039
1049
  AddWorkflowLogStepTrace1786559879134,
1050
+ AddMonitoringMethodToNetworkDevice1786625176831,
1051
+ AddNetworkDeviceLink1786634985763,
1052
+ AddNetworkDeviceLinkRule1786639512056,
1053
+ AddNetworkTopologySuppression1786639972982,
1054
+ RenameTelemetryEntityToInventoryItem1786800000000,
1055
+ AddInventoryItemArchiveAndCustomFields1786900000000,
1056
+ AddOnCallNotificationFallbackColumns1787000000000,
1057
+ AddAIConversationPageContext1787100000000,
1058
+ AddAIChatMessageFeedback1787200000000,
1059
+ AddEpisodeMemberNotifyIndexes1787300000000,
1040
1060
  ];
1041
1061
  //# sourceMappingURL=Index.js.map