@oneuptime/common 12.0.3 → 12.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/Models/DatabaseModels/AIRun.ts +38 -1
  2. package/Models/DatabaseModels/AlertFeed.ts +30 -0
  3. package/Models/DatabaseModels/CephCluster.ts +14 -0
  4. package/Models/DatabaseModels/CodeRepository.ts +14 -6
  5. package/Models/DatabaseModels/Dashboard.ts +28 -0
  6. package/Models/DatabaseModels/DockerHost.ts +14 -0
  7. package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
  8. package/Models/DatabaseModels/GlobalSsoProject.ts +18 -0
  9. package/Models/DatabaseModels/Incident.ts +2 -0
  10. package/Models/DatabaseModels/IncidentEpisode.ts +1 -0
  11. package/Models/DatabaseModels/IncidentEpisodePublicNote.ts +1 -0
  12. package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +1 -0
  13. package/Models/DatabaseModels/IncidentFeed.ts +30 -0
  14. package/Models/DatabaseModels/IncidentPublicNote.ts +1 -0
  15. package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
  16. package/Models/DatabaseModels/IoTFleet.ts +14 -0
  17. package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
  18. package/Models/DatabaseModels/LogSavedView.ts +33 -0
  19. package/Models/DatabaseModels/NetworkDevice.ts +14 -0
  20. package/Models/DatabaseModels/NetworkInterface.ts +18 -0
  21. package/Models/DatabaseModels/Project.ts +247 -11
  22. package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
  23. package/Models/DatabaseModels/ScheduledMaintenance.ts +1 -0
  24. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +1 -0
  25. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -0
  26. package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +4 -4
  27. package/Models/DatabaseModels/Service.ts +30 -0
  28. package/Models/DatabaseModels/StatusPage.ts +28 -0
  29. package/Models/DatabaseModels/StatusPageAnnouncement.ts +1 -0
  30. package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
  31. package/Models/DatabaseModels/User.ts +30 -0
  32. package/Server/API/AIAgentDataAPI.ts +75 -55
  33. package/Server/API/AIInvestigationAPI.ts +175 -17
  34. package/Server/API/DashboardAPI.ts +429 -22
  35. package/Server/API/GitHubAPI.ts +119 -283
  36. package/Server/API/StatusPageAPI.ts +38 -19
  37. package/Server/API/UserAPI.ts +263 -1
  38. package/Server/EnvironmentConfig.ts +23 -3
  39. package/Server/Infrastructure/ClickhouseConfig.ts +15 -1
  40. package/Server/Infrastructure/ClickhouseDatabase.ts +1 -1
  41. package/Server/Infrastructure/GlobalCache.ts +37 -0
  42. package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
  43. package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
  44. package/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.ts +27 -0
  45. package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -0
  46. package/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.ts +89 -0
  47. package/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.ts +27 -0
  48. package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
  49. package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -0
  50. package/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.ts +40 -0
  51. package/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.ts +26 -0
  52. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +20 -0
  53. package/Server/Services/AIRunService.ts +78 -10
  54. package/Server/Services/AIService.ts +94 -22
  55. package/Server/Services/AlertFeedService.ts +5 -0
  56. package/Server/Services/AnalyticsDatabaseService.ts +101 -1
  57. package/Server/Services/CodeRepositoryService.ts +105 -2
  58. package/Server/Services/DatabaseService.ts +227 -3
  59. package/Server/Services/IncidentFeedService.ts +5 -0
  60. package/Server/Services/LlmLogService.ts +46 -2
  61. package/Server/Services/OpenTelemetryIngestService.ts +230 -26
  62. package/Server/Services/UserService.ts +184 -0
  63. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +6 -0
  64. package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +4 -0
  65. package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +8 -5
  66. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +90 -16
  67. package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +2 -0
  68. package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +2 -0
  69. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +223 -22
  70. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +25 -24
  71. package/Server/Utils/AI/SRE/ConfidenceSignal.ts +182 -71
  72. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +252 -43
  73. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +25 -24
  74. package/Server/Utils/AI/SRE/InstrumentationTaskTrigger.ts +47 -13
  75. package/Server/Utils/AI/SRE/InvestigationGrader.ts +9 -5
  76. package/Server/Utils/AI/SRE/InvestigationQueue.ts +141 -24
  77. package/Server/Utils/AI/SRE/InvestigationSubjectLock.ts +66 -0
  78. package/Server/Utils/AI/SRE/PostedRootCause.ts +94 -3
  79. package/Server/Utils/AI/SRE/README.md +1 -1
  80. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +132 -10
  81. package/Server/Utils/AI/Toolbox/CodeTools.ts +45 -4
  82. package/Server/Utils/AnalyticsDatabase/ClusterConfig.ts +24 -0
  83. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
  84. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
  85. package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -0
  86. package/Server/Utils/Monitor/Criteria/APIRequestCriteria.ts +29 -0
  87. package/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.ts +56 -0
  88. package/Server/Utils/Monitor/MonitorMetricUtil.ts +46 -0
  89. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -0
  90. package/Server/Utils/PasswordHash.ts +330 -0
  91. package/Tests/App/Dashboard/AIInvestigationHeaderStatus.test.tsx +251 -0
  92. package/Tests/App/Dashboard/EventStatusPanel.test.tsx +747 -0
  93. package/Tests/App/Dashboard/InvestigationFeedRefresh.test.tsx +480 -0
  94. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1184 -0
  95. package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +500 -0
  96. package/Tests/App/Dashboard/OverviewCustomFields.test.tsx +333 -0
  97. package/Tests/App/Dashboard/PortMonitorCriteriaFilter.test.ts +93 -0
  98. package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -0
  99. package/Tests/App/StatusPage/PublicStatusPageAPIErrorHandling.test.ts +117 -0
  100. package/Tests/App/StatusPage/StatusPageModelAPIPolymorphism.test.ts +223 -0
  101. package/Tests/Models/DatabaseModels/PermissionCatalogueCoverage.test.ts +243 -0
  102. package/Tests/Server/API/AIAgentDataFixFromIncidentContext.test.ts +266 -0
  103. package/Tests/Server/API/AIAgentDataRepositoryToken.test.ts +381 -0
  104. package/Tests/Server/API/AIInvestigationAPI.test.ts +594 -0
  105. package/Tests/Server/API/AIInvestigationCreateFixTask.test.ts +80 -0
  106. package/Tests/Server/API/DashboardMasterPasswordAPI.test.ts +172 -1
  107. package/Tests/Server/API/DashboardPublicAttributeValuesAPI.test.ts +943 -0
  108. package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
  109. package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
  110. package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
  111. package/Tests/Server/API/Helpers.ts +6 -1
  112. package/Tests/Server/API/StatusPageMasterPasswordAPI.test.ts +335 -0
  113. package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
  114. package/Tests/Server/Infrastructure/GlobalCache.test.ts +128 -0
  115. package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -0
  116. package/Tests/Server/Services/AIRunCodeFixClaim.test.ts +59 -5
  117. package/Tests/Server/Services/AIRunHumanVerdict.test.ts +127 -58
  118. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +396 -20
  119. package/Tests/Server/Services/AddMasterPasswordSaltMigration.test.ts +283 -0
  120. package/Tests/Server/Services/AddPerUserPasswordSaltMigration.test.ts +178 -0
  121. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
  122. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +30 -1
  123. package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
  124. package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
  125. package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +880 -0
  126. package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +54 -0
  127. package/Tests/Server/Services/FeedAIRunAssociation.test.ts +125 -0
  128. package/Tests/Server/Services/FixFromIncidentTaskTrigger.test.ts +418 -57
  129. package/Tests/Server/Services/InstrumentationTaskTrigger.test.ts +173 -14
  130. package/Tests/Server/Services/MasterPasswordScrypt.test.ts +567 -0
  131. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +568 -0
  132. package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
  133. package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
  134. package/Tests/Server/Services/SeparateIncidentAlertAiSettingsMigration.test.ts +194 -0
  135. package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +885 -0
  136. package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -0
  137. package/Tests/Server/Utils/AI/AIAlertGating.test.ts +37 -4
  138. package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +330 -29
  139. package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +25 -0
  140. package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +293 -5
  141. package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +59 -1
  142. package/Tests/Server/Utils/AI/CodeTools.test.ts +47 -1
  143. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
  144. package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +342 -19
  145. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +214 -30
  146. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +2 -0
  147. package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +65 -17
  148. package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +3 -0
  149. package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +313 -20
  150. package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
  151. package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +4 -0
  152. package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +2 -0
  153. package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +44 -0
  154. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +30 -0
  155. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
  156. package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
  157. package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
  158. package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -0
  159. package/Tests/Server/Utils/Monitor/Criteria/APIRequestCriteriaPortTimings.test.ts +212 -0
  160. package/Tests/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.test.ts +401 -0
  161. package/Tests/Server/Utils/Monitor/MonitorMetricUtilPortTimings.test.ts +243 -0
  162. package/Tests/Server/Utils/PasswordHash.test.ts +585 -0
  163. package/Tests/Types/Dashboard/DashboardTemplates.test.ts +111 -0
  164. package/Tests/Types/Database/ColumnLength.test.ts +7 -1
  165. package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
  166. package/Tests/Types/Monitor/CephMetricCatalog.test.ts +104 -0
  167. package/Tests/Types/Monitor/CriteriaFilter.test.ts +4 -0
  168. package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
  169. package/Tests/Types/Monitor/DockerMetricCatalog.test.ts +109 -0
  170. package/Tests/Types/Monitor/DockerSwarmMetricCatalog.test.ts +118 -0
  171. package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
  172. package/Tests/Types/Monitor/HostMetricCatalog.test.ts +104 -0
  173. package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -0
  174. package/Tests/Types/Monitor/IotMetricCatalog.test.ts +104 -0
  175. package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +118 -0
  176. package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +42 -0
  177. package/Tests/Types/Monitor/MonitorStep.test.ts +38 -0
  178. package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +75 -0
  179. package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +271 -0
  180. package/Tests/Types/Monitor/PodmanMetricCatalog.test.ts +109 -0
  181. package/Tests/Types/Monitor/ProxmoxMetricCatalog.test.ts +107 -0
  182. package/Tests/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.test.ts +151 -0
  183. package/Tests/Types/Permission.test.ts +137 -0
  184. package/Tests/Types/Rum/SessionReplayMaskingMode.test.ts +101 -0
  185. package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +5 -5
  186. package/Tests/UI/Components/CardModelDetailEdit.test.tsx +3 -5
  187. package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +696 -0
  188. package/Tests/UI/Components/ErrorBoundary.test.tsx +158 -0
  189. package/Tests/UI/Components/FeedItemSafeMode.test.tsx +74 -0
  190. package/Tests/UI/Components/MoreMenu.test.tsx +756 -0
  191. package/Tests/UI/Components/StatusPage/ResourceGroupSection.test.tsx +62 -0
  192. package/Tests/UI/Monitor/PortMonitorView.test.tsx +237 -0
  193. package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +91 -0
  194. package/Tests/UI/Utils/DownloadFile.test.ts +103 -0
  195. package/Tests/UI/Utils/ErrorSupportBundle.test.ts +582 -0
  196. package/Tests/UI/Utils/Project.test.ts +31 -0
  197. package/Tests/UI/Utils/StatusPageModelAPIInjection.test.ts +245 -0
  198. package/Tests/UI/Utils/UseDashboardGridDnd.test.tsx +820 -0
  199. package/Tests/UI/Utils/UserProjectsModelAPI.test.ts +714 -0
  200. package/Tests/Utils/Dashboard/DashboardViewConfig.test.ts +329 -0
  201. package/Tests/Utils/Dashboard/GridLayout.test.ts +951 -0
  202. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +117 -0
  203. package/Tests/Utils/RecordingRuleExpression.test.ts +327 -0
  204. package/Tests/Utils/StatusPage/GroupNestingLayout.test.ts +186 -0
  205. package/Tests/Utils/StatusPage/GroupTree.test.ts +456 -0
  206. package/Tests/Utils/StatusPage/OverviewGroupHierarchyVisibility.test.ts +588 -0
  207. package/Tests/Utils/TeamMembersByProject.test.ts +655 -0
  208. package/Tests/Utils/Telemetry/SavedViewTimeRange.test.ts +244 -0
  209. package/Tests/Utils/Telemetry/TelemetryQueryTimeRange.test.ts +825 -0
  210. package/Types/AI/AIRunCodeFixRecommendation.ts +17 -0
  211. package/Types/AI/CodeFixTaskContext.ts +63 -3
  212. package/Types/AI/CodeFixTaskType.ts +3 -3
  213. package/Types/Database/ColumnLength.ts +9 -1
  214. package/Types/Database/TableColumn.ts +11 -0
  215. package/Types/Database/UnsynchronizedIndex.ts +48 -0
  216. package/Types/HashedString.ts +140 -4
  217. package/Types/Monitor/CriteriaFilter.ts +4 -0
  218. package/Types/Monitor/DomainMonitor/DomainLookupMethod.ts +23 -0
  219. package/Types/Monitor/DomainMonitor/DomainMonitorResponse.ts +7 -0
  220. package/Types/Monitor/MonitorCriteriaInstance.ts +24 -7
  221. package/Types/Monitor/MonitorMetricType.ts +8 -0
  222. package/Types/Monitor/MonitorStep.ts +10 -1
  223. package/Types/Monitor/MonitorStepDomainMonitor.ts +21 -0
  224. package/Types/Monitor/PortMonitor/PortMonitorTimings.ts +10 -0
  225. package/Types/Permission.ts +23 -175
  226. package/Types/Probe/ProbeMonitorResponse.ts +6 -0
  227. package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +2 -3
  228. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +85 -11
  229. package/UI/Components/ErrorBoundary.tsx +138 -11
  230. package/UI/Components/Feed/FeedItem.tsx +9 -2
  231. package/UI/Components/ModelDetail/CardModelDetail.tsx +0 -12
  232. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  233. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +12 -2
  234. package/UI/Components/MoreMenu/MoreMenu.tsx +285 -97
  235. package/UI/Components/MoreMenu/MoreMenuItem.tsx +8 -5
  236. package/UI/Components/Navbar/NavBar.tsx +12 -2
  237. package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
  238. package/UI/Utils/DownloadFile.ts +16 -8
  239. package/UI/Utils/ErrorSupportBundle.ts +805 -0
  240. package/UI/Utils/ModelAPI/ModelAPI.ts +19 -8
  241. package/UI/Utils/ModelAPI/UserProjectsModelAPI.ts +257 -0
  242. package/UI/Utils/Project.ts +4 -0
  243. package/UI/Utils/StatusPage.ts +8 -2
  244. package/UI/Utils/UseDashboardGridDnd.ts +917 -0
  245. package/Utils/Dashboard/DashboardViewConfig.ts +80 -36
  246. package/Utils/Dashboard/GridLayout.ts +523 -0
  247. package/Utils/Metrics/RecordingRuleExpression.ts +19 -17
  248. package/Utils/Monitor/MonitorMetricType.ts +44 -2
  249. package/Utils/StatusPage/GroupNestingLayout.ts +69 -0
  250. package/Utils/StatusPage/GroupTree.ts +157 -66
  251. package/Utils/StatusPage/ResourceUptime.ts +37 -2
  252. package/Utils/TeamMembersByProject.ts +237 -0
  253. package/Utils/Telemetry/SavedViewTimeRange.ts +114 -0
  254. package/Utils/Telemetry/TelemetryQueryTimeRange.ts +334 -0
  255. package/build/dist/Models/DatabaseModels/AIRun.js +39 -1
  256. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  257. package/build/dist/Models/DatabaseModels/AlertFeed.js +32 -0
  258. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  259. package/build/dist/Models/DatabaseModels/CephCluster.js +16 -1
  260. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  261. package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
  262. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  263. package/build/dist/Models/DatabaseModels/Dashboard.js +29 -0
  264. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  265. package/build/dist/Models/DatabaseModels/DockerHost.js +16 -1
  266. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  267. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
  268. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
  269. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
  270. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
  271. package/build/dist/Models/DatabaseModels/Incident.js +2 -0
  272. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  273. package/build/dist/Models/DatabaseModels/IncidentEpisode.js +1 -0
  274. package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
  275. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js +1 -0
  276. package/build/dist/Models/DatabaseModels/IncidentEpisodePublicNote.js.map +1 -1
  277. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +1 -0
  278. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
  279. package/build/dist/Models/DatabaseModels/IncidentFeed.js +32 -0
  280. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  281. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +1 -0
  282. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
  283. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
  284. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  285. package/build/dist/Models/DatabaseModels/IoTFleet.js +16 -1
  286. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
  287. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
  288. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  289. package/build/dist/Models/DatabaseModels/LogSavedView.js +33 -0
  290. package/build/dist/Models/DatabaseModels/LogSavedView.js.map +1 -1
  291. package/build/dist/Models/DatabaseModels/NetworkDevice.js +16 -1
  292. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  293. package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
  294. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
  295. package/build/dist/Models/DatabaseModels/Project.js +257 -13
  296. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  297. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
  298. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  299. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +1 -0
  300. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  301. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +1 -0
  302. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
  303. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -0
  304. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  305. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +4 -4
  306. package/build/dist/Models/DatabaseModels/Service.js +28 -1
  307. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/StatusPage.js +29 -0
  309. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +1 -0
  311. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
  313. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/User.js +32 -0
  315. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  316. package/build/dist/Server/API/AIAgentDataAPI.js +49 -48
  317. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  318. package/build/dist/Server/API/AIInvestigationAPI.js +111 -11
  319. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  320. package/build/dist/Server/API/DashboardAPI.js +312 -15
  321. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  322. package/build/dist/Server/API/GitHubAPI.js +94 -167
  323. package/build/dist/Server/API/GitHubAPI.js.map +1 -1
  324. package/build/dist/Server/API/StatusPageAPI.js +29 -11
  325. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  326. package/build/dist/Server/API/UserAPI.js +187 -2
  327. package/build/dist/Server/API/UserAPI.js.map +1 -1
  328. package/build/dist/Server/EnvironmentConfig.js +21 -3
  329. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  330. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -1
  331. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  332. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js +1 -1
  333. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js.map +1 -1
  334. package/build/dist/Server/Infrastructure/GlobalCache.js +29 -0
  335. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  336. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
  337. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
  338. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
  339. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
  340. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js +22 -0
  341. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786096660558-AddTimeRangeToLogSavedView.js.map +1 -0
  342. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
  343. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js.map +1 -0
  344. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js +36 -0
  345. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786101798351-MigrationName.js.map +1 -0
  346. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js +18 -0
  347. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786105470826-MigrationName.js.map +1 -0
  348. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
  349. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
  350. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
  351. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js.map +1 -0
  352. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js +19 -0
  353. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786400000000-AddMasterPasswordSalt.js.map +1 -0
  354. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js +19 -0
  355. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786500000000-AddInvestigationCodeFixRecommendation.js.map +1 -0
  356. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +20 -0
  357. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  358. package/build/dist/Server/Services/AIRunService.js +58 -12
  359. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  360. package/build/dist/Server/Services/AIService.js +74 -21
  361. package/build/dist/Server/Services/AIService.js.map +1 -1
  362. package/build/dist/Server/Services/AlertFeedService.js +3 -0
  363. package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
  364. package/build/dist/Server/Services/AnalyticsDatabaseService.js +86 -2
  365. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  366. package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
  367. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
  368. package/build/dist/Server/Services/DatabaseService.js +180 -3
  369. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  370. package/build/dist/Server/Services/IncidentFeedService.js +3 -0
  371. package/build/dist/Server/Services/IncidentFeedService.js.map +1 -1
  372. package/build/dist/Server/Services/LlmLogService.js +22 -1
  373. package/build/dist/Server/Services/LlmLogService.js.map +1 -1
  374. package/build/dist/Server/Services/OpenTelemetryIngestService.js +155 -25
  375. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  376. package/build/dist/Server/Services/UserService.js +165 -0
  377. package/build/dist/Server/Services/UserService.js.map +1 -1
  378. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +3 -0
  379. package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
  380. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +4 -0
  381. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -1
  382. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +8 -5
  383. package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
  384. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +63 -24
  385. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
  386. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +2 -0
  387. package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
  388. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +2 -0
  389. package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -1
  390. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +156 -28
  391. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  392. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +21 -19
  393. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  394. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +128 -49
  395. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
  396. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +170 -31
  397. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
  398. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +21 -19
  399. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  400. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js +33 -9
  401. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js.map +1 -1
  402. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +9 -5
  403. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
  404. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +121 -41
  405. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
  406. package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js +46 -0
  407. package/build/dist/Server/Utils/AI/SRE/InvestigationSubjectLock.js.map +1 -0
  408. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +61 -14
  409. package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -1
  410. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +79 -1
  411. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
  412. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +31 -1
  413. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -1
  414. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js +21 -0
  415. package/build/dist/Server/Utils/AnalyticsDatabase/ClusterConfig.js.map +1 -1
  416. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +13 -0
  417. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  418. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
  419. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  420. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
  421. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
  422. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js +20 -3
  423. package/build/dist/Server/Utils/Monitor/Criteria/APIRequestCriteria.js.map +1 -1
  424. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js +43 -0
  425. package/build/dist/Server/Utils/Monitor/Criteria/DomainMonitorCriteria.js.map +1 -1
  426. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +33 -0
  427. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  428. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +1 -0
  429. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  430. package/build/dist/Server/Utils/PasswordHash.js +258 -0
  431. package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
  432. package/build/dist/Types/AI/AIRunCodeFixRecommendation.js +18 -0
  433. package/build/dist/Types/AI/AIRunCodeFixRecommendation.js.map +1 -0
  434. package/build/dist/Types/AI/CodeFixTaskContext.js +23 -3
  435. package/build/dist/Types/AI/CodeFixTaskContext.js.map +1 -1
  436. package/build/dist/Types/AI/CodeFixTaskType.js +3 -3
  437. package/build/dist/Types/Database/ColumnLength.js +9 -1
  438. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  439. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  440. package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
  441. package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
  442. package/build/dist/Types/HashedString.js +96 -5
  443. package/build/dist/Types/HashedString.js.map +1 -1
  444. package/build/dist/Types/Monitor/CriteriaFilter.js +4 -0
  445. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  446. package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js +24 -0
  447. package/build/dist/Types/Monitor/DomainMonitor/DomainLookupMethod.js.map +1 -0
  448. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +24 -7
  449. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  450. package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
  451. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  452. package/build/dist/Types/Monitor/MonitorStep.js +6 -1
  453. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  454. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js +15 -0
  455. package/build/dist/Types/Monitor/MonitorStepDomainMonitor.js.map +1 -1
  456. package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js +2 -0
  457. package/build/dist/Types/Monitor/PortMonitor/PortMonitorTimings.js.map +1 -0
  458. package/build/dist/Types/Permission.js +23 -155
  459. package/build/dist/Types/Permission.js.map +1 -1
  460. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +2 -5
  461. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
  462. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +51 -10
  463. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  464. package/build/dist/UI/Components/ErrorBoundary.js +67 -8
  465. package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
  466. package/build/dist/UI/Components/Feed/FeedItem.js +2 -2
  467. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  468. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +0 -12
  469. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
  470. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  471. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  472. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +12 -2
  473. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  474. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +193 -65
  475. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  476. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +1 -1
  477. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  478. package/build/dist/UI/Components/Navbar/NavBar.js +3 -1
  479. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  480. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
  481. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  482. package/build/dist/UI/Utils/DownloadFile.js +15 -8
  483. package/build/dist/UI/Utils/DownloadFile.js.map +1 -1
  484. package/build/dist/UI/Utils/ErrorSupportBundle.js +476 -0
  485. package/build/dist/UI/Utils/ErrorSupportBundle.js.map +1 -0
  486. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -8
  487. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  488. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js +156 -0
  489. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
  490. package/build/dist/UI/Utils/Project.js +3 -0
  491. package/build/dist/UI/Utils/Project.js.map +1 -1
  492. package/build/dist/UI/Utils/StatusPage.js +4 -4
  493. package/build/dist/UI/Utils/StatusPage.js.map +1 -1
  494. package/build/dist/UI/Utils/UseDashboardGridDnd.js +551 -0
  495. package/build/dist/UI/Utils/UseDashboardGridDnd.js.map +1 -0
  496. package/build/dist/Utils/Dashboard/DashboardViewConfig.js +42 -26
  497. package/build/dist/Utils/Dashboard/DashboardViewConfig.js.map +1 -1
  498. package/build/dist/Utils/Dashboard/GridLayout.js +338 -0
  499. package/build/dist/Utils/Dashboard/GridLayout.js.map +1 -0
  500. package/build/dist/Utils/Metrics/RecordingRuleExpression.js +19 -17
  501. package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -1
  502. package/build/dist/Utils/Monitor/MonitorMetricType.js +38 -6
  503. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  504. package/build/dist/Utils/StatusPage/GroupNestingLayout.js +46 -0
  505. package/build/dist/Utils/StatusPage/GroupNestingLayout.js.map +1 -1
  506. package/build/dist/Utils/StatusPage/GroupTree.js +79 -34
  507. package/build/dist/Utils/StatusPage/GroupTree.js.map +1 -1
  508. package/build/dist/Utils/StatusPage/ResourceUptime.js +22 -1
  509. package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
  510. package/build/dist/Utils/TeamMembersByProject.js +145 -0
  511. package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
  512. package/build/dist/Utils/Telemetry/SavedViewTimeRange.js +79 -0
  513. package/build/dist/Utils/Telemetry/SavedViewTimeRange.js.map +1 -0
  514. package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js +236 -0
  515. package/build/dist/Utils/Telemetry/TelemetryQueryTimeRange.js.map +1 -0
  516. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsDatabaseService.js","sourceRoot":"","sources":["../../../../Server/Services/AnalyticsDatabaseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnalyticsDatabaseService.js","sourceRoot":"","sources":["../../../../Server/Services/AnalyticsDatabaseService.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,77 @@ import logger from "../Utils/Logger";
