@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
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import HTTPErrorResponse from "../../../Types/API/HTTPErrorResponse";
|
|
11
|
+
import URL from "../../../Types/API/URL";
|
|
12
|
+
import API from "../../../Utils/API";
|
|
13
|
+
import LlmType from "../../../Types/LLM/LlmType";
|
|
14
|
+
import BadDataException from "../../../Types/Exception/BadDataException";
|
|
15
|
+
import logger from "../Logger";
|
|
16
|
+
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
17
|
+
export default class LLMService {
|
|
18
|
+
static async getCompletion(request) {
|
|
19
|
+
const config = request.llmProviderConfig;
|
|
20
|
+
switch (config.llmType) {
|
|
21
|
+
case LlmType.OpenAI:
|
|
22
|
+
return await this.getOpenAICompletion(config, request);
|
|
23
|
+
case LlmType.Anthropic:
|
|
24
|
+
return await this.getAnthropicCompletion(config, request);
|
|
25
|
+
case LlmType.Ollama:
|
|
26
|
+
return await this.getOllamaCompletion(config, request);
|
|
27
|
+
default:
|
|
28
|
+
throw new BadDataException(`Unsupported LLM type: ${config.llmType}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
static async getOpenAICompletion(config, request) {
|
|
32
|
+
var _a;
|
|
33
|
+
if (!config.apiKey) {
|
|
34
|
+
throw new BadDataException("OpenAI API key is required");
|
|
35
|
+
}
|
|
36
|
+
const baseUrl = config.baseUrl || "https://api.openai.com/v1";
|
|
37
|
+
const modelName = config.modelName || "gpt-4o";
|
|
38
|
+
const response = await API.post({
|
|
39
|
+
url: URL.fromString(`${baseUrl}/chat/completions`),
|
|
40
|
+
data: {
|
|
41
|
+
model: modelName,
|
|
42
|
+
messages: request.messages.map((msg) => {
|
|
43
|
+
return {
|
|
44
|
+
role: msg.role,
|
|
45
|
+
content: msg.content,
|
|
46
|
+
};
|
|
47
|
+
}),
|
|
48
|
+
temperature: (_a = request.temperature) !== null && _a !== void 0 ? _a : 0.7,
|
|
49
|
+
},
|
|
50
|
+
headers: {
|
|
51
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
},
|
|
54
|
+
options: {
|
|
55
|
+
retries: 2,
|
|
56
|
+
exponentialBackoff: true,
|
|
57
|
+
timeout: 120000, // 2 minutes timeout for LLM calls
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
if (response instanceof HTTPErrorResponse) {
|
|
61
|
+
logger.error("Error from OpenAI API:");
|
|
62
|
+
logger.error(response);
|
|
63
|
+
throw new BadDataException(`OpenAI API error: ${JSON.stringify(response.jsonData)}`);
|
|
64
|
+
}
|
|
65
|
+
const jsonData = response.jsonData;
|
|
66
|
+
const choices = jsonData["choices"];
|
|
67
|
+
if (!choices || choices.length === 0) {
|
|
68
|
+
throw new BadDataException("No response from OpenAI");
|
|
69
|
+
}
|
|
70
|
+
const message = choices[0]["message"];
|
|
71
|
+
const usage = jsonData["usage"];
|
|
72
|
+
return {
|
|
73
|
+
content: message["content"],
|
|
74
|
+
usage: usage
|
|
75
|
+
? {
|
|
76
|
+
promptTokens: usage["prompt_tokens"],
|
|
77
|
+
completionTokens: usage["completion_tokens"],
|
|
78
|
+
totalTokens: usage["total_tokens"],
|
|
79
|
+
}
|
|
80
|
+
: undefined,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
static async getAnthropicCompletion(config, request) {
|
|
84
|
+
var _a;
|
|
85
|
+
if (!config.apiKey) {
|
|
86
|
+
throw new BadDataException("Anthropic API key is required");
|
|
87
|
+
}
|
|
88
|
+
const baseUrl = config.baseUrl || "https://api.anthropic.com/v1";
|
|
89
|
+
const modelName = config.modelName || "claude-sonnet-4-20250514";
|
|
90
|
+
// Anthropic requires system message to be separate
|
|
91
|
+
let systemMessage = "";
|
|
92
|
+
const userMessages = [];
|
|
93
|
+
for (const msg of request.messages) {
|
|
94
|
+
if (msg.role === "system") {
|
|
95
|
+
systemMessage = msg.content;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
userMessages.push({
|
|
99
|
+
role: msg.role,
|
|
100
|
+
content: msg.content,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const requestData = {
|
|
105
|
+
model: modelName,
|
|
106
|
+
messages: userMessages,
|
|
107
|
+
temperature: (_a = request.temperature) !== null && _a !== void 0 ? _a : 0.7,
|
|
108
|
+
};
|
|
109
|
+
if (systemMessage) {
|
|
110
|
+
requestData["system"] = systemMessage;
|
|
111
|
+
}
|
|
112
|
+
const response = await API.post({
|
|
113
|
+
url: URL.fromString(`${baseUrl}/messages`),
|
|
114
|
+
data: requestData,
|
|
115
|
+
headers: {
|
|
116
|
+
"x-api-key": config.apiKey,
|
|
117
|
+
"anthropic-version": "2023-06-01",
|
|
118
|
+
"Content-Type": "application/json",
|
|
119
|
+
},
|
|
120
|
+
options: {
|
|
121
|
+
retries: 2,
|
|
122
|
+
exponentialBackoff: true,
|
|
123
|
+
timeout: 120000,
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
if (response instanceof HTTPErrorResponse) {
|
|
127
|
+
logger.error("Error from Anthropic API:");
|
|
128
|
+
logger.error(response);
|
|
129
|
+
throw new BadDataException(`Anthropic API error: ${JSON.stringify(response.jsonData)}`);
|
|
130
|
+
}
|
|
131
|
+
const jsonData = response.jsonData;
|
|
132
|
+
const content = jsonData["content"];
|
|
133
|
+
if (!content || content.length === 0) {
|
|
134
|
+
throw new BadDataException("No response from Anthropic");
|
|
135
|
+
}
|
|
136
|
+
const textContent = content.find((c) => {
|
|
137
|
+
return c["type"] === "text";
|
|
138
|
+
});
|
|
139
|
+
if (!textContent) {
|
|
140
|
+
throw new BadDataException("No text content in Anthropic response");
|
|
141
|
+
}
|
|
142
|
+
const usage = jsonData["usage"];
|
|
143
|
+
return {
|
|
144
|
+
content: textContent["text"],
|
|
145
|
+
usage: usage
|
|
146
|
+
? {
|
|
147
|
+
promptTokens: usage["input_tokens"],
|
|
148
|
+
completionTokens: usage["output_tokens"],
|
|
149
|
+
totalTokens: (usage["input_tokens"] || 0) +
|
|
150
|
+
(usage["output_tokens"] || 0),
|
|
151
|
+
}
|
|
152
|
+
: undefined,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
static async getOllamaCompletion(config, request) {
|
|
156
|
+
var _a;
|
|
157
|
+
if (!config.baseUrl) {
|
|
158
|
+
throw new BadDataException("Ollama base URL is required");
|
|
159
|
+
}
|
|
160
|
+
const modelName = config.modelName || "llama2";
|
|
161
|
+
const response = await API.post({
|
|
162
|
+
url: URL.fromString(`${config.baseUrl}/api/chat`),
|
|
163
|
+
data: {
|
|
164
|
+
model: modelName,
|
|
165
|
+
messages: request.messages.map((msg) => {
|
|
166
|
+
return {
|
|
167
|
+
role: msg.role,
|
|
168
|
+
content: msg.content,
|
|
169
|
+
};
|
|
170
|
+
}),
|
|
171
|
+
stream: false,
|
|
172
|
+
options: {
|
|
173
|
+
temperature: (_a = request.temperature) !== null && _a !== void 0 ? _a : 0.7,
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
headers: {
|
|
177
|
+
"Content-Type": "application/json",
|
|
178
|
+
},
|
|
179
|
+
options: {
|
|
180
|
+
retries: 2,
|
|
181
|
+
exponentialBackoff: true,
|
|
182
|
+
timeout: 300000, // 5 minutes for Ollama as it may be slower
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
if (response instanceof HTTPErrorResponse) {
|
|
186
|
+
logger.error("Error from Ollama API:");
|
|
187
|
+
logger.error(response);
|
|
188
|
+
throw new BadDataException(`Ollama API error: ${JSON.stringify(response.jsonData)}`);
|
|
189
|
+
}
|
|
190
|
+
const jsonData = response.jsonData;
|
|
191
|
+
const message = jsonData["message"];
|
|
192
|
+
if (!message) {
|
|
193
|
+
throw new BadDataException("No response from Ollama");
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
content: message["content"],
|
|
197
|
+
usage: undefined, // Ollama doesn't provide token usage in the same way
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
__decorate([
|
|
202
|
+
CaptureSpan(),
|
|
203
|
+
__metadata("design:type", Function),
|
|
204
|
+
__metadata("design:paramtypes", [Object]),
|
|
205
|
+
__metadata("design:returntype", Promise)
|
|
206
|
+
], LLMService, "getCompletion", null);
|
|
207
|
+
__decorate([
|
|
208
|
+
CaptureSpan(),
|
|
209
|
+
__metadata("design:type", Function),
|
|
210
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
211
|
+
__metadata("design:returntype", Promise)
|
|
212
|
+
], LLMService, "getOpenAICompletion", null);
|
|
213
|
+
__decorate([
|
|
214
|
+
CaptureSpan(),
|
|
215
|
+
__metadata("design:type", Function),
|
|
216
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
217
|
+
__metadata("design:returntype", Promise)
|
|
218
|
+
], LLMService, "getAnthropicCompletion", null);
|
|
219
|
+
__decorate([
|
|
220
|
+
CaptureSpan(),
|
|
221
|
+
__metadata("design:type", Function),
|
|
222
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
223
|
+
__metadata("design:returntype", Promise)
|
|
224
|
+
], LLMService, "getOllamaCompletion", null);
|
|
225
|
+
//# sourceMappingURL=LLMService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMService.js","sourceRoot":"","sources":["../../../../../Server/Utils/LLM/LLMService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2121,6 +2121,110 @@ All monitoring checks are passing normally.`;
|
|
|
2121
2121
|
throw error;
|
|
2122
2122
|
}
|
|
2123
2123
|
}
|
|
2124
|
+
static async getChannelMessages(params) {
|
|
2125
|
+
const messages = [];
|
|
2126
|
+
try {
|
|
2127
|
+
// Get valid access token
|
|
2128
|
+
const projectAuth = await WorkspaceProjectAuthTokenService.getProjectAuth({
|
|
2129
|
+
projectId: params.projectId,
|
|
2130
|
+
workspaceType: WorkspaceType.MicrosoftTeams,
|
|
2131
|
+
});
|
|
2132
|
+
if (!projectAuth || !projectAuth.miscData) {
|
|
2133
|
+
logger.error("Microsoft Teams integration not found for this project");
|
|
2134
|
+
return messages;
|
|
2135
|
+
}
|
|
2136
|
+
const miscData = projectAuth.miscData;
|
|
2137
|
+
const accessToken = miscData["appAccessToken"];
|
|
2138
|
+
const tokenExpiresAt = miscData["appAccessTokenExpiresAt"];
|
|
2139
|
+
// Check if token is expired
|
|
2140
|
+
if (!accessToken ||
|
|
2141
|
+
(tokenExpiresAt &&
|
|
2142
|
+
OneUptimeDate.isInThePast(OneUptimeDate.fromString(tokenExpiresAt)))) {
|
|
2143
|
+
logger.debug("Microsoft Teams access token expired or missing, skipping message fetch");
|
|
2144
|
+
return messages;
|
|
2145
|
+
}
|
|
2146
|
+
// Fetch messages from Microsoft Teams channel
|
|
2147
|
+
let nextLink = undefined;
|
|
2148
|
+
const maxMessages = params.limit || 1000;
|
|
2149
|
+
const maxPages = 10;
|
|
2150
|
+
let pageCount = 0;
|
|
2151
|
+
do {
|
|
2152
|
+
let requestUrl;
|
|
2153
|
+
if (nextLink) {
|
|
2154
|
+
requestUrl = nextLink;
|
|
2155
|
+
}
|
|
2156
|
+
else {
|
|
2157
|
+
requestUrl = `https://graph.microsoft.com/v1.0/teams/${params.teamId}/channels/${params.channelId}/messages`;
|
|
2158
|
+
requestUrl += `?$top=${Math.min(50, maxMessages - messages.length)}`;
|
|
2159
|
+
}
|
|
2160
|
+
const response = await API.get({
|
|
2161
|
+
url: URL.fromString(requestUrl),
|
|
2162
|
+
headers: {
|
|
2163
|
+
Authorization: `Bearer ${accessToken}`,
|
|
2164
|
+
"Content-Type": "application/json",
|
|
2165
|
+
},
|
|
2166
|
+
options: {
|
|
2167
|
+
retries: 2,
|
|
2168
|
+
exponentialBackoff: true,
|
|
2169
|
+
},
|
|
2170
|
+
});
|
|
2171
|
+
if (response instanceof HTTPErrorResponse) {
|
|
2172
|
+
logger.error("Error response from Microsoft Teams API for channel messages:");
|
|
2173
|
+
logger.error(response);
|
|
2174
|
+
break;
|
|
2175
|
+
}
|
|
2176
|
+
const jsonData = response.jsonData;
|
|
2177
|
+
const teamsMessages = jsonData["value"] || [];
|
|
2178
|
+
for (const msg of teamsMessages) {
|
|
2179
|
+
// Skip system messages
|
|
2180
|
+
if (msg["messageType"] !== "message") {
|
|
2181
|
+
continue;
|
|
2182
|
+
}
|
|
2183
|
+
const body = msg["body"];
|
|
2184
|
+
let text = (body === null || body === void 0 ? void 0 : body["content"]) || "";
|
|
2185
|
+
// Remove HTML tags if present (Teams uses HTML)
|
|
2186
|
+
text = text.replace(/<[^>]*>/g, "");
|
|
2187
|
+
text = text.trim();
|
|
2188
|
+
// Skip empty messages
|
|
2189
|
+
if (!text) {
|
|
2190
|
+
continue;
|
|
2191
|
+
}
|
|
2192
|
+
const from = msg["from"];
|
|
2193
|
+
const user = from === null || from === void 0 ? void 0 : from["user"];
|
|
2194
|
+
const isBot = Boolean(from === null || from === void 0 ? void 0 : from["application"]);
|
|
2195
|
+
const createdDateTime = msg["createdDateTime"];
|
|
2196
|
+
const timestamp = createdDateTime
|
|
2197
|
+
? new Date(createdDateTime)
|
|
2198
|
+
: new Date();
|
|
2199
|
+
// Check if message is older than the oldest timestamp filter
|
|
2200
|
+
if (params.oldestTimestamp && timestamp < params.oldestTimestamp) {
|
|
2201
|
+
continue;
|
|
2202
|
+
}
|
|
2203
|
+
messages.push({
|
|
2204
|
+
messageId: msg["id"],
|
|
2205
|
+
text: text,
|
|
2206
|
+
userId: user === null || user === void 0 ? void 0 : user["id"],
|
|
2207
|
+
username: user === null || user === void 0 ? void 0 : user["displayName"],
|
|
2208
|
+
timestamp: timestamp,
|
|
2209
|
+
isBot: isBot,
|
|
2210
|
+
});
|
|
2211
|
+
}
|
|
2212
|
+
nextLink = jsonData["@odata.nextLink"];
|
|
2213
|
+
pageCount++;
|
|
2214
|
+
} while (nextLink &&
|
|
2215
|
+
messages.length < maxMessages &&
|
|
2216
|
+
pageCount < maxPages);
|
|
2217
|
+
logger.debug(`Retrieved ${messages.length} messages from Microsoft Teams channel ${params.channelId}`);
|
|
2218
|
+
// Sort by timestamp (oldest first)
|
|
2219
|
+
messages.sort((a, b) => {
|
|
2220
|
+
return a.timestamp.getTime() - b.timestamp.getTime();
|
|
2221
|
+
});
|
|
2222
|
+
}
|
|
2223
|
+
catch (error) {
|
|
2224
|
+
logger.error(`Error fetching Microsoft Teams channel messages: ${error}`);
|
|
2225
|
+
}
|
|
2226
|
+
return messages;
|
|
2227
|
+
}
|
|
2124
2228
|
}
|
|
2125
2229
|
MicrosoftTeamsUtil.cachedAdapter = null;
|
|
2126
2230
|
MicrosoftTeamsUtil.WELCOME_CARD_STATE_KEY = "oneuptime.microsoftTeams.welcomeCardSent";
|
|
@@ -2365,4 +2469,10 @@ __decorate([
|
|
|
2365
2469
|
__metadata("design:paramtypes", [String]),
|
|
2366
2470
|
__metadata("design:returntype", Promise)
|
|
2367
2471
|
], MicrosoftTeamsUtil, "getUserJoinedTeams", null);
|
|
2472
|
+
__decorate([
|
|
2473
|
+
CaptureSpan(),
|
|
2474
|
+
__metadata("design:type", Function),
|
|
2475
|
+
__metadata("design:paramtypes", [Object]),
|
|
2476
|
+
__metadata("design:returntype", Promise)
|
|
2477
|
+
], MicrosoftTeamsUtil, "getChannelMessages", null);
|
|
2368
2478
|
//# sourceMappingURL=MicrosoftTeams.js.map
|