@oneuptime/common 12.0.5 → 12.0.7

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 (901) hide show
  1. package/Models/DatabaseModels/AIInsight.ts +1 -1
  2. package/Models/DatabaseModels/AIRun.ts +33 -0
  3. package/Models/DatabaseModels/DataSource.ts +744 -0
  4. package/Models/DatabaseModels/DatabaseBaseModel/FileModel.ts +2 -3
  5. package/Models/DatabaseModels/DeletedProject.ts +595 -0
  6. package/Models/DatabaseModels/Index.ts +5 -0
  7. package/Models/DatabaseModels/Monitor.ts +111 -0
  8. package/Models/DatabaseModels/Project.ts +3 -3
  9. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +10 -2
  10. package/Models/DatabaseModels/User.ts +2 -0
  11. package/Models/DatabaseModels/UserOnCallLog.ts +2 -0
  12. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +2 -0
  13. package/Models/DatabaseModels/UserSession.ts +2 -0
  14. package/Models/DatabaseModels/UserTotpAuth.ts +6 -4
  15. package/Models/DatabaseModels/UserWebAuthn.ts +5 -3
  16. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -1
  17. package/Server/API/AIInsightAPI.ts +47 -4
  18. package/Server/API/AIInvestigationAPI.ts +25 -0
  19. package/Server/API/DashboardAPI.ts +176 -492
  20. package/Server/API/DataSourceAPI.ts +268 -0
  21. package/Server/API/FileAPI.ts +15 -2
  22. package/Server/API/MicrosoftTeamsAPI.ts +6 -1
  23. package/Server/API/ProjectAPI.ts +214 -0
  24. package/Server/API/StatusPageAPI.ts +50 -7
  25. package/Server/API/UserAPI.ts +119 -0
  26. package/Server/Infrastructure/ClickhouseConfig.ts +59 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1786303472848-AddDataSourceTable.ts +39 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.ts +50 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.ts +67 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.ts +39 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1786600000000-AddInvestigationAnalysisTldr.ts +24 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1786700000000-DropProjectCallSMSConfigCredentialUniques.ts +76 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  34. package/Server/Infrastructure/Queue.ts +26 -0
  35. package/Server/Infrastructure/QueueWorker.ts +17 -0
  36. package/Server/Middleware/TelemetryIngest.ts +8 -3
  37. package/Server/Services/AIAgentService.ts +20 -0
  38. package/Server/Services/AIInsightService.ts +132 -12
  39. package/Server/Services/AIRunService.ts +34 -0
  40. package/Server/Services/AIService.ts +17 -2
  41. package/Server/Services/AlertService.ts +38 -32
  42. package/Server/Services/AnalyticsDatabaseService.ts +8 -4
  43. package/Server/Services/DashboardDomainService.ts +73 -28
  44. package/Server/Services/DataSourceService.ts +200 -0
  45. package/Server/Services/DatabaseService.ts +1 -0
  46. package/Server/Services/DeletedProjectService.ts +138 -0
  47. package/Server/Services/FileService.ts +61 -0
  48. package/Server/Services/HostService.ts +92 -0
  49. package/Server/Services/IncidentEpisodePublicNoteService.ts +18 -0
  50. package/Server/Services/IncidentPublicNoteService.ts +18 -0
  51. package/Server/Services/IncidentService.ts +45 -0
  52. package/Server/Services/Index.ts +4 -0
  53. package/Server/Services/MonitorService.ts +360 -0
  54. package/Server/Services/MonitorStatusService.ts +166 -0
  55. package/Server/Services/OpenTelemetryIngestService.ts +255 -184
  56. package/Server/Services/ProbeService.ts +20 -0
  57. package/Server/Services/ProjectService.ts +297 -1
  58. package/Server/Services/PushNotificationService.ts +71 -0
  59. package/Server/Services/RumSessionPinService.ts +7 -21
  60. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +18 -0
  61. package/Server/Services/StatusPageAnnouncementService.ts +53 -0
  62. package/Server/Services/StatusPageDomainService.ts +73 -28
  63. package/Server/Services/StatusPageSubscriberService.ts +13 -0
  64. package/Server/Services/TeamMemberService.ts +117 -12
  65. package/Server/Services/TelemetryIngestionKeyService.ts +1 -0
  66. package/Server/Services/UserService.ts +280 -9
  67. package/Server/Services/UserWebhookService.ts +34 -109
  68. package/Server/Services/WorkspaceNotificationRuleService.ts +69 -0
  69. package/Server/Services/WorkspaceProjectAuthTokenService.ts +37 -1
  70. package/Server/Static/Vendor/README.md +62 -0
  71. package/Server/Static/Vendor/fonts/InterVariable.woff2 +0 -0
  72. package/Server/Static/Vendor/highlight/highlight.min.js +1244 -0
  73. package/Server/Static/Vendor/highlight/languages/apache.min.js +15 -0
  74. package/Server/Static/Vendor/highlight/languages/bash.min.js +21 -0
  75. package/Server/Static/Vendor/highlight/languages/c.min.js +41 -0
  76. package/Server/Static/Vendor/highlight/languages/cpp.min.js +47 -0
  77. package/Server/Static/Vendor/highlight/languages/csharp.min.js +49 -0
  78. package/Server/Static/Vendor/highlight/languages/css.min.js +31 -0
  79. package/Server/Static/Vendor/highlight/languages/diff.min.js +9 -0
  80. package/Server/Static/Vendor/highlight/languages/dns.min.js +11 -0
  81. package/Server/Static/Vendor/highlight/languages/dockerfile.min.js +8 -0
  82. package/Server/Static/Vendor/highlight/languages/go.min.js +20 -0
  83. package/Server/Static/Vendor/highlight/languages/graphql.min.js +12 -0
  84. package/Server/Static/Vendor/highlight/languages/http.min.js +14 -0
  85. package/Server/Static/Vendor/highlight/languages/ini.min.js +15 -0
  86. package/Server/Static/Vendor/highlight/languages/java.min.js +38 -0
  87. package/Server/Static/Vendor/highlight/languages/javascript.min.js +81 -0
  88. package/Server/Static/Vendor/highlight/languages/json.min.js +8 -0
  89. package/Server/Static/Vendor/highlight/languages/kotlin.min.js +46 -0
  90. package/Server/Static/Vendor/highlight/languages/lua.min.js +15 -0
  91. package/Server/Static/Vendor/highlight/languages/makefile.min.js +14 -0
  92. package/Server/Static/Vendor/highlight/languages/nginx.min.js +21 -0
  93. package/Server/Static/Vendor/highlight/languages/perl.min.js +41 -0
  94. package/Server/Static/Vendor/highlight/languages/php.min.js +59 -0
  95. package/Server/Static/Vendor/highlight/languages/powershell.min.js +39 -0
  96. package/Server/Static/Vendor/highlight/languages/python.min.js +42 -0
  97. package/Server/Static/Vendor/highlight/languages/r.min.js +26 -0
  98. package/Server/Static/Vendor/highlight/languages/ruby.min.js +54 -0
  99. package/Server/Static/Vendor/highlight/languages/rust.min.js +27 -0
  100. package/Server/Static/Vendor/highlight/languages/scala.min.js +28 -0
  101. package/Server/Static/Vendor/highlight/languages/sql.min.js +21 -0
  102. package/Server/Static/Vendor/highlight/languages/swift.min.js +68 -0
  103. package/Server/Static/Vendor/highlight/languages/typescript.min.js +99 -0
  104. package/Server/Static/Vendor/highlight/languages/xml.min.js +29 -0
  105. package/Server/Static/Vendor/highlight/languages/yaml.min.js +28 -0
  106. package/Server/Static/Vendor/highlight/styles/github-dark.min.css +10 -0
  107. package/Server/Static/Vendor/highlight/styles/vs2015.min.css +1 -0
  108. package/Server/Static/Vendor/tailwind/tailwind-3.4.5.js +21028 -0
  109. package/Server/Types/Database/DeleteById.ts +2 -0
  110. package/Server/Types/Database/DeleteOneBy.ts +6 -0
  111. package/Server/Types/Database/Permissions/BasePermission.ts +7 -0
  112. package/Server/Types/Database/Permissions/DeletePermission.ts +2 -0
  113. package/Server/Types/Database/Permissions/ReadPermission.ts +3 -0
  114. package/Server/Types/Database/Permissions/TenantPermission.ts +101 -16
  115. package/Server/Types/Domain.ts +41 -0
  116. package/Server/Types/Workflow/Components/API/Delete.ts +2 -1
  117. package/Server/Types/Workflow/Components/API/Get.ts +2 -1
  118. package/Server/Types/Workflow/Components/API/Patch.ts +2 -1
  119. package/Server/Types/Workflow/Components/API/Post.ts +2 -1
  120. package/Server/Types/Workflow/Components/API/Put.ts +2 -1
  121. package/Server/Types/Workflow/Components/API/Utils.ts +41 -2
  122. package/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.ts +25 -19
  123. package/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.ts +6 -5
  124. package/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.ts +32 -14
  125. package/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.ts +31 -13
  126. package/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.ts +29 -20
  127. package/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.ts +28 -21
  128. package/Server/Types/Workflow/Components/BaseModel/LogComponentError.ts +89 -0
  129. package/Server/Types/Workflow/Components/BaseModel/ModelArguments.ts +208 -0
  130. package/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.ts +11 -0
  131. package/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.ts +41 -18
  132. package/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.ts +45 -19
  133. package/Server/Types/Workflow/Components/Discord/SendMessageToChannel.ts +16 -9
  134. package/Server/Types/Workflow/Components/IncomingWebhookUtils.ts +66 -0
  135. package/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.ts +15 -9
  136. package/Server/Types/Workflow/Components/Slack/SendMessageToChannel.ts +17 -0
  137. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
  138. package/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.ts +171 -0
  139. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +2 -2
  140. package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +90 -11
  141. package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +1 -0
  142. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +3 -3
  143. package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +1 -0
  144. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionIdentity.ts +125 -0
  145. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +25 -15
  146. package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +256 -57
  147. package/Server/Utils/AI/SRE/Insights/FixRouting.ts +3 -2
  148. package/Server/Utils/AI/SRE/Insights/InsightStore.ts +76 -18
  149. package/Server/Utils/AI/SRE/InvestigationTldr.ts +352 -0
  150. package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +1 -1
  151. package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +6 -6
  152. package/Server/Utils/AnalyticsDatabase/InsertDedupContext.ts +7 -2
  153. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +43 -5
  154. package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +1793 -0
  155. package/Server/Utils/Dashboard/PublicDashboardViewConfig.ts +65 -0
  156. package/Server/Utils/DataSource/ConnectorRegistry.ts +53 -0
  157. package/Server/Utils/DataSource/Connectors/ClickHouseConnector.ts +338 -0
  158. package/Server/Utils/DataSource/Connectors/ElasticsearchConnector.ts +717 -0
  159. package/Server/Utils/DataSource/Connectors/LokiConnector.ts +606 -0
  160. package/Server/Utils/DataSource/Connectors/MySqlConnector.ts +307 -0
  161. package/Server/Utils/DataSource/Connectors/PostgresConnector.ts +260 -0
  162. package/Server/Utils/DataSource/Connectors/PrometheusConnector.ts +555 -0
  163. package/Server/Utils/DataSource/Connectors/RestApiConnector.ts +597 -0
  164. package/Server/Utils/DataSource/Connectors/SqlServerConnector.ts +318 -0
  165. package/Server/Utils/DataSource/EgressGuard.ts +606 -0
  166. package/Server/Utils/DataSource/HttpFetch.ts +182 -0
  167. package/Server/Utils/DataSource/SqlQueryGuard.ts +383 -0
  168. package/Server/Utils/DataSource/SqlResultShaper.ts +372 -0
  169. package/Server/Utils/DataSource/Types.ts +93 -0
  170. package/Server/Utils/Database/PostgresErrorTranslator.ts +172 -17
  171. package/Server/Utils/Execute.ts +8 -0
  172. package/Server/Utils/InProcessMemo.ts +141 -0
  173. package/Server/Utils/InlineImageAccessTokenSync.ts +23 -0
  174. package/Server/Utils/InstanceHealth/TelemetryIngestion.ts +628 -0
  175. package/Server/Utils/LLM/LLMService.ts +57 -12
  176. package/Server/Utils/Monitor/MonitorAlert.ts +40 -0
  177. package/Server/Utils/Monitor/MonitorDependencySuppression.ts +192 -0
  178. package/Server/Utils/Monitor/MonitorIncident.ts +40 -0
  179. package/Server/Utils/Monitor/MonitorMetricUtil.ts +58 -0
  180. package/Server/Utils/Monitor/MonitorResource.ts +50 -0
  181. package/Server/Utils/Response.ts +154 -7
  182. package/Server/Utils/SSRFProtection.ts +450 -0
  183. package/Server/Utils/StartServer.ts +16 -0
  184. package/Server/Utils/StatusPageSubscriberWebhook.ts +30 -0
  185. package/Server/Utils/Telemetry/CaptureSpan.ts +30 -18
  186. package/Server/Utils/Telemetry/IngestionTimestamp.ts +75 -0
  187. package/Server/Utils/Telemetry/ResourceHeartbeat.ts +99 -7
  188. package/Server/Utils/Telemetry/Telemetry.ts +112 -1
  189. package/Server/Utils/Telemetry.ts +104 -3
  190. package/Server/Utils/VM/VMRunner.ts +88 -1
  191. package/Server/Utils/VendorAssets.ts +165 -0
  192. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +582 -53
  193. package/Server/Utils/Workspace/Slack/Slack.ts +30 -2
  194. package/Server/Utils/Workspace/WorkspaceBase.ts +6 -0
  195. package/Server/Views/Partials/Head.ejs +21 -7
  196. package/Tests/App/AdminDashboard/AdminProjectsIdFilter.test.tsx +207 -0
  197. package/Tests/App/AdminDashboard/AdminUsersIdFilter.test.tsx +216 -0
  198. package/Tests/App/Dashboard/AIInsightViewActions.test.tsx +422 -0
  199. package/Tests/App/Dashboard/AddWidgetModal.test.tsx +10 -3
  200. package/Tests/App/Dashboard/AlertsSideMenu.test.tsx +387 -0
  201. package/Tests/App/Dashboard/ChatActivityFeed.test.tsx +199 -0
  202. package/Tests/App/Dashboard/DangerZone.test.tsx +334 -0
  203. package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +539 -0
  204. package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +678 -0
  205. package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +706 -0
  206. package/Tests/App/Dashboard/DashboardVariablesModal.test.tsx +508 -0
  207. package/Tests/App/Dashboard/DataSourceChartSyntheticConfig.test.tsx +736 -0
  208. package/Tests/App/Dashboard/DataSourceQueryEditor.test.tsx +868 -0
  209. package/Tests/App/Dashboard/DataSourceWidgetCatalog.test.ts +440 -0
  210. package/Tests/App/Dashboard/DataSourceWidgetFetching.test.tsx +2109 -0
  211. package/Tests/App/Dashboard/DataSourceWidgetViews.test.tsx +726 -0
  212. package/Tests/App/Dashboard/IncidentsSideMenu.test.tsx +447 -0
  213. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +514 -3
  214. package/Tests/App/Dashboard/ProductMenuBreadcrumbs.test.tsx +391 -0
  215. package/Tests/App/Dashboard/ScheduledMaintenanceSideMenu.test.tsx +326 -0
  216. package/Tests/App/Dashboard/SideMenuHarness.tsx +187 -0
  217. package/Tests/App/Dashboard/WidgetCatalog.test.ts +6 -1
  218. package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +470 -0
  219. package/Tests/App/StatusPage/StatusPageDetailPagesNotFound.test.tsx +308 -0
  220. package/Tests/App/StatusPage/StatusPageResourceExplorer.test.tsx +1858 -0
  221. package/Tests/Models/DatabaseModels/DataSourceModelSecrets.test.ts +70 -0
  222. package/Tests/Models/DatabaseModels/DeletedProjectModel.test.ts +251 -0
  223. package/Tests/Models/DatabaseModels/SavedViewJSONColumnTuples.test.ts +115 -0
  224. package/Tests/Server/API/AIInvestigationAPI.test.ts +187 -0
  225. package/Tests/Server/API/DashboardPublicDataSourceStrip.test.ts +686 -0
  226. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +585 -823
  227. package/Tests/Server/API/DataSourceAPIRoutes.test.ts +486 -0
  228. package/Tests/Server/API/FileAPIAccessControl.test.ts +316 -0
  229. package/Tests/Server/API/ProjectAPI.test.ts +299 -1
  230. package/Tests/Server/API/ProjectAPIAdjustBalance.test.ts +459 -0
  231. package/Tests/Server/API/ProjectAPIAdjustBalanceBillingDisabled.test.ts +177 -0
  232. package/Tests/Server/API/StatusPageSubscriberOwnership.test.ts +291 -0
  233. package/Tests/Server/API/UserAuthenticationAPI.test.ts +641 -0
  234. package/Tests/Server/Infrastructure/ClickhouseKeepAliveOptions.test.ts +441 -0
  235. package/Tests/Server/Middleware/TelemetryIngestTokenLog.test.ts +140 -0
  236. package/Tests/Server/Services/AIInsightService.test.ts +266 -11
  237. package/Tests/Server/Services/AIRunAnalysisTldrPersistence.test.ts +160 -0
  238. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +4 -0
  239. package/Tests/Server/Services/AlertMetricResourceAttributes.test.ts +352 -0
  240. package/Tests/Server/Services/DataSourceServiceSettings.test.ts +244 -0
  241. package/Tests/Server/Services/DatabaseServiceDeletionReason.test.ts +123 -0
  242. package/Tests/Server/Services/DeletedProjectService.test.ts +415 -0
  243. package/Tests/Server/Services/DeletedProjectServiceSelfHosted.test.ts +70 -0
  244. package/Tests/Server/Services/DomainSubdomainHooks.test.ts +94 -0
  245. package/Tests/Server/Services/FileIsPublicBooleanMigration.test.ts +244 -0
  246. package/Tests/Server/Services/FileServiceMimeType.test.ts +89 -0
  247. package/Tests/Server/Services/HostServiceFindOrCreateMemo.test.ts +397 -0
  248. package/Tests/Server/Services/HostServiceUpdateLastSeen.test.ts +41 -2
  249. package/Tests/Server/Services/IncidentMetricResourceAttributes.test.ts +408 -0
  250. package/Tests/Server/Services/MonitorServiceDependencyValidation.test.ts +702 -0
  251. package/Tests/Server/Services/MonitorStatusServiceDeleteReferenceCleanup.test.ts +351 -0
  252. package/Tests/Server/Services/MonitorStatusServiceValidation.test.ts +171 -0
  253. package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +398 -0
  254. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +19 -0
  255. package/Tests/Server/Services/ProjectCallSMSConfigCredentialUniqueness.test.ts +305 -0
  256. package/Tests/Server/Services/ProjectServiceAdjustBalance.test.ts +615 -0
  257. package/Tests/Server/Services/ProjectServiceDeleteAudit.test.ts +406 -0
  258. package/Tests/Server/Services/PublishTimeImageVisibility.test.ts +450 -0
  259. package/Tests/Server/Services/ResourceUpdateLastSeenLivenessFallback.test.ts +36 -1
  260. package/Tests/Server/Services/RumSessionPinUniqueViolationRecovery.test.ts +163 -0
  261. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +669 -0
  262. package/Tests/Server/Services/UserAuthenticationService.test.ts +973 -0
  263. package/Tests/Server/Services/UserWebhookSSRF.test.ts +174 -0
  264. package/Tests/Server/Services/WebPushEndpointAllowlist.test.ts +133 -0
  265. package/Tests/Server/Services/WorkspaceProjectAuthTokenRepoint.test.ts +618 -0
  266. package/Tests/Server/Types/Database/ObjectIdColumnQuery.test.ts +262 -0
  267. package/Tests/Server/Types/Database/Permissions/TenantPermission.test.ts +358 -0
  268. package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +26 -1
  269. package/Tests/Server/Types/Workflow/Components/ApiComponentSsrf.test.ts +215 -0
  270. package/Tests/Server/Types/Workflow/Components/BaseModelDatabaseComponents.test.ts +742 -0
  271. package/Tests/Server/Types/Workflow/Components/ChatWebhookComponents.test.ts +256 -0
  272. package/Tests/Server/Types/Workflow/Components/ModelArguments.test.ts +371 -0
  273. package/Tests/Server/Utils/AI/CodeAgentCommandGuard.test.ts +204 -0
  274. package/Tests/Server/Utils/AI/CodeAgentWriteLimits.test.ts +213 -0
  275. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +52 -5
  276. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +2 -2
  277. package/Tests/Server/Utils/AI/Insights/ExceptionSpikeDetector.test.ts +6 -1
  278. package/Tests/Server/Utils/AI/Insights/InsightStore.test.ts +121 -4
  279. package/Tests/Server/Utils/AI/Insights/NewExceptionDetector.test.ts +361 -10
  280. package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +292 -0
  281. package/Tests/Server/Utils/AI/InvestigationTldr.test.ts +623 -0
  282. package/Tests/Server/Utils/AI/InvestigationTldrWiring.test.ts +98 -0
  283. package/Tests/Server/Utils/AI/LLMServiceBaseUrl.test.ts +3 -0
  284. package/Tests/Server/Utils/AI/LLMServiceEgressGuard.test.ts +315 -0
  285. package/Tests/Server/Utils/AI/LLMServiceModelCompatibility.test.ts +3 -0
  286. package/Tests/Server/Utils/AI/LLMServiceRequestPolicy.test.ts +17 -5
  287. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +14 -1
  288. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +35 -0
  289. package/Tests/Server/Utils/AI/StubLLMEgressGuard.ts +25 -0
  290. package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +912 -0
  291. package/Tests/Server/Utils/Dashboard/PublicDashboardViewConfig.test.ts +480 -0
  292. package/Tests/Server/Utils/DataSource/ClickHouseConnector.test.ts +759 -0
  293. package/Tests/Server/Utils/DataSource/ConnectorRegistry.test.ts +37 -0
  294. package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +714 -0
  295. package/Tests/Server/Utils/DataSource/EgressGuardPinning.test.ts +330 -0
  296. package/Tests/Server/Utils/DataSource/ElasticsearchConnector.test.ts +1206 -0
  297. package/Tests/Server/Utils/DataSource/HttpFetch.test.ts +616 -0
  298. package/Tests/Server/Utils/DataSource/LokiConnector.test.ts +970 -0
  299. package/Tests/Server/Utils/DataSource/MySqlConnector.test.ts +935 -0
  300. package/Tests/Server/Utils/DataSource/PostgresConnector.test.ts +854 -0
  301. package/Tests/Server/Utils/DataSource/PrometheusConnector.test.ts +881 -0
  302. package/Tests/Server/Utils/DataSource/RestApiConnector.test.ts +1020 -0
  303. package/Tests/Server/Utils/DataSource/SqlQueryGuard.test.ts +425 -0
  304. package/Tests/Server/Utils/DataSource/SqlResultShaper.test.ts +555 -0
  305. package/Tests/Server/Utils/DataSource/SqlServerConnector.test.ts +934 -0
  306. package/Tests/Server/Utils/Database/PostgresErrorTranslator.test.ts +228 -7
  307. package/Tests/Server/Utils/GitHubCreatePullRequestWithToken.test.ts +393 -0
  308. package/Tests/Server/Utils/InProcessMemo.test.ts +292 -0
  309. package/Tests/Server/Utils/InlineImageAccessTokenSync.test.ts +202 -0
  310. package/Tests/Server/Utils/InstanceHealth/TelemetryIngestion.test.ts +960 -0
  311. package/Tests/Server/Utils/MicrosoftTeamsWebhookUrlValidation.test.ts +103 -0
  312. package/Tests/Server/Utils/Monitor/MonitorDependencySuppression.test.ts +811 -0
  313. package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +604 -0
  314. package/Tests/Server/Utils/Monitor/MonitorMetricResourceAttributes.test.ts +336 -0
  315. package/Tests/Server/Utils/OfflineAssetHygiene.test.ts +521 -0
  316. package/Tests/Server/Utils/ResponseRenderAnalytics.test.ts +143 -0
  317. package/Tests/Server/Utils/ResponseSendFileResponse.test.ts +192 -0
  318. package/Tests/Server/Utils/SSRFProtection.test.ts +193 -0
  319. package/Tests/Server/Utils/SSRFProtectionBypasses.test.ts +406 -0
  320. package/Tests/Server/Utils/StatusPageSubscriberWebhook.test.ts +101 -0
  321. package/Tests/Server/Utils/TailwindBuildCopy.test.ts +225 -0
  322. package/Tests/Server/Utils/Telemetry/ResourceHeartbeatL1Memo.test.ts +355 -0
  323. package/Tests/Server/Utils/Telemetry/TelemetryFanInWriter.test.ts +128 -0
  324. package/Tests/Server/Utils/Telemetry/TelemetryUtilAttributeKeys.test.ts +381 -0
  325. package/Tests/Server/Utils/Telemetry.test.ts +87 -0
  326. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +194 -0
  327. package/Tests/Server/Utils/VendorAssetIntegrity.test.ts +343 -0
  328. package/Tests/Server/Utils/VendorAssets.test.ts +671 -0
  329. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +1169 -0
  330. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelsList.test.ts +2 -0
  331. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +1605 -0
  332. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTenantResolution.test.ts +1218 -0
  333. package/Tests/Server/Views/OfflineRender.test.ts +297 -0
  334. package/Tests/Types/AI/AIChatMessageStatus.test.ts +79 -0
  335. package/Tests/Types/AI/AIInsightStatus.test.ts +40 -0
  336. package/Tests/Types/API/HostnameAuthorityParsing.test.ts +157 -0
  337. package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +27 -0
  338. package/Tests/Types/Dashboard/DataSourceComponentTypes.test.ts +618 -0
  339. package/Tests/Types/DataSource/DataSourceLimits.test.ts +71 -0
  340. package/Tests/Types/DataSource/DataSourceType.test.ts +181 -0
  341. package/Tests/Types/DateClickhouseFormat.test.ts +192 -0
  342. package/Tests/Types/DomainSubdomainValidation.test.ts +90 -0
  343. package/Tests/Types/JSONFunctions.test.ts +252 -1
  344. package/Tests/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.test.ts +61 -0
  345. package/Tests/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.test.ts +62 -0
  346. package/Tests/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.test.ts +68 -0
  347. package/Tests/Types/Monitor/SnmpMonitor/SnmpVersion.test.ts +51 -0
  348. package/Tests/Types/Password.test.ts +363 -0
  349. package/Tests/UI/Components/404.test.tsx +1 -1
  350. package/Tests/UI/Components/Alert.test.tsx +1 -1
  351. package/Tests/UI/Components/Badge.test.tsx +1 -1
  352. package/Tests/UI/Components/BasicForm.test.tsx +39 -10
  353. package/Tests/UI/Components/Button.test.tsx +1 -1
  354. package/Tests/UI/Components/Card.test.tsx +1 -1
  355. package/Tests/UI/Components/Charts/AxisTickColor.test.tsx +1 -1
  356. package/Tests/UI/Components/ColorViewer.test.tsx +1 -1
  357. package/Tests/UI/Components/ComponentsModal.test.tsx +7 -1
  358. package/Tests/UI/Components/ConfirmModal.test.tsx +7 -0
  359. package/Tests/UI/Components/DictionaryOfStrings.test.tsx +1 -1
  360. package/Tests/UI/Components/Dropdown.test.tsx +1 -1
  361. package/Tests/UI/Components/ErrorBoundary.test.tsx +53 -0
  362. package/Tests/UI/Components/FilePicker.test.tsx +1 -1
  363. package/Tests/UI/Components/HiddenText.test.tsx +1 -1
  364. package/Tests/UI/Components/Input.test.tsx +1 -1
  365. package/Tests/UI/Components/Loader.test.tsx +1 -1
  366. package/Tests/UI/Components/LogTimeRangePicker.test.tsx +1 -1
  367. package/Tests/UI/Components/MasterPage.test.tsx +1 -1
  368. package/Tests/UI/Components/Modal.test.tsx +281 -1
  369. package/Tests/UI/Components/ModalPortalDismissal.test.tsx +489 -0
  370. package/Tests/UI/Components/ModelDelete.test.tsx +214 -0
  371. package/Tests/UI/Components/ModelTable/BaseModelTableBulkSelectAll.test.tsx +1 -1
  372. package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +1 -1
  373. package/Tests/UI/Components/ModelTable/BaseModelTableSearchLabels.test.tsx +1 -1
  374. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +1 -1
  375. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +1 -1
  376. package/Tests/UI/Components/NavBar.test.tsx +1 -1
  377. package/Tests/UI/Components/ObjectIdFilterPipeline.test.tsx +396 -0
  378. package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +1 -1
  379. package/Tests/UI/Components/Pagination.test.tsx +1 -1
  380. package/Tests/UI/Components/Pill.test.tsx +1 -1
  381. package/Tests/UI/Components/Probe.test.tsx +1 -1
  382. package/Tests/UI/Components/ProgressBar.test.tsx +1 -1
  383. package/Tests/UI/Components/RadioButtons.test.tsx +1 -1
  384. package/Tests/UI/Components/SideMenuItem.test.tsx +1 -1
  385. package/Tests/UI/Components/SideOver.test.tsx +500 -6
  386. package/Tests/UI/Components/StatusPage/ResourceGroupNavigator.test.tsx +1147 -0
  387. package/Tests/UI/Components/Tabs.test.tsx +1 -1
  388. package/Tests/UI/Components/TelemetrySearchBar.test.tsx +1 -1
  389. package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +1 -1
  390. package/Tests/UI/Components/TextArea.test.tsx +1 -1
  391. package/Tests/UI/Components/Toast.test.tsx +1 -1
  392. package/Tests/UI/Components/Toggle.test.tsx +1 -1
  393. package/Tests/UI/Components/TopSection.test.tsx +1 -1
  394. package/Tests/UI/Components/UseLiveLogsRefresh.test.tsx +1 -1
  395. package/Tests/UI/Rum/ReplayScrubber.test.tsx +1 -1
  396. package/Tests/UI/Rum/ReplayStage.test.tsx +1 -1
  397. package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +1 -1
  398. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +116 -1
  399. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  400. package/Tests/UI/Utils/LocalStorageArrayRoundTrip.test.ts +72 -0
  401. package/Tests/Utils/Analytics.test.ts +23 -0
  402. package/Tests/Utils/Dashboard/Components/DashboardDataSourceComponents.test.ts +640 -0
  403. package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +19 -2
  404. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +44 -0
  405. package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +288 -5
  406. package/Tests/Utils/Dashboard/VariableUrlState.test.ts +42 -0
  407. package/Tests/Utils/DataSource/DataSourceQueryText.test.ts +165 -0
  408. package/Tests/Utils/DataSource/DataSourceValueReducer.test.ts +526 -0
  409. package/Tests/Utils/LegacySerializedArray.test.ts +139 -0
  410. package/Tests/Utils/Metrics/MetricResourceAttributeUtil.test.ts +691 -0
  411. package/Tests/Utils/Monitor/MonitorDependencyRule.test.ts +190 -0
  412. package/Tests/Utils/Realtime.test.ts +78 -0
  413. package/Tests/Utils/StatusPage/GroupHierarchyView.test.ts +1452 -0
  414. package/Tests/Utils/StatusPage/ResourceExplorer.test.ts +931 -0
  415. package/Tests/Utils/Telemetry/CaptureSpanExportGating.test.ts +288 -0
  416. package/Tests/Utils/Telemetry/IngestionTimestamp.test.ts +170 -0
  417. package/Tests/Utils/Telemetry/SavedViewFilters.test.ts +246 -0
  418. package/Tests/__mocks__/i18next-browser-languagedetector.js +21 -0
  419. package/Types/AI/AIInsightEvidence.ts +6 -0
  420. package/Types/AI/FixPullRequestCiStatus.ts +1 -1
  421. package/Types/AI/FixVerificationStatus.ts +2 -2
  422. package/Types/API/Hostname.ts +92 -4
  423. package/Types/API/URL.ts +43 -25
  424. package/Types/Analytics/RevenueEvent.ts +31 -0
  425. package/Types/Billing/BalanceAdjustmentType.ts +14 -0
  426. package/Types/Billing/ProjectBalanceType.ts +13 -0
  427. package/Types/Dashboard/DashboardComponentType.ts +31 -0
  428. package/Types/Dashboard/DashboardComponents/DashboardDataSourceChartComponent.ts +27 -0
  429. package/Types/Dashboard/DashboardComponents/DashboardDataSourceGaugeComponent.ts +32 -0
  430. package/Types/Dashboard/DashboardComponents/DashboardDataSourceTableComponent.ts +30 -0
  431. package/Types/Dashboard/DashboardComponents/DashboardDataSourceValueComponent.ts +55 -0
  432. package/Types/DataSource/DataSourceLimits.ts +62 -0
  433. package/Types/DataSource/DataSourceQueryConfig.ts +41 -0
  434. package/Types/DataSource/DataSourceTableResult.ts +38 -0
  435. package/Types/DataSource/DataSourceType.ts +213 -0
  436. package/Types/Date.ts +43 -3
  437. package/Types/Domain.ts +26 -0
  438. package/Types/File/MimeType.ts +11 -0
  439. package/Types/JSONFunctions.ts +15 -0
  440. package/Types/Password.ts +64 -0
  441. package/Types/Permission.ts +46 -0
  442. package/Types/Telemetry/TelemetrySavedViewState.ts +9 -1
  443. package/Types/UserAuthenticationStatus.ts +34 -0
  444. package/Types/Workflow/Components/BaseModel.ts +92 -28
  445. package/Typings/Index.d.ts +12 -0
  446. package/UI/Components/Button/Button.tsx +1 -1
  447. package/UI/Components/ErrorBoundary.tsx +459 -108
  448. package/UI/Components/GanttChart/ChartContainer.tsx +4 -3
  449. package/UI/Components/Icon/Icon.tsx +10 -9
  450. package/UI/Components/Modal/ConfirmModal.tsx +15 -5
  451. package/UI/Components/Modal/Modal.tsx +247 -35
  452. package/UI/Components/Modal/ModalFooter.tsx +6 -1
  453. package/UI/Components/ModelDelete/ModelDelete.tsx +23 -6
  454. package/UI/Components/MoreMenu/MoreMenu.tsx +19 -4
  455. package/UI/Components/MoreMenu/MoreMenuItem.tsx +6 -1
  456. package/UI/Components/SideOver/SideOver.tsx +195 -68
  457. package/UI/Components/StatusPage/ResourceGrid.tsx +314 -0
  458. package/UI/Components/StatusPage/ResourceGroupNavigator.tsx +808 -0
  459. package/UI/Components/StatusPage/ResourceList.tsx +570 -0
  460. package/UI/Styles/Theme.css +18 -0
  461. package/UI/Utils/API/RequestOptions.ts +7 -0
  462. package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +1 -0
  463. package/UI/Utils/ModelAPI/ModelAPI.ts +1 -0
  464. package/UI/Utils/PageScrollLock.ts +66 -0
  465. package/UI/Utils/TestDataSource.ts +61 -0
  466. package/UI/esbuild-config.js +45 -0
  467. package/Utils/Analytics.ts +15 -0
  468. package/Utils/Dashboard/Components/DashboardDataSourceChartComponent.ts +88 -0
  469. package/Utils/Dashboard/Components/DashboardDataSourceGaugeComponent.ts +123 -0
  470. package/Utils/Dashboard/Components/DashboardDataSourceShared.ts +16 -0
  471. package/Utils/Dashboard/Components/DashboardDataSourceTableComponent.ts +72 -0
  472. package/Utils/Dashboard/Components/DashboardDataSourceValueComponent.ts +126 -0
  473. package/Utils/Dashboard/Components/Index.ts +28 -0
  474. package/Utils/Dashboard/HtmlWidgetDocument.ts +4 -2
  475. package/Utils/Dashboard/VariableInterpolation.ts +19 -1
  476. package/Utils/DataSource/DataSourceQueryText.ts +94 -0
  477. package/Utils/DataSource/DataSourceValueReducer.ts +156 -0
  478. package/Utils/LegacySerializedArray.ts +60 -0
  479. package/Utils/Metrics/MetricResourceAttributeUtil.ts +380 -0
  480. package/Utils/Monitor/MonitorDependencyRule.ts +88 -0
  481. package/Utils/NetworkDiscovery/ScanTargetUtil.ts +8 -6
  482. package/Utils/StatusPage/GroupHierarchyView.ts +931 -0
  483. package/Utils/StatusPage/ResourceExplorer.ts +853 -0
  484. package/Utils/Telemetry/SavedViewFilters.ts +88 -0
  485. package/build/dist/Models/DatabaseModels/AIInsight.js +1 -1
  486. package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -1
  487. package/build/dist/Models/DatabaseModels/AIRun.js +34 -0
  488. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  489. package/build/dist/Models/DatabaseModels/DataSource.js +774 -0
  490. package/build/dist/Models/DatabaseModels/DataSource.js.map +1 -0
  491. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js +2 -3
  492. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js.map +1 -1
  493. package/build/dist/Models/DatabaseModels/DeletedProject.js +640 -0
  494. package/build/dist/Models/DatabaseModels/DeletedProject.js.map +1 -0
  495. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  496. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  497. package/build/dist/Models/DatabaseModels/Monitor.js +106 -0
  498. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  499. package/build/dist/Models/DatabaseModels/Project.js +3 -3
  500. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  501. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +14 -4
  502. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
  503. package/build/dist/Models/DatabaseModels/User.js +2 -0
  504. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  505. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +2 -0
  506. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  507. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +2 -0
  508. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  509. package/build/dist/Models/DatabaseModels/UserSession.js +2 -0
  510. package/build/dist/Models/DatabaseModels/UserSession.js.map +1 -1
  511. package/build/dist/Models/DatabaseModels/UserTotpAuth.js +6 -4
  512. package/build/dist/Models/DatabaseModels/UserTotpAuth.js.map +1 -1
  513. package/build/dist/Models/DatabaseModels/UserWebAuthn.js +5 -3
  514. package/build/dist/Models/DatabaseModels/UserWebAuthn.js.map +1 -1
  515. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  516. package/build/dist/Server/API/AIInsightAPI.js +34 -4
  517. package/build/dist/Server/API/AIInsightAPI.js.map +1 -1
  518. package/build/dist/Server/API/AIInvestigationAPI.js +23 -0
  519. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  520. package/build/dist/Server/API/DashboardAPI.js +119 -433
  521. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  522. package/build/dist/Server/API/DataSourceAPI.js +173 -0
  523. package/build/dist/Server/API/DataSourceAPI.js.map +1 -0
  524. package/build/dist/Server/API/FileAPI.js +14 -2
  525. package/build/dist/Server/API/FileAPI.js.map +1 -1
  526. package/build/dist/Server/API/MicrosoftTeamsAPI.js +6 -1
  527. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  528. package/build/dist/Server/API/ProjectAPI.js +157 -4
  529. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  530. package/build/dist/Server/API/StatusPageAPI.js +38 -4
  531. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  532. package/build/dist/Server/API/UserAPI.js +94 -2
  533. package/build/dist/Server/API/UserAPI.js.map +1 -1
  534. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +49 -0
  535. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  536. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786303472848-AddDataSourceTable.js +20 -0
  537. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786303472848-AddDataSourceTable.js.map +1 -0
  538. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js +34 -0
  539. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js.map +1 -0
  540. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js +30 -0
  541. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js.map +1 -0
  542. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js +20 -0
  543. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js.map +1 -0
  544. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786600000000-AddInvestigationAnalysisTldr.js +19 -0
  545. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786600000000-AddInvestigationAnalysisTldr.js.map +1 -0
  546. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786700000000-DropProjectCallSMSConfigCredentialUniques.js +64 -0
  547. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786700000000-DropProjectCallSMSConfigCredentialUniques.js.map +1 -0
  548. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  549. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  550. package/build/dist/Server/Infrastructure/Queue.js +27 -0
  551. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  552. package/build/dist/Server/Infrastructure/QueueWorker.js +13 -0
  553. package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
  554. package/build/dist/Server/Middleware/TelemetryIngest.js +8 -3
  555. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  556. package/build/dist/Server/Services/AIAgentService.js +17 -0
  557. package/build/dist/Server/Services/AIAgentService.js.map +1 -1
  558. package/build/dist/Server/Services/AIInsightService.js +110 -10
  559. package/build/dist/Server/Services/AIInsightService.js.map +1 -1
  560. package/build/dist/Server/Services/AIRunService.js +34 -0
  561. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  562. package/build/dist/Server/Services/AIService.js +16 -2
  563. package/build/dist/Server/Services/AIService.js.map +1 -1
  564. package/build/dist/Server/Services/AlertService.js +28 -35
  565. package/build/dist/Server/Services/AlertService.js.map +1 -1
  566. package/build/dist/Server/Services/AnalyticsDatabaseService.js +8 -4
  567. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  568. package/build/dist/Server/Services/DashboardDomainService.js +55 -18
  569. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
  570. package/build/dist/Server/Services/DataSourceService.js +159 -0
  571. package/build/dist/Server/Services/DataSourceService.js.map +1 -0
  572. package/build/dist/Server/Services/DatabaseService.js +1 -0
  573. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  574. package/build/dist/Server/Services/DeletedProjectService.js +124 -0
  575. package/build/dist/Server/Services/DeletedProjectService.js.map +1 -0
  576. package/build/dist/Server/Services/FileService.js +52 -0
  577. package/build/dist/Server/Services/FileService.js.map +1 -1
  578. package/build/dist/Server/Services/HostService.js +74 -0
  579. package/build/dist/Server/Services/HostService.js.map +1 -1
  580. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +10 -1
  581. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
  582. package/build/dist/Server/Services/IncidentPublicNoteService.js +10 -1
  583. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  584. package/build/dist/Server/Services/IncidentService.js +35 -24
  585. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  586. package/build/dist/Server/Services/Index.js +4 -0
  587. package/build/dist/Server/Services/Index.js.map +1 -1
  588. package/build/dist/Server/Services/MonitorService.js +277 -0
  589. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  590. package/build/dist/Server/Services/MonitorStatusService.js +129 -0
  591. package/build/dist/Server/Services/MonitorStatusService.js.map +1 -1
  592. package/build/dist/Server/Services/OpenTelemetryIngestService.js +222 -159
  593. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  594. package/build/dist/Server/Services/ProbeService.js +17 -0
  595. package/build/dist/Server/Services/ProbeService.js.map +1 -1
  596. package/build/dist/Server/Services/ProjectService.js +228 -6
  597. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  598. package/build/dist/Server/Services/PushNotificationService.js +56 -0
  599. package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
  600. package/build/dist/Server/Services/RumSessionPinService.js +7 -15
  601. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
  602. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +10 -1
  603. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  604. package/build/dist/Server/Services/StatusPageAnnouncementService.js +54 -0
  605. package/build/dist/Server/Services/StatusPageAnnouncementService.js.map +1 -1
  606. package/build/dist/Server/Services/StatusPageDomainService.js +55 -18
  607. package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
  608. package/build/dist/Server/Services/StatusPageSubscriberService.js +10 -0
  609. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  610. package/build/dist/Server/Services/TeamMemberService.js +97 -6
  611. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  612. package/build/dist/Server/Services/TelemetryIngestionKeyService.js +1 -0
  613. package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
  614. package/build/dist/Server/Services/UserService.js +241 -10
  615. package/build/dist/Server/Services/UserService.js.map +1 -1
  616. package/build/dist/Server/Services/UserWebhookService.js +31 -87
  617. package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
  618. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +65 -0
  619. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  620. package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js +23 -0
  621. package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js.map +1 -1
  622. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +6 -0
  623. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  624. package/build/dist/Server/Types/Database/Permissions/DeletePermission.js +1 -0
  625. package/build/dist/Server/Types/Database/Permissions/DeletePermission.js.map +1 -1
  626. package/build/dist/Server/Types/Database/Permissions/ReadPermission.js +2 -0
  627. package/build/dist/Server/Types/Database/Permissions/ReadPermission.js.map +1 -1
  628. package/build/dist/Server/Types/Database/Permissions/TenantPermission.js +68 -12
  629. package/build/dist/Server/Types/Database/Permissions/TenantPermission.js.map +1 -1
  630. package/build/dist/Server/Types/Domain.js +37 -0
  631. package/build/dist/Server/Types/Domain.js.map +1 -1
  632. package/build/dist/Server/Types/Workflow/Components/API/Delete.js +2 -1
  633. package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
  634. package/build/dist/Server/Types/Workflow/Components/API/Get.js +2 -1
  635. package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
  636. package/build/dist/Server/Types/Workflow/Components/API/Patch.js +2 -1
  637. package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
  638. package/build/dist/Server/Types/Workflow/Components/API/Post.js +2 -1
  639. package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
  640. package/build/dist/Server/Types/Workflow/Components/API/Put.js +2 -1
  641. package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
  642. package/build/dist/Server/Types/Workflow/Components/API/Utils.js +35 -2
  643. package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
  644. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js +15 -11
  645. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js.map +1 -1
  646. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js +2 -3
  647. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js.map +1 -1
  648. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js +21 -10
  649. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js.map +1 -1
  650. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js +21 -10
  651. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js.map +1 -1
  652. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js +18 -13
  653. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js.map +1 -1
  654. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js +18 -13
  655. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js.map +1 -1
  656. package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js +43 -0
  657. package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js.map +1 -0
  658. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js +116 -0
  659. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js.map +1 -0
  660. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js +7 -0
  661. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js.map +1 -1
  662. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js +24 -13
  663. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js.map +1 -1
  664. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js +27 -13
  665. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js.map +1 -1
  666. package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js +14 -6
  667. package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js.map +1 -1
  668. package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js +42 -0
  669. package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js.map +1 -0
  670. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js +15 -6
  671. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js.map +1 -1
  672. package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js +10 -2
  673. package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js.map +1 -1
  674. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
  675. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js +141 -0
  676. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js.map +1 -1
  677. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +2 -2
  678. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
  679. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +68 -8
  680. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
  681. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +1 -0
  682. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
  683. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +1 -0
  684. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
  685. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionIdentity.js +97 -0
  686. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionIdentity.js.map +1 -0
  687. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +17 -15
  688. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
  689. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +178 -54
  690. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
  691. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js.map +1 -1
  692. package/build/dist/Server/Utils/AI/SRE/Insights/InsightStore.js +65 -16
  693. package/build/dist/Server/Utils/AI/SRE/Insights/InsightStore.js.map +1 -1
  694. package/build/dist/Server/Utils/AI/SRE/InvestigationTldr.js +303 -0
  695. package/build/dist/Server/Utils/AI/SRE/InvestigationTldr.js.map +1 -0
  696. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +1 -1
  697. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +6 -6
  698. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js.map +1 -1
  699. package/build/dist/Server/Utils/AnalyticsDatabase/InsertDedupContext.js.map +1 -1
  700. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +39 -5
  701. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  702. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +1261 -0
  703. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -0
  704. package/build/dist/Server/Utils/Dashboard/PublicDashboardViewConfig.js +47 -0
  705. package/build/dist/Server/Utils/Dashboard/PublicDashboardViewConfig.js.map +1 -0
  706. package/build/dist/Server/Utils/DataSource/ConnectorRegistry.js +42 -0
  707. package/build/dist/Server/Utils/DataSource/ConnectorRegistry.js.map +1 -0
  708. package/build/dist/Server/Utils/DataSource/Connectors/ClickHouseConnector.js +187 -0
  709. package/build/dist/Server/Utils/DataSource/Connectors/ClickHouseConnector.js.map +1 -0
  710. package/build/dist/Server/Utils/DataSource/Connectors/ElasticsearchConnector.js +493 -0
  711. package/build/dist/Server/Utils/DataSource/Connectors/ElasticsearchConnector.js.map +1 -0
  712. package/build/dist/Server/Utils/DataSource/Connectors/LokiConnector.js +399 -0
  713. package/build/dist/Server/Utils/DataSource/Connectors/LokiConnector.js.map +1 -0
  714. package/build/dist/Server/Utils/DataSource/Connectors/MySqlConnector.js +195 -0
  715. package/build/dist/Server/Utils/DataSource/Connectors/MySqlConnector.js.map +1 -0
  716. package/build/dist/Server/Utils/DataSource/Connectors/PostgresConnector.js +149 -0
  717. package/build/dist/Server/Utils/DataSource/Connectors/PostgresConnector.js.map +1 -0
  718. package/build/dist/Server/Utils/DataSource/Connectors/PrometheusConnector.js +362 -0
  719. package/build/dist/Server/Utils/DataSource/Connectors/PrometheusConnector.js.map +1 -0
  720. package/build/dist/Server/Utils/DataSource/Connectors/RestApiConnector.js +342 -0
  721. package/build/dist/Server/Utils/DataSource/Connectors/RestApiConnector.js.map +1 -0
  722. package/build/dist/Server/Utils/DataSource/Connectors/SqlServerConnector.js +186 -0
  723. package/build/dist/Server/Utils/DataSource/Connectors/SqlServerConnector.js.map +1 -0
  724. package/build/dist/Server/Utils/DataSource/EgressGuard.js +389 -0
  725. package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -0
  726. package/build/dist/Server/Utils/DataSource/HttpFetch.js +116 -0
  727. package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -0
  728. package/build/dist/Server/Utils/DataSource/SqlQueryGuard.js +331 -0
  729. package/build/dist/Server/Utils/DataSource/SqlQueryGuard.js.map +1 -0
  730. package/build/dist/Server/Utils/DataSource/SqlResultShaper.js +280 -0
  731. package/build/dist/Server/Utils/DataSource/SqlResultShaper.js.map +1 -0
  732. package/build/dist/Server/Utils/DataSource/Types.js +2 -0
  733. package/build/dist/Server/Utils/DataSource/Types.js.map +1 -0
  734. package/build/dist/Server/Utils/Database/PostgresErrorTranslator.js +103 -9
  735. package/build/dist/Server/Utils/Database/PostgresErrorTranslator.js.map +1 -1
  736. package/build/dist/Server/Utils/Execute.js +2 -2
  737. package/build/dist/Server/Utils/Execute.js.map +1 -1
  738. package/build/dist/Server/Utils/InProcessMemo.js +113 -0
  739. package/build/dist/Server/Utils/InProcessMemo.js.map +1 -0
  740. package/build/dist/Server/Utils/InlineImageAccessTokenSync.js +13 -0
  741. package/build/dist/Server/Utils/InlineImageAccessTokenSync.js.map +1 -1
  742. package/build/dist/Server/Utils/InstanceHealth/TelemetryIngestion.js +406 -0
  743. package/build/dist/Server/Utils/InstanceHealth/TelemetryIngestion.js.map +1 -0
  744. package/build/dist/Server/Utils/LLM/LLMService.js +43 -12
  745. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  746. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +44 -24
  747. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  748. package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js +158 -0
  749. package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js.map +1 -0
  750. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +50 -30
  751. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  752. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +34 -0
  753. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  754. package/build/dist/Server/Utils/Monitor/MonitorResource.js +46 -0
  755. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  756. package/build/dist/Server/Utils/Response.js +121 -6
  757. package/build/dist/Server/Utils/Response.js.map +1 -1
  758. package/build/dist/Server/Utils/SSRFProtection.js +358 -0
  759. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -0
  760. package/build/dist/Server/Utils/StartServer.js +14 -0
  761. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  762. package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js +24 -0
  763. package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js.map +1 -1
  764. package/build/dist/Server/Utils/Telemetry/CaptureSpan.js +25 -11
  765. package/build/dist/Server/Utils/Telemetry/CaptureSpan.js.map +1 -1
  766. package/build/dist/Server/Utils/Telemetry/IngestionTimestamp.js +32 -0
  767. package/build/dist/Server/Utils/Telemetry/IngestionTimestamp.js.map +1 -0
  768. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js +92 -5
  769. package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js.map +1 -1
  770. package/build/dist/Server/Utils/Telemetry/Telemetry.js +92 -6
  771. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  772. package/build/dist/Server/Utils/Telemetry.js +93 -6
  773. package/build/dist/Server/Utils/Telemetry.js.map +1 -1
  774. package/build/dist/Server/Utils/VM/VMRunner.js +73 -1
  775. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  776. package/build/dist/Server/Utils/VendorAssets.js +121 -0
  777. package/build/dist/Server/Utils/VendorAssets.js.map +1 -0
  778. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +469 -46
  779. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  780. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -1
  781. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  782. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
  783. package/build/dist/Types/AI/FixPullRequestCiStatus.js +1 -1
  784. package/build/dist/Types/AI/FixVerificationStatus.js +2 -2
  785. package/build/dist/Types/API/Hostname.js +73 -4
  786. package/build/dist/Types/API/Hostname.js.map +1 -1
  787. package/build/dist/Types/API/URL.js +42 -24
  788. package/build/dist/Types/API/URL.js.map +1 -1
  789. package/build/dist/Types/Analytics/RevenueEvent.js +26 -0
  790. package/build/dist/Types/Analytics/RevenueEvent.js.map +1 -0
  791. package/build/dist/Types/Billing/BalanceAdjustmentType.js +15 -0
  792. package/build/dist/Types/Billing/BalanceAdjustmentType.js.map +1 -0
  793. package/build/dist/Types/Billing/ProjectBalanceType.js +14 -0
  794. package/build/dist/Types/Billing/ProjectBalanceType.js.map +1 -0
  795. package/build/dist/Types/Dashboard/DashboardComponentType.js +27 -0
  796. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  797. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceChartComponent.js +2 -0
  798. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceChartComponent.js.map +1 -0
  799. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceGaugeComponent.js +2 -0
  800. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceGaugeComponent.js.map +1 -0
  801. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceTableComponent.js +2 -0
  802. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceTableComponent.js.map +1 -0
  803. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceValueComponent.js +16 -0
  804. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDataSourceValueComponent.js.map +1 -0
  805. package/build/dist/Types/DataSource/DataSourceLimits.js +47 -0
  806. package/build/dist/Types/DataSource/DataSourceLimits.js.map +1 -0
  807. package/build/dist/Types/DataSource/DataSourceQueryConfig.js +10 -0
  808. package/build/dist/Types/DataSource/DataSourceQueryConfig.js.map +1 -0
  809. package/build/dist/Types/DataSource/DataSourceTableResult.js +14 -0
  810. package/build/dist/Types/DataSource/DataSourceTableResult.js.map +1 -0
  811. package/build/dist/Types/DataSource/DataSourceType.js +183 -0
  812. package/build/dist/Types/DataSource/DataSourceType.js.map +1 -0
  813. package/build/dist/Types/Date.js +38 -3
  814. package/build/dist/Types/Date.js.map +1 -1
  815. package/build/dist/Types/Domain.js +22 -0
  816. package/build/dist/Types/Domain.js.map +1 -1
  817. package/build/dist/Types/File/MimeType.js +11 -0
  818. package/build/dist/Types/File/MimeType.js.map +1 -1
  819. package/build/dist/Types/JSONFunctions.js +14 -0
  820. package/build/dist/Types/JSONFunctions.js.map +1 -1
  821. package/build/dist/Types/Password.js +56 -0
  822. package/build/dist/Types/Password.js.map +1 -0
  823. package/build/dist/Types/Permission.js +42 -0
  824. package/build/dist/Types/Permission.js.map +1 -1
  825. package/build/dist/Types/UserAuthenticationStatus.js +2 -0
  826. package/build/dist/Types/UserAuthenticationStatus.js.map +1 -0
  827. package/build/dist/Types/Workflow/Components/BaseModel.js +83 -28
  828. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  829. package/build/dist/UI/Components/ErrorBoundary.js +388 -72
  830. package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
  831. package/build/dist/UI/Components/GanttChart/ChartContainer.js +4 -3
  832. package/build/dist/UI/Components/GanttChart/ChartContainer.js.map +1 -1
  833. package/build/dist/UI/Components/Icon/Icon.js +10 -4
  834. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  835. package/build/dist/UI/Components/Modal/ConfirmModal.js +3 -1
  836. package/build/dist/UI/Components/Modal/ConfirmModal.js.map +1 -1
  837. package/build/dist/UI/Components/Modal/Modal.js +168 -19
  838. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  839. package/build/dist/UI/Components/Modal/ModalFooter.js +3 -1
  840. package/build/dist/UI/Components/Modal/ModalFooter.js.map +1 -1
  841. package/build/dist/UI/Components/ModelDelete/ModelDelete.js +11 -6
  842. package/build/dist/UI/Components/ModelDelete/ModelDelete.js.map +1 -1
  843. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +9 -6
  844. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  845. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +7 -1
  846. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  847. package/build/dist/UI/Components/SideOver/SideOver.js +105 -30
  848. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  849. package/build/dist/UI/Components/StatusPage/ResourceGrid.js +119 -0
  850. package/build/dist/UI/Components/StatusPage/ResourceGrid.js.map +1 -0
  851. package/build/dist/UI/Components/StatusPage/ResourceGroupNavigator.js +354 -0
  852. package/build/dist/UI/Components/StatusPage/ResourceGroupNavigator.js.map +1 -0
  853. package/build/dist/UI/Components/StatusPage/ResourceList.js +203 -0
  854. package/build/dist/UI/Components/StatusPage/ResourceList.js.map +1 -0
  855. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js +1 -6
  856. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
  857. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +3 -8
  858. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  859. package/build/dist/UI/Utils/PageScrollLock.js +52 -0
  860. package/build/dist/UI/Utils/PageScrollLock.js.map +1 -0
  861. package/build/dist/UI/Utils/TestDataSource.js +39 -0
  862. package/build/dist/UI/Utils/TestDataSource.js.map +1 -0
  863. package/build/dist/Utils/Analytics.js +4 -0
  864. package/build/dist/Utils/Analytics.js.map +1 -1
  865. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceChartComponent.js +79 -0
  866. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceChartComponent.js.map +1 -0
  867. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceGaugeComponent.js +111 -0
  868. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceGaugeComponent.js.map +1 -0
  869. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceShared.js +15 -0
  870. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceShared.js.map +1 -0
  871. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceTableComponent.js +62 -0
  872. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceTableComponent.js.map +1 -0
  873. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceValueComponent.js +112 -0
  874. package/build/dist/Utils/Dashboard/Components/DashboardDataSourceValueComponent.js.map +1 -0
  875. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  876. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  877. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +4 -2
  878. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -1
  879. package/build/dist/Utils/Dashboard/VariableInterpolation.js +19 -1
  880. package/build/dist/Utils/Dashboard/VariableInterpolation.js.map +1 -1
  881. package/build/dist/Utils/DataSource/DataSourceQueryText.js +64 -0
  882. package/build/dist/Utils/DataSource/DataSourceQueryText.js.map +1 -0
  883. package/build/dist/Utils/DataSource/DataSourceValueReducer.js +124 -0
  884. package/build/dist/Utils/DataSource/DataSourceValueReducer.js.map +1 -0
  885. package/build/dist/Utils/LegacySerializedArray.js +51 -0
  886. package/build/dist/Utils/LegacySerializedArray.js.map +1 -0
  887. package/build/dist/Utils/Metrics/MetricResourceAttributeUtil.js +281 -0
  888. package/build/dist/Utils/Metrics/MetricResourceAttributeUtil.js.map +1 -0
  889. package/build/dist/Utils/Monitor/MonitorDependencyRule.js +47 -0
  890. package/build/dist/Utils/Monitor/MonitorDependencyRule.js.map +1 -0
  891. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js +8 -6
  892. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js.map +1 -1
  893. package/build/dist/Utils/StatusPage/GroupHierarchyView.js +560 -0
  894. package/build/dist/Utils/StatusPage/GroupHierarchyView.js.map +1 -0
  895. package/build/dist/Utils/StatusPage/ResourceExplorer.js +519 -0
  896. package/build/dist/Utils/StatusPage/ResourceExplorer.js.map +1 -0
  897. package/build/dist/Utils/Telemetry/SavedViewFilters.js +52 -0
  898. package/build/dist/Utils/Telemetry/SavedViewFilters.js.map +1 -0
  899. package/jest.config.json +4 -0
  900. package/package.json +5 -1
  901. package/tsconfig.json +14 -10