16
16
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
17
17
  import { resolveRepositoryForExceptionFix, } from "../Utils/CodeRepository/StackTraceRepoResolver";
18
18
  import GitHubUtil from "../Utils/CodeRepository/GitHub/GitHub";
19
+ import GitHubInstallationBinding from "../Utils/CodeRepository/GitHub/GitHubInstallationBinding";
20
+ import BadDataException from "../../Types/Exception/BadDataException";
19
21
  export class Service extends DatabaseService {
20
22
  constructor() {
21
23
  super(Model);
22
24
  }
25
+ /*
26
+ * Last line of defence for the installation-to-project binding.
27
+ *
28
+ * gitHubAppInstallationId is already closed to API callers at the column
29
+ * level, but that only stops requests that go through permission checks —
30
+ * every write here is made with `props: { isRoot: true }`, which skips them
31
+ * entirely. This hook runs regardless of isRoot, so any route (including one
32
+ * added later) that writes a row carrying another tenant's installation ID
33
+ * is refused at the service boundary rather than at the token endpoint.
34
+ *
35
+ * The legitimate writer is importReposFromInstallation, which the install
36
+ * callback and the installation webhooks only ever call for a project the
37
+ * installation is already bound to — so this check passes for them.
38
+ */
39
+ async onBeforeCreate(createBy) {
40
+ const installationId = createBy.data.gitHubAppInstallationId;
41
+ if (installationId) {
42
+ const projectId = createBy.data.projectId || createBy.props.tenantId;
43
+ if (!projectId) {
44
+ throw new BadDataException("A project is required to connect a GitHub App installation to a repository.");
45
+ }
46
+ await GitHubInstallationBinding.assertInstallationBoundToProject({
47
+ projectId: projectId,
48
+ installationId: installationId,
49
+ });
50
+ }
51
+ return { createBy, carryForward: null };
52
+ }
53
+ /*
54
+ * Same rule on the update path. Clearing the installation ID is always
55
+ * allowed — that is how the `installation.deleted` webhook tears a
56
+ * disconnected installation out of the database.
57
+ */
58
+ async onBeforeUpdate(updateBy) {
59
+ const installationId = updateBy.data
60
+ .gitHubAppInstallationId;
61
+ if (installationId) {
62
+ /*
63
+ * updateBy matches by query rather than by id, so check every row the
64
+ * write would touch: one unbound row is enough to leak a token.
65
+ */
66
+ const repositories = await this.findBy({
67
+ query: updateBy.query,
68
+ select: {
69
+ _id: true,
70
+ projectId: true,
71
+ },
72
+ limit: LIMIT_MAX,
73
+ skip: 0,
74
+ props: {
75
+ isRoot: true,
76
+ },
77
+ });
78
+ for (const repository of repositories) {
79
+ if (!repository.projectId) {
80
+ throw new BadDataException("A project is required to connect a GitHub App installation to a repository.");
81
+ }
82
+ await GitHubInstallationBinding.assertInstallationBoundToProject({
83
+ projectId: repository.projectId,
84
+ installationId: installationId,
85
+ });
86
+ }
87
+ }
88
+ return { updateBy, carryForward: null };
89
+ }
23
90
  /*
24
91
  * Imports all repositories accessible to a GitHub App installation into a
25
92
  * project. Repositories that already exist for the project (matched on
@@ -138,12 +205,21 @@ export class Service extends DatabaseService {
138
205
  isRoot: true,
139
206
  },
140
207
  });
141
- // Only GitHub-App-connected repos can be cloned/pushed by the agent.
208
+ /*
209
+ * Only GitHub-App-connected repos can be cloned/pushed by the agent — and
210
+ * only ones whose installation this project actually owns. Resolution
211
+ * probes EVERY candidate's file tree, so an unbound row here would have
212
+ * the server read another tenant's private repository on its own
213
+ * initiative (GHSA-xx95-gmcf-7q86).
214
+ */
215
+ const boundInstallationId = await GitHubInstallationBinding.getBoundInstallationId(data.projectId);
142
216
  const resolvable = repositories
143
217
  .filter((repository) => {
144
218
  return (repository.repositoryHostedAt === CodeRepositoryType.GitHub &&
145
219
  Boolean(repository.gitHubAppInstallationId) &&
146
- Boolean(repository.id));
220
+ Boolean(repository.id) &&
221
+ Boolean(boundInstallationId) &&
222
+ repository.gitHubAppInstallationId === boundInstallationId);
147
223
  })
