@oneuptime/common 9.2.15 → 9.2.17
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/DatabaseModels/Alert.ts +11 -0
- package/Models/DatabaseModels/AlertCustomField.ts +7 -0
- package/Models/DatabaseModels/AlertFeed.ts +9 -0
- package/Models/DatabaseModels/AlertInternalNote.ts +7 -0
- package/Models/DatabaseModels/AlertNoteTemplate.ts +11 -0
- package/Models/DatabaseModels/AlertOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/AlertOwnerUser.ts +11 -0
- package/Models/DatabaseModels/AlertSeverity.ts +4 -0
- package/Models/DatabaseModels/AlertState.ts +4 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +20 -0
- package/Models/DatabaseModels/ApiKey.ts +8 -0
- package/Models/DatabaseModels/ApiKeyPermission.ts +11 -0
- package/Models/DatabaseModels/BillingInvoice.ts +42 -9
- package/Models/DatabaseModels/CallLog.ts +30 -0
- package/Models/DatabaseModels/CodeRepository.ts +664 -0
- package/Models/DatabaseModels/Dashboard.ts +11 -0
- package/Models/DatabaseModels/Domain.ts +5 -0
- package/Models/DatabaseModels/EmailLog.ts +31 -0
- package/Models/DatabaseModels/Incident.ts +8 -0
- package/Models/DatabaseModels/IncidentCustomField.ts +7 -0
- package/Models/DatabaseModels/IncidentFeed.ts +17 -0
- package/Models/DatabaseModels/IncidentInternalNote.ts +7 -0
- package/Models/DatabaseModels/IncidentNoteTemplate.ts +11 -0
- package/Models/DatabaseModels/IncidentOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/IncidentOwnerUser.ts +11 -0
- package/Models/DatabaseModels/IncidentPublicNote.ts +8 -0
- package/Models/DatabaseModels/IncidentSeverity.ts +4 -0
- package/Models/DatabaseModels/IncidentState.ts +4 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +25 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +18 -0
- package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +6 -0
- package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +6 -0
- package/Models/DatabaseModels/Index.ts +8 -0
- package/Models/DatabaseModels/Label.ts +6 -0
- package/Models/DatabaseModels/LlmLog.ts +818 -0
- package/Models/DatabaseModels/LlmProvider.ts +21 -0
- package/Models/DatabaseModels/Monitor.ts +9 -0
- package/Models/DatabaseModels/MonitorCustomField.ts +7 -0
- package/Models/DatabaseModels/MonitorFeed.ts +17 -0
- package/Models/DatabaseModels/MonitorGroup.ts +5 -0
- package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +11 -0
- package/Models/DatabaseModels/MonitorGroupResource.ts +10 -0
- package/Models/DatabaseModels/MonitorOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/MonitorOwnerUser.ts +11 -0
- package/Models/DatabaseModels/MonitorProbe.ts +26 -2
- package/Models/DatabaseModels/MonitorSecret.ts +10 -0
- package/Models/DatabaseModels/MonitorStatus.ts +5 -0
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +21 -0
- package/Models/DatabaseModels/MonitorTest.ts +18 -1
- package/Models/DatabaseModels/OnCallDutyPolicy.ts +6 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +13 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +34 -1
- package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +17 -0
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +19 -0
- package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +16 -0
- package/Models/DatabaseModels/Probe.ts +11 -1
- package/Models/DatabaseModels/ProbeOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/ProbeOwnerUser.ts +11 -0
- package/Models/DatabaseModels/Project.ts +222 -0
- package/Models/DatabaseModels/ProjectCallSMSConfig.ts +13 -0
- package/Models/DatabaseModels/ProjectSmtpConfig.ts +41 -6
- package/Models/DatabaseModels/ProjectSso.ts +17 -0
- package/Models/DatabaseModels/PromoCode.ts +20 -1
- package/Models/DatabaseModels/PushNotificationLog.ts +31 -0
- package/Models/DatabaseModels/Reseller.ts +12 -0
- package/Models/DatabaseModels/ResellerPlan.ts +13 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +8 -0
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +7 -0
- package/Models/DatabaseModels/ScheduledMaintenanceFeed.ts +17 -0
- package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +7 -0
- package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +11 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +11 -0
- package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +12 -0
- package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +17 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +29 -0
- package/Models/DatabaseModels/ServiceCatalog.ts +6 -0
- package/Models/DatabaseModels/ServiceCatalogCodeRepository.ts +549 -0
- package/Models/DatabaseModels/ServiceCatalogDependency.ts +10 -0
- package/Models/DatabaseModels/ServiceCatalogMonitor.ts +10 -0
- package/Models/DatabaseModels/ServiceCatalogOwnerTeam.ts +10 -0
- package/Models/DatabaseModels/ServiceCatalogOwnerUser.ts +10 -0
- package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +10 -0
- package/Models/DatabaseModels/ShortLink.ts +4 -0
- package/Models/DatabaseModels/SmsLog.ts +31 -0
- package/Models/DatabaseModels/StatusPage.ts +6 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +5 -0
- package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +21 -0
- package/Models/DatabaseModels/StatusPageDomain.ts +10 -1
- package/Models/DatabaseModels/StatusPageFooterLink.ts +7 -0
- package/Models/DatabaseModels/StatusPageGroup.ts +8 -0
- package/Models/DatabaseModels/StatusPageHeaderLink.ts +5 -0
- package/Models/DatabaseModels/StatusPageOwnerTeam.ts +6 -0
- package/Models/DatabaseModels/StatusPageOwnerUser.ts +6 -0
- package/Models/DatabaseModels/StatusPageResource.ts +9 -0
- package/Models/DatabaseModels/StatusPageSso.ts +14 -0
- package/Models/DatabaseModels/StatusPageSubscriber.ts +5 -0
- package/Models/DatabaseModels/TableView.ts +12 -0
- package/Models/DatabaseModels/Team.ts +10 -0
- package/Models/DatabaseModels/TeamMember.ts +12 -0
- package/Models/DatabaseModels/TeamPermission.ts +11 -0
- package/Models/DatabaseModels/TelemetryException.ts +28 -0
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +10 -0
- package/Models/DatabaseModels/TelemetryService.ts +6 -0
- package/Models/DatabaseModels/TelemetryUsageBilling.ts +15 -0
- package/Models/DatabaseModels/User.ts +9 -1
- package/Models/DatabaseModels/UserCall.ts +7 -0
- package/Models/DatabaseModels/UserEmail.ts +7 -0
- package/Models/DatabaseModels/UserNotificationRule.ts +13 -0
- package/Models/DatabaseModels/UserNotificationSetting.ts +10 -0
- package/Models/DatabaseModels/UserOnCallLog.ts +28 -2
- package/Models/DatabaseModels/UserSMS.ts +7 -0
- package/Models/DatabaseModels/Workflow.ts +6 -0
- package/Server/API/AIBillingAPI.ts +126 -0
- package/Server/API/GitHubAPI.ts +360 -0
- package/Server/API/IncidentAPI.ts +126 -0
- package/Server/EnvironmentConfig.ts +44 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.ts +79 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.ts +75 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.ts +32 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.ts +69 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.ts +111 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.ts +39 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
- package/Server/Services/AIBillingService.ts +247 -0
- package/Server/Services/AIService.ts +239 -0
- package/Server/Services/CodeRepositoryService.ts +10 -0
- package/Server/Services/IncidentService.ts +89 -0
- package/Server/Services/Index.ts +2 -0
- package/Server/Services/LlmLogService.ts +14 -0
- package/Server/Services/LlmProviderService.ts +58 -0
- package/Server/Services/ServiceCatalogCodeRepositoryService.ts +55 -0
- package/Server/Utils/AI/IncidentAIContextBuilder.ts +498 -0
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +226 -0
- package/Server/Utils/LLM/LLMService.ts +276 -0
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +166 -0
- package/Server/Utils/Workspace/Slack/Slack.ts +134 -0
- package/Server/Utils/Workspace/Workspace.ts +126 -0
- package/Types/CodeRepository/CodeRepositoryType.ts +1 -1
- package/Types/Database/TableColumn.ts +1 -0
- package/Types/LlmLogStatus.ts +7 -0
- package/Types/Permission.ts +87 -0
- package/Types/ServiceCatalog/CodeRepositoryImprovementAction.ts +9 -0
- package/UI/Components/AI/AILoader.tsx +95 -0
- package/UI/Components/AI/GenerateFromAIModal.tsx +295 -0
- package/UI/Components/Modal/Modal.tsx +6 -1
- package/build/dist/Models/DatabaseModels/Alert.js +8 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +6 -0
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertFeed.js +8 -0
- package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js +6 -0
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +9 -0
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +3 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertState.js +3 -0
- package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +19 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKey.js +7 -0
- package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +11 -0
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/BillingInvoice.js +42 -9
- package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CallLog.js +30 -0
- package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +689 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js +11 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js +5 -0
- package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/EmailLog.js +31 -0
- package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +7 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +6 -0
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentFeed.js +15 -0
- package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +6 -0
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +9 -0
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +7 -0
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +3 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentState.js +3 -0
- package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +23 -0
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +16 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +6 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +6 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +7 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Label.js +6 -0
- package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LlmLog.js +856 -0
- package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -0
- package/build/dist/Models/DatabaseModels/LlmProvider.js +22 -0
- package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +8 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +6 -0
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorFeed.js +15 -0
- package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroup.js +5 -0
- package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +10 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorProbe.js +26 -2
- package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorSecret.js +10 -0
- package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js +5 -0
- package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +20 -0
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js +18 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +5 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +12 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +33 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +15 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +18 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +15 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Probe.js +11 -1
- package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +235 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +13 -0
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +40 -6
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js +16 -0
- package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PromoCode.js +20 -1
- package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PushNotificationLog.js +30 -0
- package/build/dist/Models/DatabaseModels/PushNotificationLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Reseller.js +12 -0
- package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ResellerPlan.js +13 -0
- package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +7 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +6 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js +15 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +6 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +9 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +16 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +27 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalog.js +5 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js +565 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js +10 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js +10 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js +10 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js +10 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +10 -0
- package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ShortLink.js +4 -0
- package/build/dist/Models/DatabaseModels/ShortLink.js.map +1 -1
- package/build/dist/Models/DatabaseModels/SmsLog.js +30 -0
- package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +5 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +4 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +19 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +10 -1
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +7 -0
- package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js +7 -0
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +5 -0
- package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +6 -0
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +6 -0
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageResource.js +9 -0
- package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSso.js +13 -0
- package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +5 -0
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TableView.js +12 -0
- package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Team.js +9 -0
- package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMember.js +12 -0
- package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamPermission.js +11 -0
- package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +27 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +9 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryService.js +6 -0
- package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +15 -0
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +9 -1
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserCall.js +7 -0
- package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserEmail.js +7 -0
- package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationRule.js +13 -0
- package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +10 -0
- package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js +28 -2
- package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserSMS.js +7 -0
- package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Workflow.js +5 -0
- package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
- package/build/dist/Server/API/AIBillingAPI.js +58 -0
- package/build/dist/Server/API/AIBillingAPI.js.map +1 -0
- package/build/dist/Server/API/GitHubAPI.js +207 -0
- package/build/dist/Server/API/GitHubAPI.js.map +1 -0
- package/build/dist/Server/API/IncidentAPI.js +84 -1
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +31 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765580181582-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js +32 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765633554715-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js +38 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765801357168-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js +30 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765810218488-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js +44 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765830758857-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1765834537501-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AIBillingService.js +187 -0
- package/build/dist/Server/Services/AIBillingService.js.map +1 -0
- package/build/dist/Server/Services/AIService.js +185 -0
- package/build/dist/Server/Services/AIService.js.map +1 -0
- package/build/dist/Server/Services/CodeRepositoryService.js +9 -0
- package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -0
- package/build/dist/Server/Services/IncidentService.js +61 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +2 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LlmLogService.js +13 -0
- package/build/dist/Server/Services/LlmLogService.js.map +1 -0
- package/build/dist/Server/Services/LlmProviderService.js +65 -0
- package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
- package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js +54 -0
- package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js.map +1 -0
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +408 -0
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +163 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/LLM/LLMService.js +225 -0
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +110 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js +89 -0
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Workspace.js +80 -0
- package/build/dist/Server/Utils/Workspace/Workspace.js.map +1 -1
- package/build/dist/Types/CodeRepository/CodeRepositoryType.js +1 -1
- package/build/dist/Types/CodeRepository/CodeRepositoryType.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/LlmLogStatus.js +8 -0
- package/build/dist/Types/LlmLogStatus.js.map +1 -0
- package/build/dist/Types/Permission.js +74 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js +10 -0
- package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js.map +1 -0
- package/build/dist/UI/Components/AI/AILoader.js +64 -0
- package/build/dist/UI/Components/AI/AILoader.js.map +1 -0
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js +207 -0
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -0
- package/build/dist/UI/Components/Modal/Modal.js +6 -1
- package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
- package/package.json +1 -1
|
@@ -1896,4 +1896,138 @@ export default class SlackUtil extends WorkspaceBase {
|
|
|
1896
1896
|
public static convertMarkdownToSlackRichText(markdown: string): string {
|
|
1897
1897
|
return SlackifyMarkdown(markdown);
|
|
1898
1898
|
}
|
|
1899
|
+
|
|
1900
|
+
@CaptureSpan()
|
|
1901
|
+
public static async getChannelMessages(params: {
|
|
1902
|
+
channelId: string;
|
|
1903
|
+
authToken: string;
|
|
1904
|
+
limit?: number;
|
|
1905
|
+
oldestTimestamp?: Date;
|
|
1906
|
+
}): Promise<
|
|
1907
|
+
Array<{
|
|
1908
|
+
messageId: string;
|
|
1909
|
+
text: string;
|
|
1910
|
+
userId?: string;
|
|
1911
|
+
username?: string;
|
|
1912
|
+
timestamp: Date;
|
|
1913
|
+
isBot: boolean;
|
|
1914
|
+
}>
|
|
1915
|
+
> {
|
|
1916
|
+
const messages: Array<{
|
|
1917
|
+
messageId: string;
|
|
1918
|
+
text: string;
|
|
1919
|
+
userId?: string;
|
|
1920
|
+
username?: string;
|
|
1921
|
+
timestamp: Date;
|
|
1922
|
+
isBot: boolean;
|
|
1923
|
+
}> = [];
|
|
1924
|
+
let cursor: string | undefined = undefined;
|
|
1925
|
+
const maxMessages: number = params.limit || 1000;
|
|
1926
|
+
const maxPages: number = 10;
|
|
1927
|
+
let pageCount: number = 0;
|
|
1928
|
+
|
|
1929
|
+
do {
|
|
1930
|
+
const requestData: JSONObject = {
|
|
1931
|
+
channel: params.channelId,
|
|
1932
|
+
limit: Math.min(200, maxMessages - messages.length),
|
|
1933
|
+
};
|
|
1934
|
+
|
|
1935
|
+
if (cursor) {
|
|
1936
|
+
requestData["cursor"] = cursor;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
if (params.oldestTimestamp) {
|
|
1940
|
+
requestData["oldest"] = (
|
|
1941
|
+
params.oldestTimestamp.getTime() / 1000
|
|
1942
|
+
).toString();
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
const response: HTTPErrorResponse | HTTPResponse<JSONObject> =
|
|
1946
|
+
await API.post<JSONObject>({
|
|
1947
|
+
url: URL.fromString("https://slack.com/api/conversations.history"),
|
|
1948
|
+
data: requestData,
|
|
1949
|
+
headers: {
|
|
1950
|
+
Authorization: `Bearer ${params.authToken}`,
|
|
1951
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
1952
|
+
},
|
|
1953
|
+
options: {
|
|
1954
|
+
retries: 3,
|
|
1955
|
+
exponentialBackoff: true,
|
|
1956
|
+
},
|
|
1957
|
+
});
|
|
1958
|
+
|
|
1959
|
+
if (response instanceof HTTPErrorResponse) {
|
|
1960
|
+
logger.error("Error response from Slack API for channel history:");
|
|
1961
|
+
logger.error(response);
|
|
1962
|
+
break;
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
const jsonData: JSONObject = response.jsonData as JSONObject;
|
|
1966
|
+
|
|
1967
|
+
if (jsonData["ok"] !== true) {
|
|
1968
|
+
logger.error("Invalid response from Slack API for channel history:");
|
|
1969
|
+
logger.error(jsonData);
|
|
1970
|
+
break;
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1973
|
+
const slackMessages: Array<JSONObject> =
|
|
1974
|
+
(jsonData["messages"] as Array<JSONObject>) || [];
|
|
1975
|
+
|
|
1976
|
+
for (const msg of slackMessages) {
|
|
1977
|
+
// Skip bot messages if they're from the OneUptime bot (app messages)
|
|
1978
|
+
const isBot: boolean =
|
|
1979
|
+
Boolean(msg["bot_id"]) || msg["subtype"] === "bot_message";
|
|
1980
|
+
|
|
1981
|
+
// Extract text, handling attachments and blocks
|
|
1982
|
+
let text: string = (msg["text"] as string) || "";
|
|
1983
|
+
|
|
1984
|
+
// If there are attachments, append their text
|
|
1985
|
+
const attachments: Array<JSONObject> | undefined = msg[
|
|
1986
|
+
"attachments"
|
|
1987
|
+
] as Array<JSONObject> | undefined;
|
|
1988
|
+
if (attachments && Array.isArray(attachments)) {
|
|
1989
|
+
for (const attachment of attachments) {
|
|
1990
|
+
if (attachment && attachment["text"]) {
|
|
1991
|
+
text += "\n" + (attachment["text"] as string);
|
|
1992
|
+
}
|
|
1993
|
+
if (attachment && attachment["fallback"]) {
|
|
1994
|
+
text += "\n" + (attachment["fallback"] as string);
|
|
1995
|
+
}
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
// Skip empty messages
|
|
2000
|
+
if (!text.trim()) {
|
|
2001
|
+
continue;
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
const timestamp: Date = msg["ts"]
|
|
2005
|
+
? new Date(parseFloat(msg["ts"] as string) * 1000)
|
|
2006
|
+
: new Date();
|
|
2007
|
+
|
|
2008
|
+
messages.push({
|
|
2009
|
+
messageId: msg["ts"] as string,
|
|
2010
|
+
text: text,
|
|
2011
|
+
userId: msg["user"] as string,
|
|
2012
|
+
username: msg["username"] as string,
|
|
2013
|
+
timestamp: timestamp,
|
|
2014
|
+
isBot: isBot,
|
|
2015
|
+
});
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
cursor = (jsonData["response_metadata"] as JSONObject)?.[
|
|
2019
|
+
"next_cursor"
|
|
2020
|
+
] as string;
|
|
2021
|
+
pageCount++;
|
|
2022
|
+
} while (cursor && messages.length < maxMessages && pageCount < maxPages);
|
|
2023
|
+
|
|
2024
|
+
logger.debug(
|
|
2025
|
+
`Retrieved ${messages.length} messages from Slack channel ${params.channelId}`,
|
|
2026
|
+
);
|
|
2027
|
+
|
|
2028
|
+
// Reverse to get chronological order (Slack returns newest first)
|
|
2029
|
+
messages.reverse();
|
|
2030
|
+
|
|
2031
|
+
return messages;
|
|
2032
|
+
}
|
|
1899
2033
|
}
|
|
@@ -17,6 +17,16 @@ import WorkspaceUserAuthToken from "../../../Models/DatabaseModels/WorkspaceUser
|
|
|
17
17
|
import WorkspaceUserAuthTokenService from "../../Services/WorkspaceUserAuthTokenService";
|
|
18
18
|
import UserService from "../../Services/UserService";
|
|
19
19
|
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
20
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
21
|
+
|
|
22
|
+
export interface WorkspaceChannelMessage {
|
|
23
|
+
messageId: string;
|
|
24
|
+
text: string;
|
|
25
|
+
userId?: string;
|
|
26
|
+
username?: string;
|
|
27
|
+
timestamp: Date;
|
|
28
|
+
isBot: boolean;
|
|
29
|
+
}
|
|
20
30
|
|
|
21
31
|
export default class WorkspaceUtil {
|
|
22
32
|
@CaptureSpan()
|
|
@@ -236,4 +246,120 @@ export default class WorkspaceUtil {
|
|
|
236
246
|
|
|
237
247
|
return result;
|
|
238
248
|
}
|
|
249
|
+
|
|
250
|
+
@CaptureSpan()
|
|
251
|
+
public static async getChannelMessages(params: {
|
|
252
|
+
channelId: string;
|
|
253
|
+
authToken: string;
|
|
254
|
+
projectId: ObjectID;
|
|
255
|
+
workspaceType: WorkspaceType;
|
|
256
|
+
teamId?: string;
|
|
257
|
+
limit?: number;
|
|
258
|
+
oldestTimestamp?: Date;
|
|
259
|
+
}): Promise<Array<WorkspaceChannelMessage>> {
|
|
260
|
+
switch (params.workspaceType) {
|
|
261
|
+
case WorkspaceType.Slack: {
|
|
262
|
+
const slackParams: {
|
|
263
|
+
channelId: string;
|
|
264
|
+
authToken: string;
|
|
265
|
+
limit?: number;
|
|
266
|
+
oldestTimestamp?: Date;
|
|
267
|
+
} = {
|
|
268
|
+
channelId: params.channelId,
|
|
269
|
+
authToken: params.authToken,
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
if (params.limit !== undefined) {
|
|
273
|
+
slackParams.limit = params.limit;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
if (params.oldestTimestamp) {
|
|
277
|
+
slackParams.oldestTimestamp = params.oldestTimestamp;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
return await SlackWorkspace.getChannelMessages(slackParams);
|
|
281
|
+
}
|
|
282
|
+
case WorkspaceType.MicrosoftTeams: {
|
|
283
|
+
if (!params.teamId) {
|
|
284
|
+
logger.error(
|
|
285
|
+
"Team ID is required for Microsoft Teams channel messages",
|
|
286
|
+
);
|
|
287
|
+
return [];
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
const teamsParams: {
|
|
291
|
+
channelId: string;
|
|
292
|
+
teamId: string;
|
|
293
|
+
projectId: ObjectID;
|
|
294
|
+
limit?: number;
|
|
295
|
+
oldestTimestamp?: Date;
|
|
296
|
+
} = {
|
|
297
|
+
channelId: params.channelId,
|
|
298
|
+
teamId: params.teamId,
|
|
299
|
+
projectId: params.projectId,
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
if (params.limit !== undefined) {
|
|
303
|
+
teamsParams.limit = params.limit;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (params.oldestTimestamp) {
|
|
307
|
+
teamsParams.oldestTimestamp = params.oldestTimestamp;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
return await MicrosoftTeamsUtil.getChannelMessages(teamsParams);
|
|
311
|
+
}
|
|
312
|
+
default:
|
|
313
|
+
logger.debug(
|
|
314
|
+
`Unsupported workspace type for channel messages: ${params.workspaceType}`,
|
|
315
|
+
);
|
|
316
|
+
return [];
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
@CaptureSpan()
|
|
321
|
+
public static formatMessagesAsContext(
|
|
322
|
+
messages: Array<WorkspaceChannelMessage>,
|
|
323
|
+
options?: {
|
|
324
|
+
includeTimestamp?: boolean;
|
|
325
|
+
includeUsername?: boolean;
|
|
326
|
+
maxLength?: number;
|
|
327
|
+
},
|
|
328
|
+
): string {
|
|
329
|
+
const includeTimestamp: boolean = options?.includeTimestamp ?? true;
|
|
330
|
+
const includeUsername: boolean = options?.includeUsername ?? true;
|
|
331
|
+
const maxLength: number = options?.maxLength || 50000;
|
|
332
|
+
|
|
333
|
+
let context: string = "";
|
|
334
|
+
|
|
335
|
+
for (const msg of messages) {
|
|
336
|
+
let line: string = "";
|
|
337
|
+
|
|
338
|
+
if (includeTimestamp) {
|
|
339
|
+
const dateStr: string = OneUptimeDate.getDateAsFormattedString(
|
|
340
|
+
msg.timestamp,
|
|
341
|
+
);
|
|
342
|
+
line += `[${dateStr}] `;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
if (includeUsername && msg.username) {
|
|
346
|
+
line += `${msg.username}: `;
|
|
347
|
+
} else if (includeUsername && msg.userId) {
|
|
348
|
+
line += `User ${msg.userId}: `;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
line += msg.text;
|
|
352
|
+
line += "\n";
|
|
353
|
+
|
|
354
|
+
// Check if adding this line would exceed max length
|
|
355
|
+
if (context.length + line.length > maxLength) {
|
|
356
|
+
context += "\n... (messages truncated due to length)";
|
|
357
|
+
break;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
context += line;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
return context.trim();
|
|
364
|
+
}
|
|
239
365
|
}
|
|
@@ -24,6 +24,7 @@ export interface TableColumnMetadata {
|
|
|
24
24
|
modelType?: { new (): BaseModel };
|
|
25
25
|
defaultValue?: string | number | boolean | JSONObject; // default value for the column, can be a string, number, or boolean
|
|
26
26
|
forceGetDefaultValueOnCreate?: () => string | number | boolean; // overwrites any value that is being passed and generates a new one. Useful for generating OTPs, etc.
|
|
27
|
+
example?: string | number | boolean | JSONObject | Array<JSONObject>; // example value for API documentation
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export default (props: TableColumnMetadata): ReflectionMetadataType => {
|
package/Types/Permission.ts
CHANGED
|
@@ -147,6 +147,7 @@ enum Permission {
|
|
|
147
147
|
ReadCallLog = "ReadCallLog",
|
|
148
148
|
ReadPushLog = "ReadPushLog",
|
|
149
149
|
ReadWorkspaceNotificationLog = "ReadWorkspaceNotificationLog",
|
|
150
|
+
ReadLlmLog = "ReadLlmLog",
|
|
150
151
|
|
|
151
152
|
CreateIncidentOwnerTeam = "CreateIncidentOwnerTeam",
|
|
152
153
|
DeleteIncidentOwnerTeam = "DeleteIncidentOwnerTeam",
|
|
@@ -624,6 +625,17 @@ enum Permission {
|
|
|
624
625
|
EditServiceCatalogTelemetryService = "EditServiceCatalogTelemetryService",
|
|
625
626
|
ReadServiceCatalogTelemetryService = "ReadServiceCatalogTelemetryService",
|
|
626
627
|
|
|
628
|
+
CreateServiceCatalogCodeRepository = "CreateServiceCatalogCodeRepository",
|
|
629
|
+
DeleteServiceCatalogCodeRepository = "DeleteServiceCatalogCodeRepository",
|
|
630
|
+
EditServiceCatalogCodeRepository = "EditServiceCatalogCodeRepository",
|
|
631
|
+
ReadServiceCatalogCodeRepository = "ReadServiceCatalogCodeRepository",
|
|
632
|
+
|
|
633
|
+
// Code Repository
|
|
634
|
+
CreateCodeRepository = "CreateCodeRepository",
|
|
635
|
+
DeleteCodeRepository = "DeleteCodeRepository",
|
|
636
|
+
EditCodeRepository = "EditCodeRepository",
|
|
637
|
+
ReadCodeRepository = "ReadCodeRepository",
|
|
638
|
+
|
|
627
639
|
CreateProbeOwnerTeam = "CreateProbeOwnerTeam",
|
|
628
640
|
DeleteProbeOwnerTeam = "DeleteProbeOwnerTeam",
|
|
629
641
|
EditProbeOwnerTeam = "EditProbeOwnerTeam",
|
|
@@ -3132,6 +3144,14 @@ export class PermissionHelper {
|
|
|
3132
3144
|
isAccessControlPermission: false,
|
|
3133
3145
|
},
|
|
3134
3146
|
|
|
3147
|
+
{
|
|
3148
|
+
permission: Permission.ReadLlmLog,
|
|
3149
|
+
title: "Read LLM Log",
|
|
3150
|
+
description: "This permission can read LLM Logs of this project.",
|
|
3151
|
+
isAssignableToTenant: true,
|
|
3152
|
+
isAccessControlPermission: false,
|
|
3153
|
+
},
|
|
3154
|
+
|
|
3135
3155
|
{
|
|
3136
3156
|
permission: Permission.CreateMonitorProbe,
|
|
3137
3157
|
title: "Create Monitor Probe",
|
|
@@ -3417,6 +3437,73 @@ export class PermissionHelper {
|
|
|
3417
3437
|
isAccessControlPermission: false,
|
|
3418
3438
|
},
|
|
3419
3439
|
|
|
3440
|
+
{
|
|
3441
|
+
permission: Permission.CreateServiceCatalogCodeRepository,
|
|
3442
|
+
title: "Create Service Catalog Code Repository",
|
|
3443
|
+
description:
|
|
3444
|
+
"This permission can create Service Catalog Code Repository in this project.",
|
|
3445
|
+
isAssignableToTenant: true,
|
|
3446
|
+
isAccessControlPermission: false,
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
permission: Permission.DeleteServiceCatalogCodeRepository,
|
|
3450
|
+
title: "Delete Service Catalog Code Repository",
|
|
3451
|
+
description:
|
|
3452
|
+
"This permission can delete Service Catalog Code Repository of this project.",
|
|
3453
|
+
isAssignableToTenant: true,
|
|
3454
|
+
isAccessControlPermission: false,
|
|
3455
|
+
},
|
|
3456
|
+
{
|
|
3457
|
+
permission: Permission.EditServiceCatalogCodeRepository,
|
|
3458
|
+
title: "Edit Service Catalog Code Repository",
|
|
3459
|
+
description:
|
|
3460
|
+
"This permission can edit Service Catalog Code Repository of this project.",
|
|
3461
|
+
isAssignableToTenant: true,
|
|
3462
|
+
isAccessControlPermission: false,
|
|
3463
|
+
},
|
|
3464
|
+
{
|
|
3465
|
+
permission: Permission.ReadServiceCatalogCodeRepository,
|
|
3466
|
+
title: "Read Service Catalog Code Repository",
|
|
3467
|
+
description:
|
|
3468
|
+
"This permission can read Service Catalog Code Repository of this project.",
|
|
3469
|
+
isAssignableToTenant: true,
|
|
3470
|
+
isAccessControlPermission: false,
|
|
3471
|
+
},
|
|
3472
|
+
|
|
3473
|
+
// Code Repository Permissions
|
|
3474
|
+
{
|
|
3475
|
+
permission: Permission.CreateCodeRepository,
|
|
3476
|
+
title: "Create Code Repository",
|
|
3477
|
+
description:
|
|
3478
|
+
"This permission can create Code Repositories in this project.",
|
|
3479
|
+
isAssignableToTenant: true,
|
|
3480
|
+
isAccessControlPermission: true,
|
|
3481
|
+
},
|
|
3482
|
+
{
|
|
3483
|
+
permission: Permission.DeleteCodeRepository,
|
|
3484
|
+
title: "Delete Code Repository",
|
|
3485
|
+
description:
|
|
3486
|
+
"This permission can delete Code Repositories of this project.",
|
|
3487
|
+
isAssignableToTenant: true,
|
|
3488
|
+
isAccessControlPermission: true,
|
|
3489
|
+
},
|
|
3490
|
+
{
|
|
3491
|
+
permission: Permission.EditCodeRepository,
|
|
3492
|
+
title: "Edit Code Repository",
|
|
3493
|
+
description:
|
|
3494
|
+
"This permission can edit Code Repositories of this project.",
|
|
3495
|
+
isAssignableToTenant: true,
|
|
3496
|
+
isAccessControlPermission: true,
|
|
3497
|
+
},
|
|
3498
|
+
{
|
|
3499
|
+
permission: Permission.ReadCodeRepository,
|
|
3500
|
+
title: "Read Code Repository",
|
|
3501
|
+
description:
|
|
3502
|
+
"This permission can read Code Repositories of this project.",
|
|
3503
|
+
isAssignableToTenant: true,
|
|
3504
|
+
isAccessControlPermission: true,
|
|
3505
|
+
},
|
|
3506
|
+
|
|
3420
3507
|
{
|
|
3421
3508
|
permission: Permission.CreateTelemetryServiceTraces,
|
|
3422
3509
|
title: "Create Telemetry Service Traces",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
enum CodeRepositoryImprovementAction {
|
|
2
|
+
FixExceptions = "Fix Exceptions",
|
|
3
|
+
ImproveLogs = "Improve Logs",
|
|
4
|
+
ImproveSpans = "Improve Spans",
|
|
5
|
+
ImproveMetrics = "Improve Metrics",
|
|
6
|
+
FixPerformanceIssues = "Fix Performance Issues",
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export default CodeRepositoryImprovementAction;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
FunctionComponent,
|
|
3
|
+
ReactElement,
|
|
4
|
+
useEffect,
|
|
5
|
+
useState,
|
|
6
|
+
} from "react";
|
|
7
|
+
|
|
8
|
+
const loadingStages: Array<string> = ["Analyzing", "Processing", "Generating"];
|
|
9
|
+
|
|
10
|
+
const AILoader: FunctionComponent = (): ReactElement => {
|
|
11
|
+
const [stageIndex, setStageIndex] = useState<number>(0);
|
|
12
|
+
const [dots, setDots] = useState<string>("");
|
|
13
|
+
|
|
14
|
+
// Cycle through stages
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const interval: NodeJS.Timeout = setInterval(() => {
|
|
17
|
+
setStageIndex((prev: number) => {
|
|
18
|
+
return (prev + 1) % loadingStages.length;
|
|
19
|
+
});
|
|
20
|
+
}, 2500);
|
|
21
|
+
|
|
22
|
+
return () => {
|
|
23
|
+
clearInterval(interval);
|
|
24
|
+
};
|
|
25
|
+
}, []);
|
|
26
|
+
|
|
27
|
+
// Animate dots
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const interval: NodeJS.Timeout = setInterval(() => {
|
|
30
|
+
setDots((prev: string) => {
|
|
31
|
+
return prev.length >= 3 ? "" : prev + ".";
|
|
32
|
+
});
|
|
33
|
+
}, 400);
|
|
34
|
+
|
|
35
|
+
return () => {
|
|
36
|
+
clearInterval(interval);
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<div className="py-8 px-4">
|
|
42
|
+
<div className="flex items-center justify-center gap-3">
|
|
43
|
+
{/* Pulsing AI indicator */}
|
|
44
|
+
<div className="relative">
|
|
45
|
+
<div
|
|
46
|
+
className="w-2 h-2 bg-indigo-600 rounded-full"
|
|
47
|
+
style={{
|
|
48
|
+
animation: "aiPulse 1.5s ease-in-out infinite",
|
|
49
|
+
}}
|
|
50
|
+
/>
|
|
51
|
+
<div
|
|
52
|
+
className="absolute inset-0 w-2 h-2 bg-indigo-600 rounded-full"
|
|
53
|
+
style={{
|
|
54
|
+
animation: "aiPing 1.5s ease-out infinite",
|
|
55
|
+
}}
|
|
56
|
+
/>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
{/* Status text */}
|
|
60
|
+
<span className="text-sm text-gray-600 font-medium min-w-[100px]">
|
|
61
|
+
{loadingStages[stageIndex]}
|
|
62
|
+
<span className="inline-block w-4 text-left">{dots}</span>
|
|
63
|
+
</span>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
{/* CSS for animations */}
|
|
67
|
+
<style>
|
|
68
|
+
{`
|
|
69
|
+
@keyframes aiPulse {
|
|
70
|
+
0%, 100% {
|
|
71
|
+
opacity: 1;
|
|
72
|
+
transform: scale(1);
|
|
73
|
+
}
|
|
74
|
+
50% {
|
|
75
|
+
opacity: 0.7;
|
|
76
|
+
transform: scale(1.1);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
@keyframes aiPing {
|
|
80
|
+
0% {
|
|
81
|
+
opacity: 0.6;
|
|
82
|
+
transform: scale(1);
|
|
83
|
+
}
|
|
84
|
+
100% {
|
|
85
|
+
opacity: 0;
|
|
86
|
+
transform: scale(2.5);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
`}
|
|
90
|
+
</style>
|
|
91
|
+
</div>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export default AILoader;
|