@oneuptime/common 12.0.7 → 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.
- package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +1 -1
- package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +1 -1
- package/Models/DatabaseModels/AIConversation.ts +32 -0
- package/Models/DatabaseModels/AIConversationMessage.ts +41 -0
- package/Models/DatabaseModels/AlertEpisodeMember.ts +27 -0
- package/Models/DatabaseModels/IncidentEpisodeMember.ts +28 -0
- package/Models/DatabaseModels/Index.ts +12 -4
- package/Models/DatabaseModels/{TelemetryEntity.ts → InventoryItem.ts} +184 -9
- package/Models/DatabaseModels/InventoryItemCustomField.ts +434 -0
- package/Models/DatabaseModels/{TelemetryEntityRelationship.ts → InventoryItemRelationship.ts} +33 -7
- package/Models/DatabaseModels/NetworkDevice.ts +141 -0
- package/Models/DatabaseModels/NetworkDeviceLink.ts +699 -0
- package/Models/DatabaseModels/NetworkDeviceLinkRule.ts +467 -0
- package/Models/DatabaseModels/NetworkTopologySuppression.ts +429 -0
- package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +9 -0
- package/Models/DatabaseModels/Project.ts +78 -0
- package/Models/DatabaseModels/UserCall.ts +42 -0
- package/Models/DatabaseModels/UserEmail.ts +44 -0
- package/Models/DatabaseModels/UserNotificationRule.ts +425 -55
- package/Models/DatabaseModels/UserOnCallLogTimeline.ts +24 -2
- package/Models/DatabaseModels/UserPush.ts +49 -0
- package/Models/DatabaseModels/UserSMS.ts +43 -0
- package/Models/DatabaseModels/UserTelegram.ts +59 -0
- package/Models/DatabaseModels/UserWebhook.ts +52 -0
- package/Models/DatabaseModels/UserWhatsApp.ts +41 -0
- package/Models/DatabaseModels/WorkflowLog.ts +38 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +12 -0
- package/Server/API/AIChatAPI.ts +315 -1
- package/Server/API/DashboardAPI.ts +217 -1
- package/Server/API/OnCallReadinessAPI.ts +841 -0
- package/Server/API/TeamComplianceAPI.ts +69 -17
- package/Server/API/TelemetryAPI.ts +220 -12
- package/Server/API/UserAPI.ts +16 -1
- package/Server/EnvironmentConfig.ts +52 -0
- package/Server/Infrastructure/Postgres/DataSourceOptions.ts +22 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +4 -4
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +5 -5
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.ts +41 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.ts +82 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.ts +91 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.ts +47 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.ts +255 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.ts +107 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.ts +90 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.ts +39 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.ts +33 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +24 -0
- package/Server/Infrastructure/Queue.ts +78 -13
- package/Server/Middleware/MasterAdminAuthorization.ts +11 -6
- package/Server/Middleware/PublicDashboardRateLimit.ts +593 -0
- package/Server/Services/AIService.ts +7 -0
- package/Server/Services/AlertEpisodeStateTimelineService.ts +29 -0
- package/Server/Services/AlertSeverityService.ts +63 -0
- package/Server/Services/DashboardService.ts +9 -10
- package/Server/Services/DatabaseService.ts +32 -2
- package/Server/Services/IncidentEpisodeStateTimelineService.ts +29 -0
- package/Server/Services/IncidentSeverityService.ts +76 -0
- package/Server/Services/Index.ts +12 -4
- package/Server/Services/InventoryItemCustomFieldService.ts +9 -0
- package/Server/Services/{TelemetryEntityRelationshipService.ts → InventoryItemRelationshipService.ts} +7 -4
- package/Server/Services/{TelemetryEntityService.ts → InventoryItemService.ts} +203 -21
- package/Server/Services/LogAggregationService.ts +45 -8
- package/Server/Services/MetricAggregationService.ts +121 -0
- package/Server/Services/MetricService.ts +7 -7
- package/Server/Services/NetworkDeviceLinkRuleService.ts +10 -0
- package/Server/Services/NetworkDeviceLinkService.ts +84 -0
- package/Server/Services/NetworkDeviceService.ts +140 -0
- package/Server/Services/NetworkSiteService.ts +77 -25
- package/Server/Services/NetworkTopologySuppressionService.ts +84 -0
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +41 -29
- package/Server/Services/OnCallDutyPolicyExecutionLogService.ts +8 -0
- package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +62 -13
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +61 -1
- package/Server/Services/OnCallNotificationAlertingService.ts +742 -0
- package/Server/Services/OnCallReadinessService.ts +2803 -0
- package/Server/Services/OnCallSetupReminderService.ts +955 -0
- package/Server/Services/ProfileAggregationService.ts +123 -0
- package/Server/Services/StatusPageService.ts +9 -10
- package/Server/Services/TeamComplianceService.ts +429 -252
- package/Server/Services/UserCallService.ts +26 -1
- package/Server/Services/UserEmailService.ts +26 -1
- package/Server/Services/UserNotificationRuleAdminService.ts +1183 -0
- package/Server/Services/UserNotificationRuleService.ts +3812 -333
- package/Server/Services/UserOnCallLogService.ts +561 -48
- package/Server/Services/UserPushService.ts +29 -0
- package/Server/Services/UserService.ts +11 -0
- package/Server/Services/UserSmsService.ts +26 -1
- package/Server/Services/UserTelegramService.ts +24 -1
- package/Server/Services/UserWebhookService.ts +28 -1
- package/Server/Services/UserWhatsAppService.ts +24 -1
- package/Server/Types/Database/Permissions/BasePermission.ts +19 -0
- package/Server/Types/Database/Permissions/CreatePermission.ts +164 -0
- package/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.ts +340 -0
- package/Server/Types/Database/Permissions/QueryPermission.ts +48 -0
- package/Server/Types/Database/Permissions/TenantPermission.ts +8 -1
- package/Server/Types/Workflow/Components/API/Delete.ts +1 -1
- package/Server/Types/Workflow/Components/API/Get.ts +1 -1
- package/Server/Types/Workflow/Components/API/Patch.ts +1 -1
- package/Server/Types/Workflow/Components/API/Post.ts +1 -1
- package/Server/Types/Workflow/Components/API/Put.ts +1 -1
- package/Server/Types/Workflow/Components/API/Utils.ts +44 -1
- package/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.ts +29 -5
- package/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.ts +18 -10
- package/Server/Types/Workflow/Components/BaseModel/ModelArguments.ts +55 -0
- package/Server/Types/Workflow/Components/Conditions/IfElse.ts +3 -17
- package/Server/Types/Workflow/Components/Email.ts +25 -7
- package/Server/Types/Workflow/Components/JavaScript.ts +10 -3
- package/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.ts +1 -1
- package/Server/Types/Workflow/TriggerCode.ts +12 -0
- package/Server/Types/Workflow/Workflow.ts +5 -0
- package/Server/Utils/AI/Chat/ChatAgentRunner.ts +643 -48
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +32 -3
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +20 -6
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +7 -0
- package/Server/Utils/AI/Toolbox/AIActionTools.ts +2 -2
- package/Server/Utils/AI/Toolbox/AIMetaTools.ts +863 -0
- package/Server/Utils/AI/Toolbox/AlertTools.ts +177 -15
- package/Server/Utils/AI/Toolbox/IncidentTools.ts +191 -10
- package/Server/Utils/AI/Toolbox/Index.ts +48 -0
- package/Server/Utils/AI/Toolbox/MonitorTools.ts +298 -11
- package/Server/Utils/AI/Toolbox/NoteWriteTools.ts +295 -0
- package/Server/Utils/AI/Toolbox/OnCallTools.ts +1246 -0
- package/Server/Utils/AI/Toolbox/RunbookTools.ts +424 -0
- package/Server/Utils/AI/Toolbox/SloTools.ts +456 -0
- package/Server/Utils/AI/Toolbox/StatusPageTools.ts +559 -0
- package/Server/Utils/AI/Toolbox/TeamTools.ts +327 -0
- package/Server/Utils/AI/Toolbox/TimelineTools.ts +615 -0
- package/Server/Utils/AI/Toolbox/WorkflowProbeTools.ts +664 -0
- package/Server/Utils/ClientIp.ts +221 -0
- package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +47 -0
- package/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.ts +163 -0
- package/Server/Utils/Dashboard/PublicDashboardSloWidget.ts +147 -0
- package/Server/Utils/Express.ts +12 -17
- package/Server/Utils/LLM/LLMService.ts +85 -8
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +204 -10
- package/Server/Utils/SSRFProtection.ts +98 -23
- package/Server/Utils/StartServer.ts +12 -3
- package/Server/Utils/Telemetry/EntityRegistry.ts +205 -18
- package/Server/Utils/Telemetry/InventoryEntityRegistry.ts +689 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +160 -52
- package/Server/Utils/VM/VMAPI.ts +56 -8
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +7 -3
- package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +2146 -0
- package/Tests/App/Dashboard/CreateWorkflowModal.test.tsx +561 -0
- package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +2470 -0
- package/Tests/App/Dashboard/MonitorCriteriaAttributeFilter.test.tsx +574 -0
- package/Tests/App/Dashboard/OnCallPreventionGuards.test.tsx +1897 -0
- package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3606 -0
- package/Tests/App/Dashboard/OnCallRulesDeleteGuard.test.tsx +784 -0
- package/Tests/App/Dashboard/OnCallRulesTable.test.tsx +1119 -0
- package/Tests/App/Dashboard/SloWidgetFetching.test.tsx +531 -0
- package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +1312 -0
- package/Tests/App/Dashboard/UserSettingsSetupChecklistPage.test.tsx +1390 -0
- package/Tests/Models/InventoryItemModel.test.ts +174 -0
- package/Tests/Models/InventoryItemNaming.test.ts +302 -0
- package/Tests/Server/API/AIChatCancelAndFeedback.test.ts +437 -0
- package/Tests/Server/API/DashboardPublicRateLimit.test.ts +659 -0
- package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +18 -0
- package/Tests/Server/API/DashboardPublicSloAPI.test.ts +880 -0
- package/Tests/Server/API/Helpers.ts +24 -15
- package/Tests/Server/API/OnCallReadinessAPI.test.ts +2680 -0
- package/Tests/Server/API/OnCallSetupReminderAPI.test.ts +915 -0
- package/Tests/Server/API/UserProjectsAPI.test.ts +478 -4
- package/Tests/Server/Infrastructure/Postgres/EpisodeMemberNotifyIndexesMigration.test.ts +533 -0
- package/Tests/Server/Infrastructure/Postgres/InventoryItemArchiveMigration.test.ts +213 -0
- package/Tests/Server/Infrastructure/Postgres/RenameInventoryItemMigration.test.ts +432 -0
- package/Tests/Server/Infrastructure/Queue.test.ts +293 -0
- package/Tests/Server/Middleware/PublicDashboardRateLimit.test.ts +1645 -0
- package/Tests/Server/Services/AdminRuleEditGuards.test.ts +2848 -0
- package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1393 -0
- package/Tests/Server/Services/EpisodeRuleSeverityRepair.test.ts +1802 -0
- package/Tests/Server/Services/EpisodeStateTimelineNote.test.ts +304 -0
- package/Tests/Server/Services/InventoryItemDisplayName.test.ts +339 -0
- package/Tests/Server/Services/InventoryItemManualCreate.test.ts +248 -0
- package/Tests/Server/Services/IpAllowlistSpoofing.test.ts +450 -0
- package/Tests/Server/Services/LogAggregationService.test.ts +235 -1
- package/Tests/Server/Services/MetricAggregationService.test.ts +231 -0
- package/Tests/Server/Services/MetricEntityMVKeyParity.test.ts +80 -29
- package/Tests/Server/Services/MetricServiceAggregate.test.ts +30 -30
- package/Tests/Server/Services/NetworkSiteService.test.ts +18 -3
- package/Tests/Server/Services/NotificationChannelEventCoverage.test.ts +1728 -0
- package/Tests/Server/Services/NotificationDeletionImpact.test.ts +2402 -0
- package/Tests/Server/Services/OnCallDutyPolicyExecutionLogTimelineGapFeed.test.ts +394 -0
- package/Tests/Server/Services/OnCallNotificationFallback.test.ts +1744 -0
- package/Tests/Server/Services/OnCallReadinessService.test.ts +4295 -0
- package/Tests/Server/Services/OnCallSetupReminder.test.ts +1272 -0
- package/Tests/Server/Services/OnCallWeeklyReadinessDigest.test.ts +1021 -0
- package/Tests/Server/Services/ProfileAggregationService.test.ts +296 -0
- package/Tests/Server/Services/SeverityCreationRuleBackfill.test.ts +1536 -0
- package/Tests/Server/Services/SeverityRuleBackfill.test.ts +1818 -0
- package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +1845 -0
- package/Tests/Server/Services/UserNotificationRuleAdminGuards.test.ts +1394 -0
- package/Tests/Server/Services/UserNotificationRuleDefaultCreation.test.ts +1166 -0
- package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1468 -0
- package/Tests/Server/Services/UserOnCallLogNoNotificationRules.test.ts +1457 -0
- package/Tests/Server/Types/Database/Permissions/AdminNotificationRuleAccess.test.ts +1546 -0
- package/Tests/Server/Types/Database/Permissions/CreateOwnershipScoping.test.ts +529 -0
- package/Tests/Server/Types/Database/Permissions/OwnerOnlyColumns.test.ts +1219 -0
- package/Tests/Server/Types/Database/Permissions/UserNotificationRuleScoping.test.ts +1089 -0
- package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +2 -1
- package/Tests/Server/Types/Workflow/Components/ApiComponentHeaders.test.ts +192 -0
- package/Tests/Server/Types/Workflow/Components/BaseModelDatabaseComponents.test.ts +190 -0
- package/Tests/Server/Types/Workflow/Components/ChatWebhookComponents.test.ts +44 -14
- package/Tests/Server/Types/Workflow/Components/Email.test.ts +151 -0
- package/Tests/Server/Types/Workflow/Components/IfElse.test.ts +98 -0
- package/Tests/Server/Types/Workflow/Components/JavaScript.test.ts +51 -0
- package/Tests/Server/Utils/AI/AIMetaTools.test.ts +586 -0
- package/Tests/Server/Utils/AI/AlertMonitorFilters.test.ts +582 -0
- package/Tests/Server/Utils/AI/ChatAgentRunner.test.ts +726 -0
- package/Tests/Server/Utils/AI/IncidentToolsFilters.test.ts +315 -0
- package/Tests/Server/Utils/AI/LLMServiceStopReason.test.ts +314 -0
- package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +26 -3
- package/Tests/Server/Utils/AI/NoteWriteTools.test.ts +268 -0
- package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +169 -0
- package/Tests/Server/Utils/AI/OnCallTools.test.ts +664 -0
- package/Tests/Server/Utils/AI/RunbookTools.test.ts +325 -0
- package/Tests/Server/Utils/AI/SloTools.test.ts +306 -0
- package/Tests/Server/Utils/AI/StatusPageTools.test.ts +391 -0
- package/Tests/Server/Utils/AI/TeamTools.test.ts +257 -0
- package/Tests/Server/Utils/AI/TimelineTools.test.ts +472 -0
- package/Tests/Server/Utils/AI/WorkflowProbeTools.test.ts +428 -0
- package/Tests/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.test.ts +152 -0
- package/Tests/Server/Utils/ClientIp.test.ts +438 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +171 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.test.ts +383 -0
- package/Tests/Server/Utils/EntityRegistryRowFence.test.ts +23 -25
- package/Tests/Server/Utils/MicrosoftTeamsWebhookUrlValidation.test.ts +6 -0
- package/Tests/Server/Utils/Monitor/Criteria/DnssecMonitorCriteria.test.ts +307 -0
- package/Tests/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.test.ts +468 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorTelemetryDeepLinks.test.ts +460 -0
- package/Tests/Server/Utils/ResponseRateLimitStatusCodes.test.ts +137 -0
- package/Tests/Server/Utils/SSRFProtectionBypasses.test.ts +40 -8
- package/Tests/Server/Utils/SSRFProtectionUserInfo.test.ts +351 -0
- package/Tests/Server/Utils/Telemetry/EntityRegistryRetirement.test.ts +531 -0
- package/Tests/Server/Utils/Telemetry/InventoryEntityRegistry.test.ts +322 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +356 -39
- package/Tests/Server/Utils/VM/VMAPISubstitution.test.ts +243 -0
- package/Tests/Types/IP/IP.test.ts +263 -0
- package/Tests/Types/IP/IPWhitelist.test.ts +197 -0
- package/Tests/Types/IP/IPv6.test.ts +12 -1
- package/Tests/Types/Monitor/SnmpOid.test.ts +64 -0
- package/Tests/Types/NetworkDevice/NetworkDeviceMonitoringMethod.test.ts +110 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilMergeAudit.test.ts +106 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilMergeDifferential.test.ts +511 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageEndToEnd.test.ts +489 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageGapTolerance.test.ts +479 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleCoverageState.test.ts +822 -0
- package/Tests/Types/SerializableObjectDictionaryImportCycle.test.ts +197 -0
- package/Tests/Types/Telemetry/EntityTypeGroups.test.ts +140 -0
- package/Tests/Types/Workflow/BaseModelComponents.test.ts +429 -0
- package/Tests/Types/Workflow/Components/BaseModel.test.ts +225 -0
- package/Tests/Types/Workflow/IntegrationCredentialMetadata.test.ts +100 -0
- package/Tests/Types/Workflow/StepTrace.test.ts +235 -0
- package/Tests/Types/Workflow/TemplateSyntax.test.ts +491 -0
- package/Tests/Types/Workflow/Templates.test.ts +1218 -0
- package/Tests/UI/Components/ActiveFilterChipsOpenRoute.test.tsx +82 -0
- package/Tests/UI/Components/ComponentsModal.test.tsx +564 -7
- package/Tests/UI/Components/CustomTimeRangeModal.test.tsx +459 -0
- package/Tests/UI/Components/DictionaryAttributeFilterRow.test.tsx +477 -0
- package/Tests/UI/Components/Forms/AnchoredFieldPopupKeyboard.test.tsx +382 -0
- package/Tests/UI/Components/Forms/ColorPickerPicking.test.tsx +569 -0
- package/Tests/UI/Components/Forms/ValidationJSON.test.ts +241 -0
- package/Tests/UI/Components/KeyboardShortcut.test.tsx +95 -0
- package/Tests/UI/Components/LogDetailsPanelCrossSignal.test.tsx +448 -0
- package/Tests/UI/Components/LogTimeRangePicker.test.tsx +42 -0
- package/Tests/UI/Components/LogsTableCrossLinks.test.tsx +263 -0
- package/Tests/UI/Components/ModalPortalDismissal.test.tsx +90 -0
- package/Tests/UI/Components/PendingProjectInvitations.test.tsx +913 -0
- package/Tests/UI/Components/SimpleLogViewer.test.tsx +228 -0
- package/Tests/UI/Components/TableRowSelectability.test.tsx +312 -0
- package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +49 -7
- package/Tests/UI/Components/TimeRangePickerDropdown.test.tsx +325 -0
- package/Tests/UI/Components/Workflow/GraphLint.test.ts +893 -0
- package/Tests/UI/Components/Workflow/GraphLintSummary.test.ts +755 -0
- package/Tests/UI/Components/Workflow/ModelColumnEditor.test.ts +522 -0
- package/Tests/UI/Components/Workflow/ModelColumnEditorServerContract.test.ts +193 -0
- package/Tests/UI/Components/Workflow/ModelSchema.test.ts +388 -0
- package/Tests/UI/Components/Workflow/RunStatusWatcher.test.ts +210 -0
- package/Tests/UI/Components/Workflow/StepTraceViewer.test.tsx +256 -0
- package/Tests/UI/Components/Workflow/UseRunWatch.test.tsx +665 -0
- package/Tests/UI/Components/Workflow/Utils.test.ts +192 -0
- package/Tests/UI/Components/Workflow/WorkflowIssuesModal.test.tsx +485 -0
- package/Tests/UI/Components/Workflow/WorkflowLogModal.test.tsx +478 -0
- package/Tests/UI/Components/Workflow/WorkflowStatusBar.test.tsx +379 -0
- package/Tests/UI/EsbuildConfig.test.ts +607 -0
- package/Tests/UI/Monitor/MonitorStepCriteriaView.test.tsx +432 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +5 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +11 -4
- package/Tests/UI/Utils/ModelAPICreateMiscData.test.ts +94 -0
- package/Tests/UI/Utils/Platform.test.ts +147 -0
- package/Tests/UI/Utils/ProjectInvitationDisplay.test.ts +357 -0
- package/Tests/Utils/Monitor/NetworkDeviceLinkRuleUtil.test.ts +198 -0
- package/Tests/Utils/Monitor/NetworkDeviceRoleUtil.test.ts +514 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +727 -0
- package/Tests/Utils/Schema/AnalyticsModelSchema.test.ts +469 -0
- package/Tests/Utils/Schema/ModelSchema.test.ts +268 -0
- package/Tests/Utils/Telemetry/CrossSignalScope.test.ts +698 -0
- package/Tests/Utils/Telemetry/EntityKeyNonTelemetry.test.ts +193 -0
- package/Tests/__mocks__/bullmq.js +55 -0
- package/Types/AI/AIChatMessageStatus.ts +8 -1
- package/Types/AI/AIChatTypes.ts +12 -0
- package/Types/Database/AccessControl/OwnerOnlyColumn.ts +88 -0
- package/Types/Exception/ExceptionCode.ts +2 -0
- package/Types/Exception/ServiceUnavailableException.ts +8 -0
- package/Types/Exception/TooManyRequestsException.ts +8 -0
- package/Types/IP/IP.ts +93 -47
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +80 -3
- package/Types/NetworkDevice/NetworkDeviceMonitoringMethod.ts +55 -0
- package/Types/OnCallDutyPolicy/Layer.ts +203 -149
- package/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.ts +13 -0
- package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +155 -10
- package/Types/Permission.ts +193 -0
- package/Types/SerializableObjectDictionary.ts +133 -39
- package/Types/Telemetry/EntityRelationshipType.ts +1 -1
- package/Types/Telemetry/EntitySource.ts +40 -0
- package/Types/Telemetry/EntityType.ts +28 -1
- package/Types/Telemetry/EntityTypeGroups.ts +65 -0
- package/Types/Workflow/Component.ts +29 -0
- package/Types/Workflow/Components/API.ts +35 -0
- package/Types/Workflow/Components/BaseModel.ts +77 -27
- package/Types/Workflow/Components/Discord.ts +1 -0
- package/Types/Workflow/Components/Email.ts +12 -3
- package/Types/Workflow/Components/JavaScript.ts +7 -0
- package/Types/Workflow/Components/MicrosoftTeams.ts +3 -2
- package/Types/Workflow/Components/Slack.ts +1 -0
- package/Types/Workflow/Components/Telegram.ts +1 -0
- package/Types/Workflow/StepTrace.ts +181 -0
- package/Types/Workflow/TemplateSyntax.ts +543 -0
- package/Types/Workflow/Templates.ts +2368 -0
- package/UI/Components/Calendar/Calendar.css +43 -0
- package/UI/Components/Calendar/Calendar.tsx +8 -0
- package/UI/Components/Card/Card.tsx +2 -2
- package/UI/Components/Checkbox/Checkbox.tsx +16 -0
- package/UI/Components/Date/CustomTimeRangeModal.tsx +278 -0
- package/UI/Components/Date/TimeRangePickerDropdown.tsx +250 -0
- package/UI/Components/Dictionary/Dictionary.tsx +71 -15
- package/UI/Components/FormModal/BasicFormModal.tsx +2 -1
- package/UI/Components/Forms/Fields/ColorPicker.tsx +66 -10
- package/UI/Components/Forms/Fields/IconPicker.tsx +48 -10
- package/UI/Components/Forms/Types/Field.ts +7 -0
- package/UI/Components/Forms/Validation.ts +63 -1
- package/UI/Components/Header/HeaderIconDropdownButton.tsx +53 -3
- package/UI/Components/Input/Input.tsx +32 -3
- package/UI/Components/KeyboardShortcut/KeyboardKey.ts +185 -0
- package/UI/Components/KeyboardShortcut/KeyboardShortcut.tsx +87 -0
- package/UI/Components/LogsViewer/LogsViewer.tsx +28 -0
- package/UI/Components/LogsViewer/components/ActiveFilterChips.tsx +31 -0
- package/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.tsx +18 -18
- package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +363 -14
- package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +11 -216
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +11 -0
- package/UI/Components/LogsViewer/components/LogsTable.tsx +155 -12
- package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +29 -0
- package/UI/Components/LogsViewer/types.ts +23 -0
- package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +9 -2
- package/UI/Components/Modal/Modal.tsx +37 -4
- package/UI/Components/Navbar/NavBarMenuModal.tsx +15 -30
- package/UI/Components/ProjectInvitations/PendingProjectInvitations.tsx +442 -0
- package/UI/Components/SimpleLogViewer/SimpleLogViewer.tsx +23 -1
- package/UI/Components/Table/Table.tsx +49 -16
- package/UI/Components/Table/TableBody.tsx +53 -28
- package/UI/Components/Table/TableHeader.tsx +13 -0
- package/UI/Components/Table/TableRow.tsx +58 -26
- package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +11 -210
- package/UI/Components/Workflow/ArgumentsForm.tsx +341 -8
- package/UI/Components/Workflow/Component.tsx +28 -26
- package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +26 -0
- package/UI/Components/Workflow/ComponentSettingsModal.tsx +79 -9
- package/UI/Components/Workflow/ComponentValuePickerModal.tsx +135 -7
- package/UI/Components/Workflow/ComponentsModal.tsx +116 -22
- package/UI/Components/Workflow/DocumentationViewer.tsx +59 -9
- package/UI/Components/Workflow/GraphLint.ts +628 -0
- package/UI/Components/Workflow/GraphLintSummary.ts +390 -0
- package/UI/Components/Workflow/ModelColumnEditor.tsx +528 -0
- package/UI/Components/Workflow/ModelSchema.ts +278 -0
- package/UI/Components/Workflow/RunForm.tsx +41 -7
- package/UI/Components/Workflow/RunStatusWatcher.ts +122 -0
- package/UI/Components/Workflow/StepTraceViewer.tsx +186 -0
- package/UI/Components/Workflow/UseRunWatch.ts +212 -0
- package/UI/Components/Workflow/Utils.ts +93 -1
- package/UI/Components/Workflow/VariableModal.tsx +6 -2
- package/UI/Components/Workflow/Workflow.tsx +126 -7
- package/UI/Components/Workflow/WorkflowIssuesModal.tsx +255 -0
- package/UI/Components/Workflow/WorkflowLogModal.tsx +128 -0
- package/UI/Components/Workflow/WorkflowStatusBar.tsx +224 -0
- package/UI/Types/LayeredDismissal.ts +31 -0
- package/UI/Types/UseAnchoredFieldPopup.ts +99 -0
- package/UI/Utils/AIChatExport/ConversationMarkdown.ts +10 -0
- package/UI/Utils/ModelAPI/ModelAPI.ts +7 -1
- package/UI/Utils/Platform.ts +149 -0
- package/UI/Utils/ProjectInvitationDisplay.ts +118 -0
- package/UI/esbuild-config.js +22 -1
- package/Utils/Monitor/NetworkDeviceLinkRuleUtil.ts +187 -0
- package/Utils/Monitor/NetworkDeviceRoleUtil.ts +533 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +917 -155
- package/Utils/Telemetry/CrossSignalScope.ts +502 -0
- package/Utils/Telemetry/EntityKey.ts +71 -5
- package/Utils/Telemetry/EntityRelationship.ts +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +1 -1
- package/build/dist/Models/DatabaseModels/AIConversation.js +32 -0
- package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIConversationMessage.js +42 -0
- package/build/dist/Models/DatabaseModels/AIConversationMessage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +28 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +29 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +12 -4
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/{TelemetryEntity.js → InventoryItem.js} +212 -29
- package/build/dist/Models/DatabaseModels/InventoryItem.js.map +1 -0
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js +454 -0
- package/build/dist/Models/DatabaseModels/InventoryItemCustomField.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{TelemetryEntityRelationship.js → InventoryItemRelationship.js} +52 -25
- package/build/dist/Models/DatabaseModels/InventoryItemRelationship.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +141 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js +719 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceLink.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js +475 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceLinkRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkTopologySuppression.js +446 -0
- package/build/dist/Models/DatabaseModels/NetworkTopologySuppression.js.map +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +9 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +80 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserCall.js +46 -2
- package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserEmail.js +48 -2
- package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationRule.js +424 -55
- package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +24 -2
- package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserPush.js +51 -1
- package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserSMS.js +47 -2
- package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserTelegram.js +65 -3
- package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWebhook.js +56 -2
- package/build/dist/Models/DatabaseModels/UserWebhook.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWhatsApp.js +45 -2
- package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowLog.js +39 -0
- package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +12 -0
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Server/API/AIChatAPI.js +237 -1
- package/build/dist/Server/API/AIChatAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +165 -13
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallReadinessAPI.js +599 -0
- package/build/dist/Server/API/OnCallReadinessAPI.js.map +1 -0
- package/build/dist/Server/API/TeamComplianceAPI.js +68 -9
- package/build/dist/Server/API/TeamComplianceAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +129 -18
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserAPI.js +16 -1
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +45 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +4 -4
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786551733814-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786559879134-AddWorkflowLogStepTrace.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786625176831-AddMonitoringMethodToNetworkDevice.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.js +39 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786634985763-AddNetworkDeviceLink.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.js +38 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639512056-AddNetworkDeviceLinkRule.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786639972982-AddNetworkTopologySuppression.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.js +150 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786800000000-RenameTelemetryEntityToInventoryItem.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.js +57 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786900000000-AddInventoryItemArchiveAndCustomFields.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.js +69 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787000000000-AddOnCallNotificationFallbackColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.js +32 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787100000000-AddAIConversationPageContext.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787200000000-AddAIChatMessageFeedback.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.js +48 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787300000000-AddEpisodeMemberNotifyIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +24 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/Queue.js +72 -13
- package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js +11 -6
- package/build/dist/Server/Middleware/MasterAdminAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/PublicDashboardRateLimit.js +399 -0
- package/build/dist/Server/Middleware/PublicDashboardRateLimit.js.map +1 -0
- package/build/dist/Server/Services/AIService.js +1 -0
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js +24 -3
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/AlertSeverityService.js +54 -0
- package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
- package/build/dist/Server/Services/DashboardService.js +10 -9
- package/build/dist/Server/Services/DashboardService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +24 -2
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +24 -3
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSeverityService.js +67 -0
- package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +12 -4
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/InventoryItemCustomFieldService.js +9 -0
- package/build/dist/Server/Services/InventoryItemCustomFieldService.js.map +1 -0
- package/build/dist/Server/Services/{TelemetryEntityRelationshipService.js → InventoryItemRelationshipService.js} +9 -6
- package/build/dist/Server/Services/InventoryItemRelationshipService.js.map +1 -0
- package/build/dist/Server/Services/{TelemetryEntityService.js → InventoryItemService.js} +158 -23
- package/build/dist/Server/Services/InventoryItemService.js.map +1 -0
- package/build/dist/Server/Services/LogAggregationService.js +27 -8
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +80 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricService.js +6 -6
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLinkRuleService.js +9 -0
- package/build/dist/Server/Services/NetworkDeviceLinkRuleService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceLinkService.js +71 -0
- package/build/dist/Server/Services/NetworkDeviceLinkService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceService.js +113 -0
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +53 -13
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/NetworkTopologySuppressionService.js +85 -0
- package/build/dist/Server/Services/NetworkTopologySuppressionService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +48 -32
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js +8 -0
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +51 -12
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +57 -13
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallNotificationAlertingService.js +548 -0
- package/build/dist/Server/Services/OnCallNotificationAlertingService.js.map +1 -0
- package/build/dist/Server/Services/OnCallReadinessService.js +1961 -0
- package/build/dist/Server/Services/OnCallReadinessService.js.map +1 -0
- package/build/dist/Server/Services/OnCallSetupReminderService.js +738 -0
- package/build/dist/Server/Services/OnCallSetupReminderService.js.map +1 -0
- package/build/dist/Server/Services/ProfileAggregationService.js +68 -4
- package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +11 -10
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/TeamComplianceService.js +312 -160
- package/build/dist/Server/Services/TeamComplianceService.js.map +1 -1
- package/build/dist/Server/Services/UserCallService.js +24 -1
- package/build/dist/Server/Services/UserCallService.js.map +1 -1
- package/build/dist/Server/Services/UserEmailService.js +24 -1
- package/build/dist/Server/Services/UserEmailService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationRuleAdminService.js +858 -0
- package/build/dist/Server/Services/UserNotificationRuleAdminService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationRuleService.js +2830 -175
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/UserOnCallLogService.js +488 -43
- package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
- package/build/dist/Server/Services/UserPushService.js +26 -0
- package/build/dist/Server/Services/UserPushService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +10 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/UserSmsService.js +24 -1
- package/build/dist/Server/Services/UserSmsService.js.map +1 -1
- package/build/dist/Server/Services/UserTelegramService.js +22 -1
- package/build/dist/Server/Services/UserTelegramService.js.map +1 -1
- package/build/dist/Server/Services/UserWebhookService.js +25 -1
- package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
- package/build/dist/Server/Services/UserWhatsAppService.js +22 -1
- package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js +12 -1
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +126 -0
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.js +254 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerOnlyColumnPermission.js.map +1 -0
- package/build/dist/Server/Types/Database/Permissions/QueryPermission.js +47 -2
- package/build/dist/Server/Types/Database/Permissions/QueryPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/TenantPermission.js +7 -0
- package/build/dist/Server/Types/Database/Permissions/TenantPermission.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Get.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Put.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js +28 -0
- package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js +21 -5
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js +14 -10
- package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js +31 -0
- package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +3 -9
- package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/Email.js +15 -4
- package/build/dist/Server/Types/Workflow/Components/Email.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js +7 -2
- package/build/dist/Server/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js +1 -1
- package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js.map +1 -1
- package/build/dist/Server/Types/Workflow/TriggerCode.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +514 -56
- package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +20 -3
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +19 -6
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +7 -0
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js +2 -2
- package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js +692 -0
- package/build/dist/Server/Utils/AI/Toolbox/AIMetaTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js +148 -12
- package/build/dist/Server/Utils/AI/Toolbox/AlertTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js +157 -10
- package/build/dist/Server/Utils/AI/Toolbox/IncidentTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/Index.js +37 -0
- package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js +259 -14
- package/build/dist/Server/Utils/AI/Toolbox/MonitorTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/NoteWriteTools.js +235 -0
- package/build/dist/Server/Utils/AI/Toolbox/NoteWriteTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js +1000 -0
- package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/RunbookTools.js +356 -0
- package/build/dist/Server/Utils/AI/Toolbox/RunbookTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/SloTools.js +394 -0
- package/build/dist/Server/Utils/AI/Toolbox/SloTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js +465 -0
- package/build/dist/Server/Utils/AI/Toolbox/StatusPageTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/TeamTools.js +280 -0
- package/build/dist/Server/Utils/AI/Toolbox/TeamTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js +527 -0
- package/build/dist/Server/Utils/AI/Toolbox/TimelineTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js +548 -0
- package/build/dist/Server/Utils/AI/Toolbox/WorkflowProbeTools.js.map +1 -0
- package/build/dist/Server/Utils/ClientIp.js +137 -0
- package/build/dist/Server/Utils/ClientIp.js.map +1 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +38 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js +89 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloHistoryPolicy.js.map +1 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js +77 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardSloWidget.js.map +1 -0
- package/build/dist/Server/Utils/Express.js +12 -12
- package/build/dist/Server/Utils/Express.js.map +1 -1
- package/build/dist/Server/Utils/LLM/LLMService.js +70 -7
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +121 -11
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SSRFProtection.js +82 -21
- package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +12 -4
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +165 -18
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js +507 -0
- package/build/dist/Server/Utils/Telemetry/InventoryEntityRegistry.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +122 -47
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMAPI.js +51 -4
- package/build/dist/Server/Utils/VM/VMAPI.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +7 -3
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/AI/AIChatMessageStatus.js +8 -1
- package/build/dist/Types/AI/AIChatMessageStatus.js.map +1 -1
- package/build/dist/Types/AI/AIChatTypes.js +12 -0
- package/build/dist/Types/AI/AIChatTypes.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +60 -0
- package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -0
- package/build/dist/Types/Exception/ExceptionCode.js +2 -0
- package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
- package/build/dist/Types/Exception/ServiceUnavailableException.js +8 -0
- package/build/dist/Types/Exception/ServiceUnavailableException.js.map +1 -0
- package/build/dist/Types/Exception/TooManyRequestsException.js +8 -0
- package/build/dist/Types/Exception/TooManyRequestsException.js.map +1 -0
- package/build/dist/Types/IP/IP.js +87 -43
- package/build/dist/Types/IP/IP.js.map +1 -1
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js +50 -0
- package/build/dist/Types/NetworkDevice/NetworkDeviceMonitoringMethod.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +186 -123
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js +13 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +105 -11
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
- package/build/dist/Types/Permission.js +174 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/SerializableObjectDictionary.js +133 -39
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityRelationshipType.js +1 -1
- package/build/dist/Types/Telemetry/EntitySource.js +39 -0
- package/build/dist/Types/Telemetry/EntitySource.js.map +1 -0
- package/build/dist/Types/Telemetry/EntityType.js +28 -1
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityTypeGroups.js +57 -0
- package/build/dist/Types/Telemetry/EntityTypeGroups.js.map +1 -0
- package/build/dist/Types/Workflow/Component.js +21 -0
- package/build/dist/Types/Workflow/Component.js.map +1 -1
- package/build/dist/Types/Workflow/Components/API.js +35 -0
- package/build/dist/Types/Workflow/Components/API.js.map +1 -1
- package/build/dist/Types/Workflow/Components/BaseModel.js +68 -26
- package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Discord.js +1 -0
- package/build/dist/Types/Workflow/Components/Discord.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Email.js +12 -3
- package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
- package/build/dist/Types/Workflow/Components/JavaScript.js +7 -0
- package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +3 -2
- package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Slack.js +1 -0
- package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Telegram.js +1 -0
- package/build/dist/Types/Workflow/Components/Telegram.js.map +1 -1
- package/build/dist/Types/Workflow/StepTrace.js +104 -0
- package/build/dist/Types/Workflow/StepTrace.js.map +1 -0
- package/build/dist/Types/Workflow/TemplateSyntax.js +338 -0
- package/build/dist/Types/Workflow/TemplateSyntax.js.map +1 -0
- package/build/dist/Types/Workflow/Templates.js +2111 -0
- package/build/dist/Types/Workflow/Templates.js.map +1 -0
- package/build/dist/UI/Components/Calendar/Calendar.js +1 -1
- package/build/dist/UI/Components/Calendar/Calendar.js.map +1 -1
- package/build/dist/UI/Components/Checkbox/Checkbox.js +1 -1
- package/build/dist/UI/Components/Checkbox/Checkbox.js.map +1 -1
- package/build/dist/UI/Components/Date/CustomTimeRangeModal.js +126 -0
- package/build/dist/UI/Components/Date/CustomTimeRangeModal.js.map +1 -0
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js +123 -0
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js.map +1 -0
- package/build/dist/UI/Components/Dictionary/Dictionary.js +47 -17
- package/build/dist/UI/Components/Dictionary/Dictionary.js.map +1 -1
- package/build/dist/UI/Components/FormModal/BasicFormModal.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +52 -13
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js +28 -12
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Validation.js +44 -0
- package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +27 -4
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
- package/build/dist/UI/Components/Input/Input.js +13 -4
- package/build/dist/UI/Components/Input/Input.js.map +1 -1
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardKey.js +163 -0
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardKey.js.map +1 -0
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcut.js +47 -0
- package/build/dist/UI/Components/KeyboardShortcut/KeyboardShortcut.js.map +1 -0
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +4 -4
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js +11 -1
- package/build/dist/UI/Components/LogsViewer/components/ActiveFilterChips.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js +10 -8
- package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +227 -14
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +5 -108
- package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +5 -0
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +69 -5
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +8 -0
- package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/types.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +9 -2
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +31 -5
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +8 -21
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Components/ProjectInvitations/PendingProjectInvitations.js +251 -0
- package/build/dist/UI/Components/ProjectInvitations/PendingProjectInvitations.js.map +1 -0
- package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js +9 -2
- package/build/dist/UI/Components/SimpleLogViewer/SimpleLogViewer.js.map +1 -1
- package/build/dist/UI/Components/Table/Table.js +27 -15
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Components/Table/TableBody.js +24 -18
- package/build/dist/UI/Components/Table/TableBody.js.map +1 -1
- package/build/dist/UI/Components/Table/TableHeader.js +9 -1
- package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +29 -21
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +5 -105
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ArgumentsForm.js +261 -14
- package/build/dist/UI/Components/Workflow/ArgumentsForm.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Component.js +20 -19
- package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +10 -1
- package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +35 -7
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js +57 -7
- package/build/dist/UI/Components/Workflow/ComponentValuePickerModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +53 -18
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/DocumentationViewer.js +19 -6
- package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
- package/build/dist/UI/Components/Workflow/GraphLint.js +425 -0
- package/build/dist/UI/Components/Workflow/GraphLint.js.map +1 -0
- package/build/dist/UI/Components/Workflow/GraphLintSummary.js +231 -0
- package/build/dist/UI/Components/Workflow/GraphLintSummary.js.map +1 -0
- package/build/dist/UI/Components/Workflow/ModelColumnEditor.js +320 -0
- package/build/dist/UI/Components/Workflow/ModelColumnEditor.js.map +1 -0
- package/build/dist/UI/Components/Workflow/ModelSchema.js +156 -0
- package/build/dist/UI/Components/Workflow/ModelSchema.js.map +1 -0
- package/build/dist/UI/Components/Workflow/RunForm.js +22 -6
- package/build/dist/UI/Components/Workflow/RunForm.js.map +1 -1
- package/build/dist/UI/Components/Workflow/RunStatusWatcher.js +76 -0
- package/build/dist/UI/Components/Workflow/RunStatusWatcher.js.map +1 -0
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js +76 -0
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js.map +1 -0
- package/build/dist/UI/Components/Workflow/UseRunWatch.js +123 -0
- package/build/dist/UI/Components/Workflow/UseRunWatch.js.map +1 -0
- package/build/dist/UI/Components/Workflow/Utils.js +73 -1
- package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
- package/build/dist/UI/Components/Workflow/VariableModal.js +3 -2
- package/build/dist/UI/Components/Workflow/VariableModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Workflow.js +92 -7
- package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
- package/build/dist/UI/Components/Workflow/WorkflowIssuesModal.js +99 -0
- package/build/dist/UI/Components/Workflow/WorkflowIssuesModal.js.map +1 -0
- package/build/dist/UI/Components/Workflow/WorkflowLogModal.js +56 -0
- package/build/dist/UI/Components/Workflow/WorkflowLogModal.js.map +1 -0
- package/build/dist/UI/Components/Workflow/WorkflowStatusBar.js +92 -0
- package/build/dist/UI/Components/Workflow/WorkflowStatusBar.js.map +1 -0
- package/build/dist/UI/Types/LayeredDismissal.js +21 -0
- package/build/dist/UI/Types/LayeredDismissal.js.map +1 -0
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js +74 -1
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js.map +1 -1
- package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js +9 -0
- package/build/dist/UI/Utils/AIChatExport/ConversationMarkdown.js.map +1 -1
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +1 -1
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/Platform.js +118 -0
- package/build/dist/UI/Utils/Platform.js.map +1 -0
- package/build/dist/UI/Utils/ProjectInvitationDisplay.js +106 -0
- package/build/dist/UI/Utils/ProjectInvitationDisplay.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js +108 -0
- package/build/dist/Utils/Monitor/NetworkDeviceLinkRuleUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js +386 -0
- package/build/dist/Utils/Monitor/NetworkDeviceRoleUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +661 -126
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/Telemetry/CrossSignalScope.js +328 -0
- package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -0
- package/build/dist/Utils/Telemetry/EntityKey.js +57 -5
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityRelationship.js +1 -1
- package/jest.config.json +1 -0
- package/package.json +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +0 -1
- package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +0 -1
- package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +0 -1
- package/build/dist/Server/Services/TelemetryEntityService.js.map +0 -1
|
@@ -49,13 +49,55 @@ export interface CurrentAndNextShift {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
/*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
52
|
+
* Why a schedule currently has (or does not have) somebody on call. The four
|
|
53
|
+
* states are mutually exclusive and ordered by how early the misconfiguration
|
|
54
|
+
* happens, so a caller can render the most specific remedy it knows about:
|
|
55
|
+
*
|
|
56
|
+
* - NoLayers the schedule has no layers at all -> "add a layer"
|
|
57
|
+
* - NoUsers layers exist but nobody is assigned to any of them, so the
|
|
58
|
+
* engine emits zero events and NOBODY is ever on call. This is
|
|
59
|
+
* a permanent 100% gap, not an off-hours one, and it needs its
|
|
60
|
+
* own remedy ("assign users") — telling someone to widen their
|
|
61
|
+
* active hours here would be wrong.
|
|
62
|
+
* - UncoveredNow users are assigned and shifts exist, but none covers `now`
|
|
63
|
+
* - Covered somebody is on call at this instant
|
|
57
64
|
*/
|
|
58
|
-
|
|
65
|
+
export enum ScheduleCoverageStatus {
|
|
66
|
+
NoLayers = "NoLayers",
|
|
67
|
+
NoUsers = "NoUsers",
|
|
68
|
+
UncoveredNow = "UncoveredNow",
|
|
69
|
+
Covered = "Covered",
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface ScheduleCoverageState {
|
|
73
|
+
status: ScheduleCoverageStatus;
|
|
74
|
+
current: OnCallShift | null;
|
|
75
|
+
next: OnCallShift | null;
|
|
76
|
+
gaps: Array<CoverageGap>;
|
|
77
|
+
// Total uncovered seconds inside [now, windowEnd].
|
|
78
|
+
uncoveredSeconds: number;
|
|
79
|
+
/*
|
|
80
|
+
* Fraction of [now, windowEnd] that somebody is on call for, 0..1. 0 for both
|
|
81
|
+
* NoLayers and NoUsers; 1 for a schedule with no gaps at all.
|
|
82
|
+
*/
|
|
83
|
+
coverageRatio: number;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
* Two coverage segments belong to the same continuous shift when the hole
|
|
88
|
+
* between them is at or below this threshold. LayerUtil starts each following
|
|
89
|
+
* segment exactly one second after the previous one ends (Layer.ts advances
|
|
90
|
+
* with addRemoveSeconds(end, 1)) and the multi-layer priority merge leaves
|
|
91
|
+
* seams of the same ±1s magnitude, so a few seconds of slack is all that is
|
|
92
|
+
* needed to absorb the engine's own artifacts.
|
|
93
|
+
*
|
|
94
|
+
* This used to be 90 seconds, which silently swallowed genuine sub-minute
|
|
95
|
+
* coverage holes — a schedule whose layers were misaligned by a minute
|
|
96
|
+
* reported full coverage. Anything above the engine artifact is a real hole and
|
|
97
|
+
* is now reported; callers that consider very short holes to be display noise
|
|
98
|
+
* filter them at the render layer (see getCoverageGaps' minimumGapSeconds).
|
|
99
|
+
*/
|
|
100
|
+
const CONTIGUITY_TOLERANCE_SECONDS: number = 5;
|
|
59
101
|
|
|
60
102
|
export default class ScheduleShiftUtil {
|
|
61
103
|
/*
|
|
@@ -191,6 +233,7 @@ export default class ScheduleShiftUtil {
|
|
|
191
233
|
shifts: Array<OnCallShift>,
|
|
192
234
|
windowStart: Date,
|
|
193
235
|
windowEnd: Date,
|
|
236
|
+
options?: { minimumGapSeconds?: number | undefined } | undefined,
|
|
194
237
|
): Array<CoverageGap> {
|
|
195
238
|
const gaps: Array<CoverageGap> = [];
|
|
196
239
|
|
|
@@ -199,18 +242,24 @@ export default class ScheduleShiftUtil {
|
|
|
199
242
|
}
|
|
200
243
|
|
|
201
244
|
/*
|
|
202
|
-
* A
|
|
245
|
+
* A hole only "counts" as a gap when it is longer than the threshold, so
|
|
203
246
|
* the one-second boundaries LayerUtil leaves between segments never show up
|
|
204
|
-
* as spurious coverage holes.
|
|
247
|
+
* as spurious coverage holes. Callers that treat short holes as display
|
|
248
|
+
* noise (rather than as a misconfiguration worth reporting) raise
|
|
249
|
+
* minimumGapSeconds instead of relying on the detector to hide them.
|
|
205
250
|
*/
|
|
251
|
+
const minimumGapSeconds: number =
|
|
252
|
+
options?.minimumGapSeconds === undefined
|
|
253
|
+
? CONTIGUITY_TOLERANCE_SECONDS
|
|
254
|
+
: options.minimumGapSeconds;
|
|
255
|
+
|
|
206
256
|
const isRealGap: (start: Date, end: Date) => boolean = (
|
|
207
257
|
start: Date,
|
|
208
258
|
end: Date,
|
|
209
259
|
): boolean => {
|
|
210
260
|
return (
|
|
211
261
|
OneUptimeDate.isAfter(end, start) &&
|
|
212
|
-
OneUptimeDate.getDifferenceInSeconds(end, start) >
|
|
213
|
-
CONTIGUITY_TOLERANCE_SECONDS
|
|
262
|
+
OneUptimeDate.getDifferenceInSeconds(end, start) > minimumGapSeconds
|
|
214
263
|
);
|
|
215
264
|
};
|
|
216
265
|
|
|
@@ -254,4 +303,100 @@ export default class ScheduleShiftUtil {
|
|
|
254
303
|
|
|
255
304
|
return gaps;
|
|
256
305
|
}
|
|
306
|
+
|
|
307
|
+
/*
|
|
308
|
+
* The single source of truth for "does this schedule have anybody on call,
|
|
309
|
+
* and if not, why not". Every surface that renders coverage derives its state
|
|
310
|
+
* from here rather than inventing its own condition.
|
|
311
|
+
*
|
|
312
|
+
* This exists because the UI used to gate its gap warnings on
|
|
313
|
+
* `assignedUserCount > 0` — a condition that is exactly INVERTED, since zero
|
|
314
|
+
* assigned users IS the total-gap state. The one screen that would have said
|
|
315
|
+
* "nobody is on call" was therefore the one screen that never rendered.
|
|
316
|
+
* Returning an explicit status makes that class of mistake impossible: a
|
|
317
|
+
* caller must handle NoUsers, it cannot accidentally fall into "covered".
|
|
318
|
+
*/
|
|
319
|
+
public static getCoverageState(data: {
|
|
320
|
+
layerCount: number;
|
|
321
|
+
assignedUserCount: number;
|
|
322
|
+
shifts: Array<OnCallShift>;
|
|
323
|
+
now: Date;
|
|
324
|
+
windowEnd: Date;
|
|
325
|
+
minimumGapSeconds?: number | undefined;
|
|
326
|
+
}): ScheduleCoverageState {
|
|
327
|
+
const { current, next }: CurrentAndNextShift = this.getCurrentAndNextShift(
|
|
328
|
+
data.shifts,
|
|
329
|
+
data.now,
|
|
330
|
+
);
|
|
331
|
+
|
|
332
|
+
const gaps: Array<CoverageGap> = this.getCoverageGaps(
|
|
333
|
+
data.shifts,
|
|
334
|
+
data.now,
|
|
335
|
+
data.windowEnd,
|
|
336
|
+
{ minimumGapSeconds: data.minimumGapSeconds },
|
|
337
|
+
);
|
|
338
|
+
|
|
339
|
+
const uncoveredSeconds: number = gaps.reduce(
|
|
340
|
+
(total: number, gap: CoverageGap) => {
|
|
341
|
+
return total + OneUptimeDate.getDifferenceInSeconds(gap.end, gap.start);
|
|
342
|
+
},
|
|
343
|
+
0,
|
|
344
|
+
);
|
|
345
|
+
|
|
346
|
+
let status: ScheduleCoverageStatus = ScheduleCoverageStatus.Covered;
|
|
347
|
+
|
|
348
|
+
if (data.layerCount <= 0) {
|
|
349
|
+
status = ScheduleCoverageStatus.NoLayers;
|
|
350
|
+
} else if (data.assignedUserCount <= 0) {
|
|
351
|
+
status = ScheduleCoverageStatus.NoUsers;
|
|
352
|
+
} else if (!current) {
|
|
353
|
+
status = ScheduleCoverageStatus.UncoveredNow;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/*
|
|
357
|
+
* Test the window's ORDER explicitly rather than inferring it from the sign
|
|
358
|
+
* of the difference: OneUptimeDate.getDifferenceInSeconds returns an
|
|
359
|
+
* ABSOLUTE value, so an inverted window (windowEnd before now) yields a
|
|
360
|
+
* positive windowSeconds. Combined with getCoverageGaps bailing out on such
|
|
361
|
+
* a window and returning no gaps, the ratio then computed to a confident
|
|
362
|
+
* 1 — the function whose entire job is to surface missing coverage would
|
|
363
|
+
* report 100% covered. Fail to 0, never to "everything is fine".
|
|
364
|
+
*/
|
|
365
|
+
const hasUsableWindow: boolean = OneUptimeDate.isBefore(
|
|
366
|
+
data.now,
|
|
367
|
+
data.windowEnd,
|
|
368
|
+
);
|
|
369
|
+
|
|
370
|
+
const windowSeconds: number = hasUsableWindow
|
|
371
|
+
? OneUptimeDate.getDifferenceInSeconds(data.windowEnd, data.now)
|
|
372
|
+
: 0;
|
|
373
|
+
|
|
374
|
+
/*
|
|
375
|
+
* A schedule with no layers, or with layers but nobody assigned to them,
|
|
376
|
+
* can never put anyone on call — its coverage is 0 by definition, whatever
|
|
377
|
+
* shifts a caller happened to pass in. Deriving the ratio purely from those
|
|
378
|
+
* shifts would let a stale set report "100% covered" next to "no layers
|
|
379
|
+
* configured".
|
|
380
|
+
*/
|
|
381
|
+
const canEverCover: boolean =
|
|
382
|
+
status !== ScheduleCoverageStatus.NoLayers &&
|
|
383
|
+
status !== ScheduleCoverageStatus.NoUsers;
|
|
384
|
+
|
|
385
|
+
const coverageRatio: number =
|
|
386
|
+
!hasUsableWindow || !canEverCover
|
|
387
|
+
? 0
|
|
388
|
+
: Math.min(
|
|
389
|
+
1,
|
|
390
|
+
Math.max(0, (windowSeconds - uncoveredSeconds) / windowSeconds),
|
|
391
|
+
);
|
|
392
|
+
|
|
393
|
+
return {
|
|
394
|
+
status,
|
|
395
|
+
current,
|
|
396
|
+
next,
|
|
397
|
+
gaps,
|
|
398
|
+
uncoveredSeconds,
|
|
399
|
+
coverageRatio,
|
|
400
|
+
};
|
|
401
|
+
}
|
|
257
402
|
}
|
package/Types/Permission.ts
CHANGED
|
@@ -1062,6 +1062,29 @@ enum Permission {
|
|
|
1062
1062
|
DeleteProjectOnCallDutyPolicy = "DeleteProjectOnCallDutyPolicy",
|
|
1063
1063
|
ReadProjectOnCallDutyPolicy = "ReadProjectOnCallDutyPolicy",
|
|
1064
1064
|
|
|
1065
|
+
/*
|
|
1066
|
+
* A project user's own on-call notification configuration - the rules that
|
|
1067
|
+
* decide which of their verified methods a page reaches, and after how long.
|
|
1068
|
+
*
|
|
1069
|
+
* Every other permission in this family gates a resource the project owns.
|
|
1070
|
+
* These two gate rows that belong to an individual member, which is why they
|
|
1071
|
+
* exist separately rather than being folded into
|
|
1072
|
+
* Read/EditProjectOnCallDutyPolicy: a policy says "page the on-call engineer",
|
|
1073
|
+
* but whether that page actually arrives is decided by rows only that engineer
|
|
1074
|
+
* could see or write. An unreachable teammate was therefore diagnosable by
|
|
1075
|
+
* nobody but themselves, and the person carrying the incident had no way to
|
|
1076
|
+
* find out before the page went unanswered.
|
|
1077
|
+
*
|
|
1078
|
+
* Read grants VISIBILITY of another member's rules and of the methods those
|
|
1079
|
+
* rules point at - never the delivery token behind a method (see the column
|
|
1080
|
+
* access control on UserWebhook and UserPush). Edit grants repair of the
|
|
1081
|
+
* rules themselves. Neither grants the ability to add a notification method to
|
|
1082
|
+
* somebody else's account; that asymmetry is deliberate and is explained on
|
|
1083
|
+
* UserNotificationRule.
|
|
1084
|
+
*/
|
|
1085
|
+
ReadProjectUserNotificationRule = "ReadProjectUserNotificationRule",
|
|
1086
|
+
EditProjectUserNotificationRule = "EditProjectUserNotificationRule",
|
|
1087
|
+
|
|
1065
1088
|
// Resource Permissions (Team Permission)
|
|
1066
1089
|
CreateProjectOnCallDutyPolicySchedule = "CreateProjectOnCallDutyPolicySchedule",
|
|
1067
1090
|
EditProjectOnCallDutyPolicySchedule = "EditProjectOnCallDutyPolicySchedule",
|
|
@@ -1255,6 +1278,21 @@ enum Permission {
|
|
|
1255
1278
|
EditNetworkSiteLink = "EditNetworkSiteLink",
|
|
1256
1279
|
ReadNetworkSiteLink = "ReadNetworkSiteLink",
|
|
1257
1280
|
|
|
1281
|
+
CreateNetworkDeviceLink = "CreateNetworkDeviceLink",
|
|
1282
|
+
DeleteNetworkDeviceLink = "DeleteNetworkDeviceLink",
|
|
1283
|
+
EditNetworkDeviceLink = "EditNetworkDeviceLink",
|
|
1284
|
+
ReadNetworkDeviceLink = "ReadNetworkDeviceLink",
|
|
1285
|
+
|
|
1286
|
+
CreateNetworkDeviceLinkRule = "CreateNetworkDeviceLinkRule",
|
|
1287
|
+
DeleteNetworkDeviceLinkRule = "DeleteNetworkDeviceLinkRule",
|
|
1288
|
+
EditNetworkDeviceLinkRule = "EditNetworkDeviceLinkRule",
|
|
1289
|
+
ReadNetworkDeviceLinkRule = "ReadNetworkDeviceLinkRule",
|
|
1290
|
+
|
|
1291
|
+
CreateNetworkTopologySuppression = "CreateNetworkTopologySuppression",
|
|
1292
|
+
DeleteNetworkTopologySuppression = "DeleteNetworkTopologySuppression",
|
|
1293
|
+
EditNetworkTopologySuppression = "EditNetworkTopologySuppression",
|
|
1294
|
+
ReadNetworkTopologySuppression = "ReadNetworkTopologySuppression",
|
|
1295
|
+
|
|
1258
1296
|
CreateNetworkSiteAssignmentRule = "CreateNetworkSiteAssignmentRule",
|
|
1259
1297
|
DeleteNetworkSiteAssignmentRule = "DeleteNetworkSiteAssignmentRule",
|
|
1260
1298
|
EditNetworkSiteAssignmentRule = "EditNetworkSiteAssignmentRule",
|
|
@@ -5996,6 +6034,41 @@ export class PermissionHelper {
|
|
|
5996
6034
|
group: PermissionGroup.OnCallDutyPolicy,
|
|
5997
6035
|
},
|
|
5998
6036
|
|
|
6037
|
+
/*
|
|
6038
|
+
* isRolePermission is false on both of these deliberately, and it is not a
|
|
6039
|
+
* stylistic choice. A true value would file them under
|
|
6040
|
+
* getRolePermissionProps(), which is the list every default project role
|
|
6041
|
+
* is built from - so the ability to read and rewrite a colleague's paging
|
|
6042
|
+
* configuration would arrive silently with an existing role rather than
|
|
6043
|
+
* being handed out on purpose. They are granular permissions an
|
|
6044
|
+
* administrator opts into, held by nobody until somebody grants them.
|
|
6045
|
+
*
|
|
6046
|
+
* isAccessControlPermission is false because the rows these gate carry no
|
|
6047
|
+
* label column; there is nothing for a label-scoped grant to narrow, and
|
|
6048
|
+
* claiming otherwise would offer an administrator a scoping control that
|
|
6049
|
+
* silently does nothing.
|
|
6050
|
+
*/
|
|
6051
|
+
{
|
|
6052
|
+
permission: Permission.ReadProjectUserNotificationRule,
|
|
6053
|
+
title: "Read User Notification Rules",
|
|
6054
|
+
description:
|
|
6055
|
+
"This permission can read the on-call notification rules of any user in this project, and see which of their notification methods those rules point at. Delivery addresses are shown in a masked form and delivery credentials are never readable.",
|
|
6056
|
+
isAssignableToTenant: true,
|
|
6057
|
+
isAccessControlPermission: false,
|
|
6058
|
+
isRolePermission: false,
|
|
6059
|
+
group: PermissionGroup.OnCallDutyPolicy,
|
|
6060
|
+
},
|
|
6061
|
+
{
|
|
6062
|
+
permission: Permission.EditProjectUserNotificationRule,
|
|
6063
|
+
title: "Edit User Notification Rules",
|
|
6064
|
+
description:
|
|
6065
|
+
"This permission can create, edit and delete the on-call notification rules of any user in this project, in order to repair a member who would otherwise never be paged. It does not permit adding or changing a user's notification methods.",
|
|
6066
|
+
isAssignableToTenant: true,
|
|
6067
|
+
isAccessControlPermission: false,
|
|
6068
|
+
isRolePermission: false,
|
|
6069
|
+
group: PermissionGroup.OnCallDutyPolicy,
|
|
6070
|
+
},
|
|
6071
|
+
|
|
5999
6072
|
{
|
|
6000
6073
|
permission: Permission.CreateProjectOnCallDutyPolicySchedule,
|
|
6001
6074
|
title: "Create On-Call Duty Policy Schedule",
|
|
@@ -7919,6 +7992,126 @@ export class PermissionHelper {
|
|
|
7919
7992
|
isRolePermission: false,
|
|
7920
7993
|
group: PermissionGroup.Monitor,
|
|
7921
7994
|
},
|
|
7995
|
+
{
|
|
7996
|
+
permission: Permission.CreateNetworkDeviceLink,
|
|
7997
|
+
title: "Create Network Device Link",
|
|
7998
|
+
description:
|
|
7999
|
+
"This permission can create Network Device Link in this project.",
|
|
8000
|
+
isAssignableToTenant: true,
|
|
8001
|
+
isAccessControlPermission: false,
|
|
8002
|
+
isRolePermission: false,
|
|
8003
|
+
group: PermissionGroup.Monitor,
|
|
8004
|
+
},
|
|
8005
|
+
{
|
|
8006
|
+
permission: Permission.DeleteNetworkDeviceLink,
|
|
8007
|
+
title: "Delete Network Device Link",
|
|
8008
|
+
description:
|
|
8009
|
+
"This permission can delete Network Device Link of this project.",
|
|
8010
|
+
isAssignableToTenant: true,
|
|
8011
|
+
isAccessControlPermission: true,
|
|
8012
|
+
isRolePermission: false,
|
|
8013
|
+
group: PermissionGroup.Monitor,
|
|
8014
|
+
},
|
|
8015
|
+
{
|
|
8016
|
+
permission: Permission.EditNetworkDeviceLink,
|
|
8017
|
+
title: "Edit Network Device Link",
|
|
8018
|
+
description:
|
|
8019
|
+
"This permission can edit Network Device Link of this project.",
|
|
8020
|
+
isAssignableToTenant: true,
|
|
8021
|
+
isAccessControlPermission: true,
|
|
8022
|
+
isRolePermission: false,
|
|
8023
|
+
group: PermissionGroup.Monitor,
|
|
8024
|
+
},
|
|
8025
|
+
{
|
|
8026
|
+
permission: Permission.ReadNetworkDeviceLink,
|
|
8027
|
+
title: "Read Network Device Link",
|
|
8028
|
+
description:
|
|
8029
|
+
"This permission can read Network Device Link of this project.",
|
|
8030
|
+
isAssignableToTenant: true,
|
|
8031
|
+
isAccessControlPermission: true,
|
|
8032
|
+
isRolePermission: false,
|
|
8033
|
+
group: PermissionGroup.Monitor,
|
|
8034
|
+
},
|
|
8035
|
+
{
|
|
8036
|
+
permission: Permission.CreateNetworkDeviceLinkRule,
|
|
8037
|
+
title: "Create Network Device Link Rule",
|
|
8038
|
+
description:
|
|
8039
|
+
"This permission can create Network Device Link Rule in this project.",
|
|
8040
|
+
isAssignableToTenant: true,
|
|
8041
|
+
isAccessControlPermission: false,
|
|
8042
|
+
isRolePermission: false,
|
|
8043
|
+
group: PermissionGroup.Monitor,
|
|
8044
|
+
},
|
|
8045
|
+
{
|
|
8046
|
+
permission: Permission.DeleteNetworkDeviceLinkRule,
|
|
8047
|
+
title: "Delete Network Device Link Rule",
|
|
8048
|
+
description:
|
|
8049
|
+
"This permission can delete Network Device Link Rule of this project.",
|
|
8050
|
+
isAssignableToTenant: true,
|
|
8051
|
+
isAccessControlPermission: true,
|
|
8052
|
+
isRolePermission: false,
|
|
8053
|
+
group: PermissionGroup.Monitor,
|
|
8054
|
+
},
|
|
8055
|
+
{
|
|
8056
|
+
permission: Permission.EditNetworkDeviceLinkRule,
|
|
8057
|
+
title: "Edit Network Device Link Rule",
|
|
8058
|
+
description:
|
|
8059
|
+
"This permission can edit Network Device Link Rule of this project.",
|
|
8060
|
+
isAssignableToTenant: true,
|
|
8061
|
+
isAccessControlPermission: true,
|
|
8062
|
+
isRolePermission: false,
|
|
8063
|
+
group: PermissionGroup.Monitor,
|
|
8064
|
+
},
|
|
8065
|
+
{
|
|
8066
|
+
permission: Permission.ReadNetworkDeviceLinkRule,
|
|
8067
|
+
title: "Read Network Device Link Rule",
|
|
8068
|
+
description:
|
|
8069
|
+
"This permission can read Network Device Link Rule of this project.",
|
|
8070
|
+
isAssignableToTenant: true,
|
|
8071
|
+
isAccessControlPermission: true,
|
|
8072
|
+
isRolePermission: false,
|
|
8073
|
+
group: PermissionGroup.Monitor,
|
|
8074
|
+
},
|
|
8075
|
+
{
|
|
8076
|
+
permission: Permission.CreateNetworkTopologySuppression,
|
|
8077
|
+
title: "Create Network Topology Suppression",
|
|
8078
|
+
description:
|
|
8079
|
+
"This permission can hide nodes from the Network Topology map in this project.",
|
|
8080
|
+
isAssignableToTenant: true,
|
|
8081
|
+
isAccessControlPermission: false,
|
|
8082
|
+
isRolePermission: false,
|
|
8083
|
+
group: PermissionGroup.Monitor,
|
|
8084
|
+
},
|
|
8085
|
+
{
|
|
8086
|
+
permission: Permission.DeleteNetworkTopologySuppression,
|
|
8087
|
+
title: "Delete Network Topology Suppression",
|
|
8088
|
+
description:
|
|
8089
|
+
"This permission can restore hidden nodes to the Network Topology map of this project.",
|
|
8090
|
+
isAssignableToTenant: true,
|
|
8091
|
+
isAccessControlPermission: true,
|
|
8092
|
+
isRolePermission: false,
|
|
8093
|
+
group: PermissionGroup.Monitor,
|
|
8094
|
+
},
|
|
8095
|
+
{
|
|
8096
|
+
permission: Permission.EditNetworkTopologySuppression,
|
|
8097
|
+
title: "Edit Network Topology Suppression",
|
|
8098
|
+
description:
|
|
8099
|
+
"This permission can edit Network Topology Suppression of this project.",
|
|
8100
|
+
isAssignableToTenant: true,
|
|
8101
|
+
isAccessControlPermission: true,
|
|
8102
|
+
isRolePermission: false,
|
|
8103
|
+
group: PermissionGroup.Monitor,
|
|
8104
|
+
},
|
|
8105
|
+
{
|
|
8106
|
+
permission: Permission.ReadNetworkTopologySuppression,
|
|
8107
|
+
title: "Read Network Topology Suppression",
|
|
8108
|
+
description:
|
|
8109
|
+
"This permission can read Network Topology Suppression of this project.",
|
|
8110
|
+
isAssignableToTenant: true,
|
|
8111
|
+
isAccessControlPermission: true,
|
|
8112
|
+
isRolePermission: false,
|
|
8113
|
+
group: PermissionGroup.Monitor,
|
|
8114
|
+
},
|
|
7922
8115
|
{
|
|
7923
8116
|
permission: Permission.CreateNetworkSiteAssignmentRule,
|
|
7924
8117
|
title: "Create Network Site Assignment Rule",
|
|
@@ -40,46 +40,140 @@ import Phone from "./Phone";
|
|
|
40
40
|
import Port from "./Port";
|
|
41
41
|
import Version from "./Version";
|
|
42
42
|
|
|
43
|
+
/*
|
|
44
|
+
* Every entry is a getter, not a direct reference.
|
|
45
|
+
*
|
|
46
|
+
* Three of these classes — Includes, IncludesAll and IncludesNone — import
|
|
47
|
+
* JSONFunctions so their fromJSON can deserialize the values inside them, and
|
|
48
|
+
* JSONFunctions imports this dictionary. That is a cycle, and with a plain
|
|
49
|
+
* object literal the entry a cycle passes through is captured as `undefined`:
|
|
50
|
+
* whichever of the two modules loads second sees the first only half
|
|
51
|
+
* initialized. Which of them loads first depends on the whole app's import
|
|
52
|
+
* graph, so `{"_type":"Includes","value":[...]}` deserialized into a real
|
|
53
|
+
* Includes in some entry points and stayed a plain object in others — and a
|
|
54
|
+
* plain object reaching TypeORM is a silently wrong query, not an error.
|
|
55
|
+
*
|
|
56
|
+
* A getter defers the lookup to the first property access, by which time every
|
|
57
|
+
* module has finished initializing.
|
|
58
|
+
*/
|
|
43
59
|
const SerializableObjectDictionary: Dictionary<any> = {
|
|
44
|
-
[ObjectType.Phone]:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
[ObjectType.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
[ObjectType.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
[ObjectType.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
[ObjectType.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
[ObjectType.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
[ObjectType.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
[ObjectType.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
[ObjectType.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
[ObjectType.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
[ObjectType.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
[ObjectType.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
[ObjectType.
|
|
81
|
-
|
|
82
|
-
|
|
60
|
+
get [ObjectType.Phone](): any {
|
|
61
|
+
return Phone;
|
|
62
|
+
},
|
|
63
|
+
get [ObjectType.DateTime](): any {
|
|
64
|
+
return OneUptimeDate;
|
|
65
|
+
},
|
|
66
|
+
get [ObjectType.ObjectID](): any {
|
|
67
|
+
return ObjectID;
|
|
68
|
+
},
|
|
69
|
+
get [ObjectType.Name](): any {
|
|
70
|
+
return Name;
|
|
71
|
+
},
|
|
72
|
+
get [ObjectType.EqualTo](): any {
|
|
73
|
+
return EqualTo;
|
|
74
|
+
},
|
|
75
|
+
get [ObjectType.EqualToOrNull](): any {
|
|
76
|
+
return EqualToOrNull;
|
|
77
|
+
},
|
|
78
|
+
get [ObjectType.MonitorSteps](): any {
|
|
79
|
+
return MonitorSteps;
|
|
80
|
+
},
|
|
81
|
+
get [ObjectType.MonitorStep](): any {
|
|
82
|
+
return MonitorStep;
|
|
83
|
+
},
|
|
84
|
+
get [ObjectType.MonitorCriteria](): any {
|
|
85
|
+
return MonitorCriteria;
|
|
86
|
+
},
|
|
87
|
+
get [ObjectType.MonitorCriteriaInstance](): any {
|
|
88
|
+
return MonitorCriteriaInstance;
|
|
89
|
+
},
|
|
90
|
+
get [ObjectType.NotEqual](): any {
|
|
91
|
+
return NotEqual;
|
|
92
|
+
},
|
|
93
|
+
get [ObjectType.Email](): any {
|
|
94
|
+
return Email;
|
|
95
|
+
},
|
|
96
|
+
get [ObjectType.Color](): any {
|
|
97
|
+
return Color;
|
|
98
|
+
},
|
|
99
|
+
get [ObjectType.Domain](): any {
|
|
100
|
+
return Domain;
|
|
101
|
+
},
|
|
102
|
+
get [ObjectType.Version](): any {
|
|
103
|
+
return Version;
|
|
104
|
+
},
|
|
105
|
+
get [ObjectType.Route](): any {
|
|
106
|
+
return Route;
|
|
107
|
+
},
|
|
108
|
+
get [ObjectType.URL](): any {
|
|
109
|
+
return URL;
|
|
110
|
+
},
|
|
111
|
+
get [ObjectType.IP](): any {
|
|
112
|
+
return IP;
|
|
113
|
+
},
|
|
114
|
+
get [ObjectType.Search](): any {
|
|
115
|
+
return Search;
|
|
116
|
+
},
|
|
117
|
+
get [ObjectType.MultiSearch](): any {
|
|
118
|
+
return MultiSearch;
|
|
119
|
+
},
|
|
120
|
+
get [ObjectType.GreaterThan](): any {
|
|
121
|
+
return GreaterThan;
|
|
122
|
+
},
|
|
123
|
+
get [ObjectType.GreaterThanOrEqual](): any {
|
|
124
|
+
return GreaterThanOrEqual;
|
|
125
|
+
},
|
|
126
|
+
get [ObjectType.LessThan](): any {
|
|
127
|
+
return LessThan;
|
|
128
|
+
},
|
|
129
|
+
get [ObjectType.LessThanOrEqual](): any {
|
|
130
|
+
return LessThanOrEqual;
|
|
131
|
+
},
|
|
132
|
+
get [ObjectType.LessThanOrNull](): any {
|
|
133
|
+
return LessThanOrNull;
|
|
134
|
+
},
|
|
135
|
+
get [ObjectType.GreaterThanOrNull](): any {
|
|
136
|
+
return GreaterThanOrNull;
|
|
137
|
+
},
|
|
138
|
+
get [ObjectType.Port](): any {
|
|
139
|
+
return Port;
|
|
140
|
+
},
|
|
141
|
+
get [ObjectType.Hostname](): any {
|
|
142
|
+
return Hostname;
|
|
143
|
+
},
|
|
144
|
+
get [ObjectType.HashedString](): any {
|
|
145
|
+
return HashedString;
|
|
146
|
+
},
|
|
147
|
+
get [ObjectType.InBetween](): any {
|
|
148
|
+
return InBetween;
|
|
149
|
+
},
|
|
150
|
+
get [ObjectType.Includes](): any {
|
|
151
|
+
return Includes;
|
|
152
|
+
},
|
|
153
|
+
get [ObjectType.IncludesAll](): any {
|
|
154
|
+
return IncludesAll;
|
|
155
|
+
},
|
|
156
|
+
get [ObjectType.IncludesNone](): any {
|
|
157
|
+
return IncludesNone;
|
|
158
|
+
},
|
|
159
|
+
get [ObjectType.StartsWith](): any {
|
|
160
|
+
return StartsWith;
|
|
161
|
+
},
|
|
162
|
+
get [ObjectType.EndsWith](): any {
|
|
163
|
+
return EndsWith;
|
|
164
|
+
},
|
|
165
|
+
get [ObjectType.NotContains](): any {
|
|
166
|
+
return NotContains;
|
|
167
|
+
},
|
|
168
|
+
get [ObjectType.NotNull](): any {
|
|
169
|
+
return NotNull;
|
|
170
|
+
},
|
|
171
|
+
get [ObjectType.IsNull](): any {
|
|
172
|
+
return IsNull;
|
|
173
|
+
},
|
|
174
|
+
get [ObjectType.Recurring](): any {
|
|
175
|
+
return Recurring;
|
|
176
|
+
},
|
|
83
177
|
};
|
|
84
178
|
|
|
85
179
|
export default SerializableObjectDictionary;
|
|
@@ -23,7 +23,7 @@ enum EntityRelationshipType {
|
|
|
23
23
|
* this is NOT inferred from one resource's entity set — caller and
|
|
24
24
|
* callee never share a resource. It is derived from parent/child span
|
|
25
25
|
* pairs that cross a service boundary (see the
|
|
26
|
-
*
|
|
26
|
+
* InventoryItem:ComputeServiceDependencies worker cron).
|
|
27
27
|
*/
|
|
28
28
|
DependsOn = "depends-on",
|
|
29
29
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* How a `InventoryItem` registry row came to exist. The registry started
|
|
3
|
+
* as a forward-only catalog populated purely from OTLP resource attributes;
|
|
4
|
+
* two later sources join it, and the three differ in exactly one way that
|
|
5
|
+
* matters — who owns the row's lifecycle.
|
|
6
|
+
*
|
|
7
|
+
* That ownership is what `PruneStaleEntities` keys on. It reaps rows whose
|
|
8
|
+
* `lastSeenAt` has aged past their type's TTL, which is only a correct
|
|
9
|
+
* staleness signal when something is actively re-bumping `lastSeenAt`. Two
|
|
10
|
+
* of the three sources have nothing doing that, so the prune sweep is
|
|
11
|
+
* scoped to `Discovered` alone — see the guard there.
|
|
12
|
+
*/
|
|
13
|
+
enum EntitySource {
|
|
14
|
+
/**
|
|
15
|
+
* Derived from telemetry resource attributes at ingest and re-bumped on
|
|
16
|
+
* every reconcile window for as long as the entity keeps emitting. Silence
|
|
17
|
+
* past the type's TTL genuinely means gone, so these are TTL-pruned.
|
|
18
|
+
*/
|
|
19
|
+
Discovered = "discovered",
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Mirrored from a OneUptime inventory table (NetworkDevice, CloudResource,
|
|
23
|
+
* IoTDevice, ...). These are collected by pollers rather than OTLP, so no
|
|
24
|
+
* ingest path bumps `lastSeenAt` — the owning row IS the liveness signal,
|
|
25
|
+
* and the mirror is kept in step by that table's create/delete hooks. TTL
|
|
26
|
+
* pruning one of these would delete the registry row for a device that is
|
|
27
|
+
* still very much registered.
|
|
28
|
+
*/
|
|
29
|
+
Inventory = "inventory",
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Created by a user for something that emits no telemetry at all — a
|
|
33
|
+
* third-party API, a vendor-managed database, an appliance. Nothing will
|
|
34
|
+
* ever bump `lastSeenAt`, so these are never TTL-pruned; they live until
|
|
35
|
+
* the user deletes them.
|
|
36
|
+
*/
|
|
37
|
+
Manual = "manual",
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default EntitySource;
|