148
224
  .map((repository) => {
149
225
  return {
@@ -173,6 +249,18 @@ export class Service extends DatabaseService {
173
249
  });
174
250
  }
175
251
  }
252
+ __decorate([
253
+ CaptureSpan(),
254
+ __metadata("design:type", Function),
255
+ __metadata("design:paramtypes", [Object]),
256
+ __metadata("design:returntype", Promise)
257
+ ], Service.prototype, "onBeforeCreate", null);
258
+ __decorate([
259
+ CaptureSpan(),
260
+ __metadata("design:type", Function),
261
+ __metadata("design:paramtypes", [Object]),
262
+ __metadata("design:returntype", Promise)
263
+ ], Service.prototype, "onBeforeUpdate", null);
176
264
  __decorate([
177
265
  CaptureSpan(),
178
266
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"CodeRepositoryService.js","sourceRoot":"","sources":["../../../../Server/Services/CodeRepositoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeRepositoryService.js","sourceRoot":"","sources":["../../../../Server/Services/CodeRepositoryService.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ import ClusterKeyAuthorization from "../Middleware/ClusterKeyAuthorization";
24
24
  import ModelPermission from "../Types/Database/Permissions/Index";
25
25
  import QueryHelper from "../Types/Database/QueryHelper";
26
26
  import Encryption from "../Utils/Encryption";
27
+ import PasswordHash from "../Utils/PasswordHash";
27
28
  import PostgresErrorTranslator from "../Utils/Database/PostgresErrorTranslator";
28
29
  import logger from "../Utils/Logger";
29
30
  import BaseService from "./BaseService";
@@ -222,16 +223,140 @@ class DatabaseService extends BaseService {
222
223
  }
223
224
  return data;
224
225
  }
226
+ /*
227
+ * Hash one HashedString column in place.
228
+ *
229
+ * Declaring `hashSaltColumn` on a column is what marks it a CREDENTIAL —
230
+ * a low-entropy, human-chosen secret. Those go through scrypt (see
231
+ * PasswordHash): deliberately slow and memory-hard, with a fresh per-record
232
+ * salt minted into the sibling column named by the metadata.
233
+ *
234
+ * Columns without a salt column are high-entropy values the server itself
235
+ * generated — session refresh tokens and the like. They keep the fast
236
+ * SHA-256 hash, which is the right tool for them: there is nothing to guess,
237
+ * and they have to stay searchable by hash because that is how they are
238
+ * looked up. Every human-chosen credential, including dashboard and status
239
+ * page master passwords, declares a salt column and takes the scrypt path.
240
+ *
241
+ * The salt is written onto the SAME payload as the hash, so the pair can
242
+ * never be persisted out of step with each other.
243
+ *
244
+ * The salt column grants nobody create or update rights, so it has to get
245
+ * past the column-permission check some other way on each path. On update
246
+ * it does so by timing — sanitizeCreateOrUpdate runs after the check. On
247
+ * create the check runs after `hash()`, so the salt column relies on being
248
+ * declared `computed: true`, which checkDataColumnPermissions skips on
249
+ * create. A salt column that forgets that flag breaks every non-root
250
+ * create of a row carrying a password.
251
+ */
252
+ async hashColumnValue(data) {
253
+ var _a;
254
+ const saltColumnName = (_a = this.model.getTableColumnMetadata(data.columnName)) === null || _a === void 0 ? void 0 : _a.hashSaltColumn;
255
+ if (!saltColumnName) {
256
+ await data.columnValue.hashValue(EncryptionSecret);
257
+ return;
258
+ }
259
+ const salt = PasswordHash.generateSalt();
260
+ data.payload[saltColumnName] = salt;
261
+ data.columnValue.setHashedValue(await PasswordHash.hash({
262
+ plainValue: data.columnValue.toString(),
263
+ salt: salt,
264
+ }));
265
+ }
225
266
  async hash(data) {
226
267
  const columns = data.getHashedColumns();
227
268
  for (const key of columns.columns) {
228
269
  if (data.hasValue(key) &&
229
270
  !data.getValue(key).isValueHashed()) {
230
- await data[key].hashValue(EncryptionSecret);
271
+ await this.hashColumnValue({
272
+ payload: data,
273
+ columnName: key,
274
+ columnValue: data[key],
275
+ });
231
276
  }
232
277
  }
233
278
  return data;
234
279
  }
280
+ /*
281
+ * Check a plaintext secret (a password) against a hashed column on a row
282
+ * that has already been read out of the database, and re-hash the stored
283
+ * value in place when it was not written by today's scheme.
284
+ *
285
+ * The row must have been selected with BOTH the hashed column and its salt
286
+ * column. Without the salt a scrypt hash cannot be checked at all, and an
287
+ * older SHA-256 one would be checked against the wrong scheme — either way
288
+ * a perfectly good password gets rejected. PasswordHash.verify throws
289
+ * rather than silently returning false for the scrypt case, because a
290
+ * missing SELECT is a bug and must not look like a bad password.
291
+ *
292
+ * Why the caller cannot just query by the hash any more: with a per-user
293
+ * salt the hash is not computable until the row's own salt is known, so
294
+ * `WHERE password = <hash>` has nothing to bind. Read the row by its
295
+ * identity (email, id) and verify here.
296
+ *
297
+ * THE UPGRADE. Anything that is not exactly what PasswordHash writes today
298
+ * is re-hashed once the password is known to be correct: the two SHA-256
299
+ * schemes that preceded scrypt, and any scrypt hash whose cost parameters
300
+ * have since been raised. That is what makes raising the cost a one-line
301
+ * change — users migrate as they log in, with no reset and no migration.
302
+ *
303
+ * The write is deliberately hook-free and leaves updatedAt alone: the user
304
+ * did not change their password, the server changed how it stores it.
305
+ * Firing the password-change hooks would revoke every session and mail the
306
+ * user about a change they did not make. A failed upgrade is logged and
307
+ * swallowed — a correct password must not be rejected because a
308
+ * bookkeeping write lost a race.
309
+ */
310
+ async verifyHashedColumnValue(data) {
311
+ var _a, _b;
312
+ const storedHash = (_a = data.item[data.columnName]) === null || _a === void 0 ? void 0 : _a.toString();
313
+ if (!storedHash || !data.plainValue) {
314
+ return false;
315
+ }
316
+ const saltColumnName = (_b = this.model.getTableColumnMetadata(data.columnName)) === null || _b === void 0 ? void 0 : _b.hashSaltColumn;
317
+ const salt = saltColumnName
318
+ ? data.item[saltColumnName] || null
319
+ : null;
320
+ const isValid = await PasswordHash.verify({
321
+ plainValue: data.plainValue,
322
+ storedValue: storedHash,
323
+ salt: salt,
324
+ });
325
+ if (!isValid) {
326
+ return false;
327
+ }
328
+ if (saltColumnName &&
329
+ data.item.id &&
330
+ PasswordHash.needsUpgrade(storedHash)) {
331
+ try {
332
+ const newSalt = PasswordHash.generateSalt();
333
+ await this.updateColumnsByIdWithoutHooks({
334
+ id: data.item.id,
335
+ data: {
336
+ [data.columnName]: await PasswordHash.hash({
337
+ plainValue: data.plainValue,
338
+ salt: newSalt,
339
+ }),
340
+ [saltColumnName]: newSalt,
341
+ },
342
+ expectedData: {
343
+ [data.columnName]: storedHash,
344
+ [saltColumnName]: salt,
345
+ },
346
+ skipUpdateDateColumn: true,
347
+ });
348
+ }
349
+ catch (err) {
350
+ /*
351
+ * `data.item` is deliberately left holding the old hash and old salt,
352
+ * so it stays an internally consistent pair whether or not the write
353
+ * above landed.
354
+ */
355
+ logger.error(err);
356
+ }
357
+ }
358
+ return true;
359
+ }
235
360
  async decrypt(data) {
236
361
  for (const key of data.getEncryptedColumns().columns) {
237
362
  if (!data.hasValue(key)) {
@@ -326,6 +451,7 @@ class DatabaseService extends BaseService {
326
451
  return createBy;
327
452
  }
328
453
  async sanitizeCreateOrUpdate(data, props, isUpdate = false) {
454
+ var _a;
329
455
  data = this.checkMaxLengthOfFields(data);
330
456
  const columns = this.model.getTableColumns();
331
457
  for (const columnName of columns.columns) {
@@ -380,12 +506,43 @@ class DatabaseService extends BaseService {
380
506
  }
381
507
  if (this.model.isHashedStringColumn(columnName)) {
382
508
  const columnValue = data[columnName];
509
+ /*
510
+ * A salted column's hash and its salt are only ever correct as a
511
+ * pair. A write that supplies the column as a bare string skips the
512
+ * hashing branch below, leaving the row's existing salt attached to
513
+ * a value it was not computed from — which locks the account out
514
+ * silently, at the next login, far from whatever wrote it. Refuse
515
+ * instead. Callers pass a HashedString; the write path hashes it.
516
+ */
517
+ if (data &&
518
+ columnName &&
519
+ columnValue &&
520
+ !(columnValue instanceof HashedString) &&
521
+ ((_a = this.model.getTableColumnMetadata(columnName)) === null || _a === void 0 ? void 0 : _a.hashSaltColumn)) {
522
+ throw new BadDataException(`${columnName} is a salted column and must be supplied as a HashedString, not a pre-hashed value.`);
523
+ }
383
524
  if (data &&
384
525
  columnName &&
385
526
  columnValue &&
386
527
  columnValue instanceof HashedString) {
387
528
  if (!columnValue.isValueHashed()) {
388
- await columnValue.hashValue(EncryptionSecret);
529
+ /*
530
+ * The update path never runs `hash()`, so this is where an
531
+ * updated password gets both hashed and salted. The salt lands
532
+ * on `data`, which the caller turns into the SET list, so the
533
+ * new hash and the salt it was computed with are written by the
534
+ * same statement.
535
+ *
536
+ * An update matching several rows writes the same salt to all of
537
+ * them, which is correct: they are all being set to the same
538
+ * value by one statement. Per-row salts come from per-row
539
+ * writes.
540
+ */
541
+ await this.hashColumnValue({
542
+ payload: data,
543
+ columnName: columnName,
544
+ columnValue: columnValue,
545
+ });
389
546
  }
390
547
  data[columnName] = columnValue.toString();
391
548
  }
@@ -1695,7 +1852,21 @@ class DatabaseService extends BaseService {
1695
1852
  }
1696
1853
  const primaryColumnName = ((_a = metadata.primaryColumns[0]) === null || _a === void 0 ? void 0 : _a.databaseName) || "_id";
1697
1854
  params.push(input.id.toString());
1698
- const sql = `UPDATE "${metadata.tableName}" SET ${setClauses.join(", ")} WHERE "${primaryColumnName}" = $${params.length}`;
1855
+ const whereClauses = [
1856
+ `"${primaryColumnName}" = $${params.length}`,
1857
+ ];
1858
+ for (const [propertyName, value] of Object.entries((input.expectedData || {}))) {
1859
+ const column = metadata.findColumnWithPropertyName(propertyName);
1860
+ if (!column) {
1861
+ throw new BadDataException(`updateColumnsByIdWithoutHooks: unknown expected column "${propertyName}" on "${metadata.tableName}"`);
1862
+ }
1863
+ if (typeof value === "function") {
1864
+ throw new BadDataException(`updateColumnsByIdWithoutHooks: SQL-expression expected values are not supported (column "${propertyName}"); pass a literal value.`);
1865
+ }
1866
+ params.push(driver.preparePersistentValue(value, column));
1867
+ whereClauses.push(`"${column.databaseName}" IS NOT DISTINCT FROM $${params.length}`);
1868
+ }
1869
+ const sql = `UPDATE "${metadata.tableName}" SET ${setClauses.join(", ")} WHERE ${whereClauses.join(" AND ")}`;
1699
1870
  await repository.manager.query(sql, params);
1700
1871
  }
1701
1872
  /*
@@ -1885,6 +2056,12 @@ class DatabaseService extends BaseService {
1885
2056
  return { items, count };
1886
2057
  }
1887
2058
  }
2059
+ __decorate([
2060
+ CaptureSpan(),
2061
+ __metadata("design:type", Function),
2062
+ __metadata("design:paramtypes", [Object]),
2063
+ __metadata("design:returntype", Promise)
2064
+ ], DatabaseService.prototype, "verifyHashedColumnValue", null);
1888
2065
  __decorate([
1889
2066
  CaptureSpan(),
1890
2067
  __metadata("design:type", Function),