@@ -1 +1 @@
1
- {"version":3,"file":"ExceptionSpikeDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExceptionSpikeDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ import AIInsightSeverity from "../../../../../../Types/AI/AIInsightSeverity";
5
5
  import TelemetryExceptionService from "../../../../../Services/TelemetryExceptionService";
6
6
  import ServiceService from "../../../../../Services/ServiceService";
7
7
  import QueryHelper from "../../../../../Types/Database/QueryHelper";
8
+ import logger from "../../../../Logger";
8
9
  import { sanitizeExceptionMessage } from "../../../../Telemetry/ExceptionSanitizer";
10
+ import { EXCEPTION_LABEL_MESSAGE_MAX_LENGTH, buildExceptionFailureModeKey, buildExceptionLabel, } from "./ExceptionIdentity";
9
11
  /*
10
12
  * NewException — a brand-new failure mode in the code: a telemetry
11
13
  * exception group whose FIRST occurrence is inside the lookback window and
@@ -13,6 +15,18 @@ import { sanitizeExceptionMessage } from "../../../../Telemetry/ExceptionSanitiz
13
15
  * the exception groups table carries firstSeenAt and the lifetime
14
16
  * occurrence count, so no ClickHouse scan is needed at all. Deterministic —
15
17
  * no LLM anywhere in this detector.
18
+ *
19
+ * ONE INSIGHT PER FAILURE MODE, NOT PER EXCEPTION GROUP. Group identity at
20
+ * ingest hashes the normalized STACK TRACE alongside the type and message, so
21
+ * one logical failure raised from several call sites is several groups. This
22
+ * detector used to file one insight per group, which filed the same finding
23
+ * over and over — and because the title was the exceptionType alone, the rows
24
+ * were not merely duplicated but indistinguishable (a service whose
25
+ * instrumentation reports `exception.type = "401"` produced a wall of
26
+ * identical "New exception: 401 in api" rows). Candidates are therefore
27
+ * bucketed on the (entity, type, normalized message) failure mode, counts are
28
+ * summed across the member groups, and the insight is fingerprinted on that
29
+ * bucket — see ExceptionIdentity.
16
30
  */
17
31
  /*
18
32
  * Only exceptions born within this window count as "new". 24h matches the
@@ -24,30 +38,41 @@ export const NEW_EXCEPTION_LOOKBACK_HOURS = 24;
24
38
  /*
25
39
  * A single occurrence is noise (a deploy hiccup, a one-off bad request).
26
40
  * Three occurrences means the failure path is being re-hit — worth a
27
- * human's attention.
41
+ * human's attention. Applied per exception GROUP, before bucketing: a
42
+ * failure mode must have at least one group that is genuinely recurring,
43
+ * rather than qualifying by adding up single-occurrence stack variants.
28
44
  */
29
45
  export const NEW_EXCEPTION_MIN_OCCURRENCE_COUNT = 3;
30
46
  /*
31
47
  * At 50+ occurrences inside its first day the exception is hammering a hot
32
- * path — escalate to High so it sorts above the long tail.
48
+ * path — escalate to High so it sorts above the long tail. Measured on the
49
+ * failure mode's summed count, which is what the insight reports.
33
50
  */
34
51
  export const NEW_EXCEPTION_HIGH_SEVERITY_OCCURRENCE_COUNT = 50;
35
52
  /*
36
- * Upper bound on candidates per scan tick. Mirrors the TopExceptionsTool
37
- * cap a project melting down does not need 500 insights, and the scanner
53
+ * How many exception GROUPS one tick reads. Higher than the candidate cap
54
+ * because groups collapse into failure modes: a single noisy throw site can
55
+ * easily own dozens of stack-trace variants, and reading only 25 of them
56
+ * would let one loud failure mode crowd every other one out of the tick. It
57
+ * is one indexed Postgres query either way.
58
+ */
59
+ export const NEW_EXCEPTION_GROUP_SCAN_LIMIT = 100;
60
+ /*
61
+ * Upper bound on candidates per scan tick, applied AFTER bucketing — a
62
+ * project melting down does not need 500 insights, and the scanner
38
63
  * additionally caps new insights per tick.
39
64
  */
40
65
  export const NEW_EXCEPTION_CANDIDATE_LIMIT = 25;
41
66
  // Titles must stay scannable in a list — truncate long exception messages.
42
- export const NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH = 80;
67
+ export const NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH = EXCEPTION_LABEL_MESSAGE_MAX_LENGTH;
43
68
  export default class NewExceptionDetector {
44
69
  constructor() {
45
70
  this.insightType = AIInsightType.NewException;
46
71
  }
47
72
  /*
48
- * Pure decision: does a lifetime occurrence count qualify, and how
49
- * urgent is it. The query already filters on the minimum count — this
50
- * re-check keeps the rule in one unit-testable place.
73
+ * Pure decision: does an occurrence count qualify, and how urgent is it.
74
+ * The query already filters on the minimum count — this re-check keeps the
75
+ * rule in one unit-testable place.
51
76
  */
52
77
  static evaluateNewException(occurrenceCount) {
53
78
  return {
@@ -58,29 +83,20 @@ export default class NewExceptionDetector {
58
83
  };
59
84
  }
60
85
  /*
61
- * Human label for the exception: the type when present, else the first
62
- * NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH characters of the message.
86
+ * Human label for the exception: the type AND the message, because either
87
+ * one alone collides across findings (see ExceptionIdentity).
63
88
  */
64
89
  static buildExceptionLabel(exceptionType, message) {
65
- if (exceptionType && exceptionType.trim().length > 0) {
66
- return exceptionType.trim();
67
- }
68
- const trimmedMessage = (message || "").trim();
69
- if (trimmedMessage.length === 0) {
70
- return "Unknown exception";
71
- }
72
- if (trimmedMessage.length <= NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH) {
73
- return trimmedMessage;
74
- }
75
- return `${trimmedMessage.slice(0, NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH)}…`;
90
+ return buildExceptionLabel(exceptionType, message, NEW_EXCEPTION_TITLE_MESSAGE_MAX_LENGTH);
76
91
  }
77
92
  /*
78
- * Stable dedupe key. Keyed on the exception GROUP id (not the message):
79
- * the group id is the ingest-side dedupe unit, so the insight refreshes
80
- * instead of duplicating across scan ticks.
93
+ * Stable dedupe key. Keyed on the FAILURE MODE (entity + exception type +
94
+ * normalized message), never on the exception group id: group identity
95
+ * includes the stack trace, so one failure raised from several call sites
96
+ * would otherwise file one insight per call site.
81
97
  */
82
- static buildFingerprint(telemetryExceptionId) {
83
- return `new-exception:${telemetryExceptionId}`;
98
+ static buildFingerprint(failureModeKey) {
99
+ return `new-exception:${failureModeKey}`;
84
100
  }
85
101
  async detect(context) {
86
102
  const firstSeenSince = OneUptimeDate.addRemoveHours(context.now, -1 * NEW_EXCEPTION_LOOKBACK_HOURS);
@@ -94,6 +110,13 @@ export default class NewExceptionDetector {
94
110
  /*
95
111
  * Root read with an explicit projectId in the query — the scanner is a
96
112
  * server-side worker (monitor-worker precedent), never a user ACL.
113
+ *
114
+ * firstSeenAt is a deterministic tie-break on the LIMIT boundary:
115
+ * occuranceCount is incremented on every ingested event, so the long
116
+ * tail of a noisy endpoint sits densely tied right at the cut and an
117
+ * untie-broken ORDER BY hands back an arbitrary, shifting subset each
118
+ * tick. Bucketing already keeps that churn from filing duplicates; the
119
+ * tie-break keeps the tick itself reproducible.
97
120
  */
98
121
  const exceptions = await TelemetryExceptionService.findBy({
99
122
  query: query,
@@ -107,79 +130,180 @@ export default class NewExceptionDetector {
107
130
  },
108
131
  sort: {
109
132
  occuranceCount: SortOrder.Descending,
133
+ firstSeenAt: SortOrder.Ascending,
110
134
  },
111
- limit: NEW_EXCEPTION_CANDIDATE_LIMIT,
135
+ limit: NEW_EXCEPTION_GROUP_SCAN_LIMIT,
112
136
  skip: 0,
113
137
  props: { isRoot: true },
114
138
  });
139
+ const failureModes = NewExceptionDetector.bucketIntoFailureModes(exceptions);
115
140
  const candidates = [];
116
- for (const exception of exceptions) {
117
- const occurrenceCount = exception.occuranceCount || 0;
118
- const decision = NewExceptionDetector.evaluateNewException(occurrenceCount);
119
- if (!decision.qualifies || !exception.id) {
141
+ // Service names are resolved once per entity, not once per group.
142
+ const serviceNameCache = new Map();
143
+ for (const failureMode of failureModes) {
144
+ const decision = NewExceptionDetector.evaluateNewException(failureMode.totalOccurrenceCount);
145
+ if (!decision.qualifies) {
120
146
  continue;
121
147
  }
122
- const serviceName = await this.resolveServiceName(exception.primaryEntityId);
123
- /*
124
- * The message flows into the insight title/detail/evidence, and from
125
- * there into the triage LLM prompt — sanitize it once here so no
126
- * interpolated user data (IDs, emails, domains) rides along. The raw
127
- * message stays on the exception row for the dashboard.
128
- */
129
- const safeMessage = sanitizeExceptionMessage(exception.message || "");
130
- const label = NewExceptionDetector.buildExceptionLabel(exception.exceptionType, safeMessage);
131
- const firstSeenAtIso = exception.firstSeenAt
132
- ? exception.firstSeenAt.toISOString()
148
+ const serviceName = await this.resolveServiceName(failureMode.representative.primaryEntityId, serviceNameCache);
149
+ const label = NewExceptionDetector.buildExceptionLabel(failureMode.representative.exceptionType, failureMode.safeMessage);
150
+ const firstSeenAtIso = failureMode.firstSeenAt
151
+ ? failureMode.firstSeenAt.toISOString()
133
152
  : undefined;
134
153
  const detailLines = [
135
154
  "**New exception detected**",
136
155
  "",
137
156
  `- Exception: \`${label}\``,
138
157
  ];
139
- if (safeMessage) {
140
- detailLines.push(`- Message: ${safeMessage}`);
158
+ if (failureMode.safeMessage) {
159
+ detailLines.push(`- Message: ${failureMode.safeMessage}`);
141
160
  }
142
161
  if (serviceName) {
143
162
  detailLines.push(`- Service: ${serviceName}`);
144
163
  }
145
- detailLines.push(`- First seen: ${firstSeenAtIso || "unknown"} (within the last ${NEW_EXCEPTION_LOOKBACK_HOURS}h)`, `- Occurrences so far: ${occurrenceCount}`);
164
+ detailLines.push(`- First seen: ${firstSeenAtIso || "unknown"} (within the last ${NEW_EXCEPTION_LOOKBACK_HOURS}h)`, `- Occurrences so far: ${failureMode.totalOccurrenceCount}`);
165
+ if (failureMode.groupCount > 1) {
166
+ detailLines.push(`- Raised from ${failureMode.groupCount} distinct stack traces (same exception type and message — counted together as one failure mode)`);
167
+ }
146
168
  candidates.push({
147
169
  insightType: AIInsightType.NewException,
148
- fingerprint: NewExceptionDetector.buildFingerprint(exception.id.toString()),
170
+ fingerprint: NewExceptionDetector.buildFingerprint(failureMode.failureModeKey),
149
171
  title: `New exception: ${label}${serviceName ? ` in ${serviceName}` : ""}`,
150
172
  detailMarkdown: detailLines.join("\n"),
151
173
  severity: decision.severity,
152
174
  serviceName: serviceName || undefined,
153
- telemetryServiceId: serviceName ? exception.primaryEntityId : undefined,
154
- telemetryExceptionId: exception.id,
175
+ telemetryServiceId: serviceName
176
+ ? failureMode.representative.primaryEntityId
177
+ : undefined,
178
+ telemetryExceptionId: failureMode.representativeExceptionId,
155
179
  evidence: {
156
180
  exception: {
157
- exceptionMessage: safeMessage,
158
- exceptionType: exception.exceptionType,
159
- totalOccurrenceCount: occurrenceCount,
181
+ exceptionMessage: failureMode.safeMessage,
182
+ exceptionType: failureMode.representative.exceptionType,
183
+ totalOccurrenceCount: failureMode.totalOccurrenceCount,
184
+ distinctExceptionGroupCount: failureMode.groupCount,
160
185
  firstSeenAt: firstSeenAtIso,
161
186
  },
162
187
  },
163
188
  });
189
+ if (candidates.length >= NEW_EXCEPTION_CANDIDATE_LIMIT) {
190
+ // No silent caps — say what this tick left on the floor.
191
+ if (failureModes.length > candidates.length) {
192
+ logger.debug(`AI Insights: NewException capped at ${NEW_EXCEPTION_CANDIDATE_LIMIT} candidates for project ${context.projectId.toString()} — ${failureModes.length - candidates.length} further failure mode(s) this tick were not emitted. They re-surface on later ticks while their exceptions stay inside the ${NEW_EXCEPTION_LOOKBACK_HOURS}h window.`);
193
+ }
194
+ break;
195
+ }
164
196
  }
165
197
  return candidates;
166
198
  }
199
+ /*
200
+ * Roll the tick's exception groups up into failure modes, loudest first.
201
+ *
202
+ * The representative is the group with the highest lifetime occurrence
203
+ * count (ties broken by the earliest firstSeenAt, then by id, so the choice
204
+ * is deterministic rather than dependent on row order). It supplies the
205
+ * label and the exception the insight links to — but NOT the fingerprint,
206
+ * which is the bucket key, so a representative that changes as counts move
207
+ * can never file a second insight for the same failure mode.
208
+ */
209
+ static bucketIntoFailureModes(exceptions) {
210
+ const buckets = new Map();
211
+ for (const exception of exceptions) {
212
+ const exceptionId = exception.id || undefined;
213
+ if (!exceptionId) {
214
+ continue;
215
+ }
216
+ const failureModeKey = buildExceptionFailureModeKey({
217
+ primaryEntityId: exception.primaryEntityId,
218
+ exceptionType: exception.exceptionType,
219
+ message: exception.message,
220
+ });
221
+ const occurrenceCount = exception.occuranceCount || 0;
222
+ const existing = buckets.get(failureModeKey);
223
+ if (!existing) {
224
+ buckets.set(failureModeKey, {
225
+ failureModeKey: failureModeKey,
226
+ representative: exception,
227
+ representativeExceptionId: exceptionId,
228
+ totalOccurrenceCount: occurrenceCount,
229
+ groupCount: 1,
230
+ firstSeenAt: exception.firstSeenAt,
231
+ /*
232
+ * The message flows into the insight title/detail/evidence, and
233
+ * from there into the triage LLM prompt — sanitize it once here so
234
+ * no interpolated user data (IDs, emails, domains) rides along. The
235
+ * raw message stays on the exception row for the dashboard.
236
+ */
237
+ safeMessage: sanitizeExceptionMessage(exception.message || ""),
238
+ });
239
+ continue;
240
+ }
241
+ existing.totalOccurrenceCount += occurrenceCount;
242
+ existing.groupCount++;
243
+ if (exception.firstSeenAt &&
244
+ (!existing.firstSeenAt || exception.firstSeenAt < existing.firstSeenAt)) {
245
+ existing.firstSeenAt = exception.firstSeenAt;
246
+ }
247
+ if (NewExceptionDetector.isBetterRepresentative(exception, existing.representative)) {
248
+ existing.representative = exception;
249
+ existing.representativeExceptionId = exceptionId;
250
+ existing.safeMessage = sanitizeExceptionMessage(exception.message || "");
251
+ }
252
+ }
253
+ /*
254
+ * Loudest first, ties broken on the key — the candidate cap cuts this
255
+ * list, so the order decides what a tick emits and it must not depend on
256
+ * the arbitrary order rows came back in.
257
+ */
258
+ return Array.from(buckets.values()).sort((a, b) => {
259
+ if (a.totalOccurrenceCount !== b.totalOccurrenceCount) {
260
+ return b.totalOccurrenceCount - a.totalOccurrenceCount;
261
+ }
262
+ return a.failureModeKey < b.failureModeKey ? -1 : 1;
263
+ });
264
+ }
265
+ // Loudest wins; ties go to the older group, then to the lower id.
266
+ static isBetterRepresentative(candidate, current) {
267
+ var _a, _b;
268
+ const candidateCount = candidate.occuranceCount || 0;
269
+ const currentCount = current.occuranceCount || 0;
270
+ if (candidateCount !== currentCount) {
271
+ return candidateCount > currentCount;
272
+ }
273
+ if (candidate.firstSeenAt && current.firstSeenAt) {
274
+ const candidateTime = candidate.firstSeenAt.getTime();
275
+ const currentTime = current.firstSeenAt.getTime();
276
+ if (candidateTime !== currentTime) {
277
+ return candidateTime < currentTime;
278
+ }
279
+ }
280
+ return (((_a = candidate.id) === null || _a === void 0 ? void 0 : _a.toString()) || "") < (((_b = current.id) === null || _b === void 0 ? void 0 : _b.toString()) || "");
281
+ }
167
282
  /*
168
283
  * Best-effort service attribution: primaryEntityId is polymorphic
169
284
  * (Service/Host/DockerHost/...), and findOneById simply returns null for
170
285
  * the non-Service kinds (AIInvestigationAPI precedent) — the insight then
171
- * ships without a service name.
286
+ * ships without a service name. Cached per tick: a project's exceptions
287
+ * cluster on a handful of services, and the lookup is the only per-
288
+ * candidate IO left in this detector.
172
289
  */
173
- async resolveServiceName(primaryEntityId) {
290
+ async resolveServiceName(primaryEntityId, cache) {
174
291
  if (!primaryEntityId) {
175
292
  return null;
176
293
  }
294
+ const cacheKey = primaryEntityId.toString();
295
+ const cached = cache.get(cacheKey);
296
+ if (cached !== undefined) {
297
+ return cached;
298
+ }
177
299
  const service = await ServiceService.findOneById({
178
300
  id: primaryEntityId,
179
301
  select: { name: true },
180
302
  props: { isRoot: true },
181
303
  });
182
- return (service === null || service === void 0 ? void 0 : service.name) || null;
304
+ const serviceName = (service === null || service === void 0 ? void 0 : service.name) || null;
305
+ cache.set(cacheKey, serviceName);
306
+ return serviceName;
183
307
  }
184
308
  }
185
309
  //# sourceMappingURL=NewExceptionDetector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewExceptionDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewExceptionDetector.js","sourceRoot":"","sources":["../../../../../../../../Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FixRouting.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/FixRouting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FixRouting.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/FixRouting.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,28 @@ export const MAX_NEW_INSIGHTS_PER_PROJECT_PER_SCAN = 10;
35
35
  * G11 noise posture: a human dismissal is the strongest precision signal we
36
36
  * have, so a finding with the same fingerprint stays suppressed for this
37
37
  * many days after the dismissal instead of reappearing on the next tick.
38
- * After the cooldown (or after a Resolved insight's signal returns) a fresh
39
- * insight is warranted — a resolved issue that reappears is a regression.
40
38
  */
41
39
  export const DISMISSED_COOLDOWN_DAYS = 7;
40
+ /*
41
+ * The same idea for the other human terminal state, with a much shorter
42
+ * clock: a resolved issue that comes back IS a regression worth re-filing,
43
+ * but it has to actually come back first.
44
+ *
45
+ * WITHOUT THIS, RESOLVE DID NOT STICK. Detectors emit on a standing
46
+ * condition, not on an event — NewException re-emits an unchanged candidate
47
+ * on all ~96 ticks of the 24h window after the exception's firstSeenAt, and
48
+ * resolving an insight changes nothing the detector looks at. So a Resolved
49
+ * row (terminal, therefore never refreshed) fell straight through to CREATE
50
+ * and a byte-identical insight reappeared within 15 minutes, complete with
51
+ * its own triage LLM run. Resolving again just minted another one.
52
+ *
53
+ * 24 hours is chosen to cover NEW_EXCEPTION_LOOKBACK_HOURS: it outlasts the
54
+ * window in which a NewException candidate is re-emitted from the same
55
+ * evidence, so that finding stays closed, while the standing-condition
56
+ * detectors (spikes, drift) can still re-file a day later if their signal
57
+ * genuinely returns.
58
+ */
59
+ export const RESOLVED_COOLDOWN_HOURS = 24;
42
60
  /*
43
61
  * Column-safety clamps: DatabaseService validates string columns against the
44
62
  * model's declared lengths and THROWS on overflow, and detectors embed raw
@@ -63,8 +81,8 @@ export default class InsightStore {
63
81
  * - none → CREATE (subject to the per-scan cap)
64
82
  * - non-terminal → REFRESH (never touches status)
65
83
  * - Dismissed within the cooldown → suppress
66
- * - Dismissed past the cooldown,
67
- * or Resolved → CREATE (regression / recurrence)
84
+ * - Resolved within the cooldown → suppress
85
+ * - either, past its cooldown → CREATE (regression / recurrence)
68
86
  * All access is root-props: the scanner is a system actor with explicit
69
87
  * projectId scoping, not a per-user ACL consumer.
70
88
  */
@@ -107,6 +125,8 @@ export default class InsightStore {
107
125
  status: true,
108
126
  occurrenceCount: true,
109
127
  humanVerdictAt: true,
128
+ // The cooldown fallback when no verdict was ever stamped.
129
+ lastSeenAt: true,
110
130
  },
111
131
  sort: { createdAt: SortOrder.Descending },
112
132
  props: { isRoot: true },
@@ -127,6 +147,14 @@ export default class InsightStore {
127
147
  lastSeenAt: data.now,
128
148
  occurrenceCount: (existing.occurrenceCount || 1) + 1,
129
149
  severity: candidate.severity,
150
+ /*
151
+ * The title is refreshed with the rest of the picture, not
152
+ * frozen at creation. Detectors put live numbers in it (a spike
153
+ * multiplier, a latency factor) and the label itself sharpens as
154
+ * more of the failure is observed — a row left showing "at 5.2x"
155
+ * beside a High severity and a 12x detail body reads as a bug.
156
+ */
157
+ title: this.clampToColumn(candidate.title, INSIGHT_TITLE_MAX_LENGTH),
130
158
  detailMarkdown: candidate.detailMarkdown,
131
159
  evidence: candidate.evidence,
132
160
  },
@@ -135,22 +163,43 @@ export default class InsightStore {
135
163
  result.refreshed++;
136
164
  continue;
137
165
  }
138
- if (existing && existing.status === AIInsightStatus.Dismissed) {
166
+ if (existing &&
167
+ existing.status &&
168
+ AIInsightStatusHelper.isTerminalStatus(existing.status)) {
169
+ /*
170
+ * Both human terminal states get a cooldown, measured from the
171
+ * human's action and inclusive at the boundary (a cooldown exactly
172
+ * elapsed still suppresses). They differ only in length: a
173
+ * dismissal says "this is not worth my time" (7 days), a resolve
174
+ * says "handled" (24 hours — long enough that the detector stops
175
+ * re-emitting the very evidence the human just closed).
176
+ */
177
+ const isDismissed = existing.status === AIInsightStatus.Dismissed;
178
+ const cooldownMs = isDismissed
179
+ ? OneUptimeDate.getMillisecondsInDays(DISMISSED_COOLDOWN_DAYS)
180
+ : OneUptimeDate.getMillisecondsInHours(RESOLVED_COOLDOWN_HOURS);
139
181
  /*
140
- * Cooldown is measured from the human's dismissal, inclusive at the
141
- * boundary (exactly DISMISSED_COOLDOWN_DAYS old still suppresses).
142
- * A Dismissed row without a verdict timestamp cannot prove the
143
- * cooldown elapsed, so it suppresses too when in doubt, stay
144
- * quiet (G11 noise posture).
182
+ * humanVerdictAt is the moment the human acted. It can be missing
183
+ * (defensive) and, on a Confirm-then-Resolve, it holds the CONFIRM
184
+ * time resolveInsight leaves an existing verdict alone. lastSeenAt
185
+ * is the fallback: refreshes stop the moment a row goes terminal, so
186
+ * it is pinned to the last tick before the human closed it, which is
187
+ * never later than the close. Neither available → suppress; a
188
+ * terminal row we cannot date must not be re-filed every 15 minutes
189
+ * (G11 noise posture: when in doubt, stay quiet).
145
190
  */
146
- const cooldownMs = OneUptimeDate.getMillisecondsInDays(DISMISSED_COOLDOWN_DAYS);
147
- const withinCooldown = existing.humanVerdictAt
148
- ? data.now.getTime() -
149
- OneUptimeDate.fromString(existing.humanVerdictAt).getTime() <=
150
- cooldownMs
191
+ const closedAt = existing.humanVerdictAt
192
+ ? OneUptimeDate.fromString(existing.humanVerdictAt)
193
+ : existing.lastSeenAt
194
+ ? OneUptimeDate.fromString(existing.lastSeenAt)
195
+ : undefined;
196
+ const withinCooldown = closedAt
197
+ ? data.now.getTime() - closedAt.getTime() <= cooldownMs
151
198
  : true;
152
199
  if (withinCooldown) {
153
- logger.debug(`AI Insights: suppressing candidate ${fingerprint} for project ${data.projectId.toString()} — dismissed by a human within the last ${DISMISSED_COOLDOWN_DAYS} days.`);
200
+ logger.debug(`AI Insights: suppressing candidate ${fingerprint} for project ${data.projectId.toString()} — ${isDismissed
201
+ ? `dismissed by a human within the last ${DISMISSED_COOLDOWN_DAYS} days`
202
+ : `resolved by a human within the last ${RESOLVED_COOLDOWN_HOURS} hours`}.`);
154
203
  result.suppressed++;
155
204
  continue;
156
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InsightStore.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/InsightStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InsightStore.js","sourceRoot":"","sources":["../../../../../../../Server/Utils/AI/SRE/Insights/InsightStore.ts"],"names":[],"mappings":"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"}