@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
@@ -0,0 +1,358 @@
1
+ import URL from "../../Types/API/URL";
2
+ import BadDataException from "../../Types/Exception/BadDataException";
3
+ import dns from "dns";
4
+ import net from "net";
5
+ /*
6
+ * Guards outbound HTTP(S) requests whose target is (fully or partly)
7
+ * attacker-controlled — status page subscriber webhooks, project webhook
8
+ * notifications, etc. — against Server-Side Request Forgery. It rejects URLs
9
+ * that point at loopback, RFC-1918 private ranges, link-local (including the
10
+ * 169.254.169.254 cloud metadata endpoint), CGNAT, and IPv6 loopback /
11
+ * link-local / unique-local addresses, resolving DNS hostnames first so a
12
+ * public-looking name that maps to an internal address is still blocked.
13
+ *
14
+ * This is a best-effort, TOCTOU-susceptible check: a hostname can resolve to a
15
+ * different address between validation and the actual request (DNS rebinding).
16
+ * Callers should therefore ALSO disable redirect-following on the request so a
17
+ * validated public host cannot 3xx-redirect the server to an internal target.
18
+ */
19
+ export default class SSRFProtection {
20
+ /*
21
+ * Returns the bare, lowercased host of a URL — no port, no brackets — or an
22
+ * empty string if it cannot be parsed. Host-pinning allowlists (Slack, Teams)
23
+ * must compare against THIS, never against the whole URL string: a substring
24
+ * check on the full URL is satisfied by an attacker-controlled path or query
25
+ * (`http://169.254.169.254/?x=office.com`) and pins nothing.
26
+ */
27
+ static getBareHostname(rawUrl) {
28
+ /*
29
+ * WHATWG, not URL.fromString. OneUptime's parser takes everything before
30
+ * the first "/" as the authority and never terminates at "?" or "#", so it
31
+ * reads "https://169.254.169.254#.office.com" as the host
32
+ * "169.254.169.254#.office.com" - which ends with ".office.com" and
33
+ * satisfied the allowlist, while axios re-parsed the same string per WHATWG
34
+ * and dialled 169.254.169.254. A pin is only worth anything if it parses
35
+ * the host the same way the HTTP client will.
36
+ */
37
+ let parsed;
38
+ try {
39
+ parsed = new globalThis.URL(rawUrl.toString());
40
+ }
41
+ catch (_a) {
42
+ return "";
43
+ }
44
+ return SSRFProtection.extractHost(parsed.hostname.toLowerCase());
45
+ }
46
+ /*
47
+ * True when the URL's host is exactly one of `allowedDomains` or a subdomain
48
+ * of one, and the scheme is https. Suffix matching is anchored on a leading
49
+ * dot so `office.com.attacker.tld` and `evil-office.com` are both rejected.
50
+ */
51
+ static isUrlOnAllowedDomain(rawUrl, allowedDomains) {
52
+ let parsed;
53
+ try {
54
+ parsed = new globalThis.URL(rawUrl.toString());
55
+ }
56
+ catch (_a) {
57
+ return false;
58
+ }
59
+ // Scheme and host must come from the SAME parser, or they can disagree.
60
+ if (parsed.protocol.toLowerCase() !== "https:") {
61
+ return false;
62
+ }
63
+ const hostname = SSRFProtection.getBareHostname(rawUrl);
64
+ if (!hostname) {
65
+ return false;
66
+ }
67
+ return allowedDomains.some((domain) => {
68
+ const allowed = domain.toLowerCase();
69
+ return hostname === allowed || hostname.endsWith(`.${allowed}`);
70
+ });
71
+ }
72
+ static async validateWebhookTargetIsSafe(rawUrl) {
73
+ /*
74
+ * URL.fromString only knows http/https/ws/wss/mongodb/mailto and silently
75
+ * DEFAULTS anything else to https - "file:///etc/passwd" comes back as
76
+ * host "file", not as a file: URL - so the protocol check below never sees
77
+ * the scheme the caller actually wrote. Read it off the raw string first.
78
+ *
79
+ * The ":" must be followed by "/" or this would treat the host in a
80
+ * scheme-less "example.com:8080/hook" as a scheme and reject it.
81
+ */
82
+ const schemeMatch = rawUrl
83
+ .toString()
84
+ .trim()
85
+ .match(/^([a-z][a-z0-9+.-]*):\//i);
86
+ if (schemeMatch &&
87
+ schemeMatch[1] &&
88
+ !["http", "https"].includes(schemeMatch[1].toLowerCase())) {
89
+ throw new BadDataException("Webhook URL must use http or https protocol.");
90
+ }
91
+ let parsed;
92
+ try {
93
+ parsed = URL.fromString(rawUrl.toString());
94
+ }
95
+ catch (_a) {
96
+ throw new BadDataException("Webhook URL is not a valid URL");
97
+ }
98
+ const protocolValue = parsed.protocol.toString().toLowerCase();
99
+ if (protocolValue !== "http://" && protocolValue !== "https://") {
100
+ throw new BadDataException("Webhook URL must use http or https protocol.");
101
+ }
102
+ const rawHost = parsed.hostname.hostname.toLowerCase();
103
+ if (!rawHost) {
104
+ throw new BadDataException("Webhook URL must include a host.");
105
+ }
106
+ /*
107
+ * OneUptime's URL parser keeps the port glued to the host (e.g.
108
+ * "169.254.169.254:80"). Strip it before the checks below, otherwise a
109
+ * literal-with-port slips past the IPv4 blocklist and, because it contains
110
+ * a ":", is mistaken for an IP literal and skips DNS resolution entirely.
111
+ */
112
+ const hostname = SSRFProtection.extractHost(rawHost);
113
+ if (!hostname) {
114
+ throw new BadDataException("Webhook URL must include a host.");
115
+ }
116
+ if (SSRFProtection.isBlockedHostnameLiteral(hostname)) {
117
+ throw new BadDataException("Webhook URL points to a private, loopback, or link-local address and is not allowed.");
118
+ }
119
+ if (!SSRFProtection.isIpLiteral(hostname)) {
120
+ let resolved = [];
121
+ try {
122
+ resolved = await dns.promises.lookup(hostname, { all: true });
123
+ }
124
+ catch (_b) {
125
+ throw new BadDataException("Webhook URL hostname could not be resolved via DNS.");
126
+ }
127
+ for (const entry of resolved) {
128
+ if (SSRFProtection.isBlockedHostnameLiteral(entry.address.toLowerCase())) {
129
+ throw new BadDataException("Webhook URL resolves to a private, loopback, or link-local address and is not allowed.");
130
+ }
131
+ }
132
+ }
133
+ }
134
+ /*
135
+ * Extracts the bare host (IPv4, IPv6, or hostname) from a "host[:port]"
136
+ * string, handling bracketed IPv6 (`[::1]`, `[::1]:8080`) and unbracketed
137
+ * IPv6 literals (which contain multiple colons and carry no port).
138
+ */
139
+ static extractHost(hostWithPort) {
140
+ const host = hostWithPort.trim();
141
+ if (host.startsWith("[")) {
142
+ const closingBracketIndex = host.indexOf("]");
143
+ if (closingBracketIndex !== -1) {
144
+ return host.slice(1, closingBracketIndex);
145
+ }
146
+ return host.replace(/^\[|\]$/g, "");
147
+ }
148
+ const colonCount = (host.match(/:/g) || []).length;
149
+ if (colonCount > 1) {
150
+ // Unbracketed IPv6 literal — colons are part of the address, not a port.
151
+ return host;
152
+ }
153
+ if (colonCount === 1) {
154
+ // host:port — keep only the host part.
155
+ return host.split(":")[0] || "";
156
+ }
157
+ return host;
158
+ }
159
+ /*
160
+ * An IP literal needs no DNS lookup - but "looks like it has a colon" is not
161
+ * the same question, and getting it wrong is a bypass in both directions.
162
+ * net.isIP is the authority: it rejects "2852039166" and "0177.0.0.1"
163
+ * (which then go to DNS, where getaddrinfo decodes them and the resolved
164
+ * address gets checked) and accepts every real IPv6 spelling.
165
+ */
166
+ static isIpLiteral(hostname) {
167
+ return net.isIP(SSRFProtection.stripZoneId(hostname)) !== 0;
168
+ }
169
+ static stripZoneId(address) {
170
+ const zoneIndex = address.indexOf("%");
171
+ return zoneIndex === -1 ? address : address.substring(0, zoneIndex);
172
+ }
173
+ /*
174
+ * Expands an IPv6 address into its eight 16-bit groups, folding an embedded
175
+ * IPv4 tail ("::ffff:127.0.0.1") into two hex groups on the way, so that
176
+ * every spelling of one address produces one canonical answer. Returns null
177
+ * if the address is not parseable as IPv6.
178
+ *
179
+ * This exists because the checks below CANNOT be string prefix matches:
180
+ * "::1", "0:0:0:0:0:0:0:1" and "0000:...:0001" are the same host, and
181
+ * "::ffff:169.254.169.254" is the cloud metadata endpoint wearing a hat.
182
+ */
183
+ static expandIpv6(address) {
184
+ let ip = SSRFProtection.stripZoneId(address.toLowerCase());
185
+ if (net.isIPv6(ip) === false) {
186
+ return null;
187
+ }
188
+ // Fold a dotted-quad tail into the two hex groups it stands for.
189
+ const lastColonIndex = ip.lastIndexOf(":");
190
+ const tail = ip.substring(lastColonIndex + 1);
191
+ if (tail.includes(".")) {
192
+ if (net.isIPv4(tail) === false) {
193
+ return null;
194
+ }
195
+ const octets = tail.split(".").map((part) => {
196
+ return parseInt(part, 10);
197
+ });
198
+ const high = ((octets[0] << 8) |
199
+ octets[1]).toString(16);
200
+ const low = ((octets[2] << 8) |
201
+ octets[3]).toString(16);
202
+ ip = `${ip.substring(0, lastColonIndex)}:${high}:${low}`;
203
+ }
204
+ const halves = ip.split("::");
205
+ if (halves.length > 2) {
206
+ return null;
207
+ }
208
+ const head = halves[0] === undefined || halves[0] === "" ? [] : halves[0].split(":");
209
+ const rear = halves.length === 2 && halves[1] !== undefined && halves[1] !== ""
210
+ ? halves[1].split(":")
211
+ : [];
212
+ let groups;
213
+ if (halves.length === 2) {
214
+ const zeroFill = 8 - head.length - rear.length;
215
+ if (zeroFill < 0) {
216
+ return null;
217
+ }
218
+ groups = [...head, ...new Array(zeroFill).fill("0"), ...rear];
219
+ }
220
+ else {
221
+ groups = head;
222
+ }
223
+ if (groups.length !== 8) {
224
+ return null;
225
+ }
226
+ const parsed = groups.map((group) => {
227
+ return parseInt(group || "0", 16);
228
+ });
229
+ if (parsed.some((group) => {
230
+ return Number.isNaN(group) || group < 0 || group > 0xffff;
231
+ })) {
232
+ return null;
233
+ }
234
+ return parsed;
235
+ }
236
+ /*
237
+ * True when an IPv6 literal points somewhere the server must never be made
238
+ * to reach. Ranges, not spellings: loopback, unspecified, link-local
239
+ * (fe80::/10), unique-local (fc00::/7) and multicast (ff00::/8), plus the
240
+ * three ways IPv6 can carry an IPv4 destination - IPv4-mapped
241
+ * (::ffff:0:0/96), IPv4-compatible (::/96) and the NAT64 well-known prefix
242
+ * (64:ff9b::/96) - which are handed to the IPv4 blocklist.
243
+ */
244
+ static isBlockedIpv6(address) {
245
+ const groups = SSRFProtection.expandIpv6(address);
246
+ if (!groups) {
247
+ // Not parseable as IPv6; the caller's other checks decide.
248
+ return false;
249
+ }
250
+ const isZeroThrough = (endExclusive) => {
251
+ return groups.slice(0, endExclusive).every((group) => {
252
+ return group === 0;
253
+ });
254
+ };
255
+ const embeddedIpv4 = () => {
256
+ const high = groups[6];
257
+ const low = groups[7];
258
+ return `${high >> 8}.${high & 0xff}.${low >> 8}.${low & 0xff}`;
259
+ };
260
+ // :: — unspecified. Connecting here lands on the local host.
261
+ if (isZeroThrough(8)) {
262
+ return true;
263
+ }
264
+ // ::1 — loopback.
265
+ if (isZeroThrough(7) && groups[7] === 1) {
266
+ return true;
267
+ }
268
+ // ::ffff:0:0/96 — IPv4-mapped.
269
+ if (isZeroThrough(5) && groups[5] === 0xffff) {
270
+ return SSRFProtection.isBlockedIpv4(embeddedIpv4());
271
+ }
272
+ // 64:ff9b::/96 — NAT64 well-known prefix.
273
+ if (groups[0] === 0x0064 &&
274
+ groups[1] === 0xff9b &&
275
+ groups[2] === 0 &&
276
+ groups[3] === 0 &&
277
+ groups[4] === 0 &&
278
+ groups[5] === 0) {
279
+ return SSRFProtection.isBlockedIpv4(embeddedIpv4());
280
+ }
281
+ // ::/96 — IPv4-compatible (deprecated, still routable by some stacks).
282
+ if (isZeroThrough(6)) {
283
+ return SSRFProtection.isBlockedIpv4(embeddedIpv4());
284
+ }
285
+ const first = groups[0];
286
+ // fe80::/10 — link-local.
287
+ if ((first & 0xffc0) === 0xfe80) {
288
+ return true;
289
+ }
290
+ // fc00::/7 — unique-local.
291
+ if ((first & 0xfe00) === 0xfc00) {
292
+ return true;
293
+ }
294
+ // fec0::/10 — site-local. Deprecated by RFC 3879, still routed on some networks.
295
+ if ((first & 0xffc0) === 0xfec0) {
296
+ return true;
297
+ }
298
+ // ff00::/8 — multicast.
299
+ if ((first & 0xff00) === 0xff00) {
300
+ return true;
301
+ }
302
+ return false;
303
+ }
304
+ static isBlockedIpv4(address) {
305
+ const octets = address.split(".").map((part) => {
306
+ return Number(part);
307
+ });
308
+ if (octets.length !== 4 ||
309
+ octets.some((octet) => {
310
+ return Number.isNaN(octet) || octet < 0 || octet > 255;
311
+ })) {
312
+ return true;
313
+ }
314
+ const [first, second] = octets;
315
+ if (first === 0) {
316
+ return true; // 0.0.0.0/8 — "this host".
317
+ }
318
+ if (first === 127) {
319
+ return true; // loopback
320
+ }
321
+ if (first === 10) {
322
+ return true; // RFC-1918
323
+ }
324
+ if (first === 172 && (second & 0xf0) === 16) {
325
+ return true; // RFC-1918 172.16/12
326
+ }
327
+ if (first === 192 && second === 168) {
328
+ return true; // RFC-1918
329
+ }
330
+ if (first === 169 && second === 254) {
331
+ return true; // link-local, incl. the 169.254.169.254 metadata endpoint
332
+ }
333
+ if (first === 100 && (second & 0xc0) === 64) {
334
+ return true; // CGNAT 100.64/10
335
+ }
336
+ if (first >= 224) {
337
+ return true; // multicast, reserved, and 255.255.255.255
338
+ }
339
+ return false;
340
+ }
341
+ static isBlockedHostnameLiteral(hostname) {
342
+ if (hostname === "localhost" ||
343
+ hostname === "localhost." ||
344
+ hostname.endsWith(".localhost") ||
345
+ hostname === "metadata.google.internal") {
346
+ return true;
347
+ }
348
+ const address = SSRFProtection.stripZoneId(hostname.replace(/^\[|\]$/g, ""));
349
+ if (net.isIPv4(address)) {
350
+ return SSRFProtection.isBlockedIpv4(address);
351
+ }
352
+ if (net.isIPv6(address)) {
353
+ return SSRFProtection.isBlockedIpv6(address);
354
+ }
355
+ return false;
356
+ }
357
+ }
358
+ //# sourceMappingURL=SSRFProtection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SSRFProtection.js","sourceRoot":"","sources":["../../../../Server/Utils/SSRFProtection.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import "./Process";
11
11
  import Response from "./Response";
12
12
  import SpanUtil from "./Telemetry/SpanUtil";
13
13
  import TelemetryContext from "./Telemetry/TelemetryContext";
14
+ import mountVendorAssets from "./VendorAssets";
14
15
  import { api } from "@opentelemetry/sdk-node";
15
16
  import StatusCode from "../../Types/API/StatusCode";
16
17
  import HTTPErrorResponse from "../../Types/API/HTTPErrorResponse";
@@ -78,6 +79,13 @@ const setDefaultHeaders = (req, res, next) => {
78
79
  */
79
80
  res.header("Access-Control-Max-Age", String(CORS_PREFLIGHT_MAX_AGE_SECONDS));
80
81
  res.header("Access-Control-Expose-Headers", CORS_EXPOSED_HEADERS.join(", "));
82
+ /*
83
+ * Content sniffing turns "the server declared a boring type" into "the
84
+ * browser guessed an interesting one", which is how an upload becomes a
85
+ * document. nginx sets this on the static app locations but not on /api or
86
+ * /file, so set it here for everything the app itself serves.
87
+ */
88
+ res.header("X-Content-Type-Options", "nosniff");
81
89
  next();
82
90
  };
83
91
  app.use(cors(CorsOptions));
@@ -202,6 +210,12 @@ const init = async (data) => {
202
210
  appName,
203
211
  statusOptions: data.statusOptions,
204
212
  });
213
+ /*
214
+ * Ahead of the frontend static mounts and every catch-all below them, so a
215
+ * service that answers "/*" with its index page cannot swallow a request for
216
+ * a stylesheet.
217
+ */
218
+ mountVendorAssets(app);
205
219
  if (isFrontendApp) {
206
220
  app.use(ExpressStatic("/usr/src/app/public"));
207
221
  app.get([`/${appName}/env.js`, "/env.js"], async (req, res, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AACxE,OAAO,WAAW,EAAE,EAClB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,OAAO,EAAE,EAEd,WAAW,EACX,UAAU,EAGV,aAAa,EACb,iBAAiB,EAIjB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,MAAM,EAAE,EACb,2BAA2B,GAE5B,MAAM,UAAU,CAAC;AAClB,OAAO,WAAW,CAAC;AACnB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,eAAe,MAAM,uCAAuC,CAAC;AAGpE,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,CAAC;AACb,+CAA+C;AAC/C,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,GAAG,GAAuB,OAAO,CAAC,aAAa,EAAE,CAAC;AAExD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAC9B;;;GAGG;AACH,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC7B,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;AAExB,MAAM,wBAAwB,GAAmB,WAAW,CAAC;IAC3D,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,CAAC,GAAmB,EAAE,IAAqB,EAAE,GAAW,EAAE,EAAE;QACjE,GAAwB,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,CAAC,KAAK,CACV,mDAAmD,EACnD,2BAA2B,CAAC,GAAuB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC,eAAe;AAEnB,MAAM,oBAAoB,GAAmB,iBAAiB,CAAC;IAC7D,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,CAAC,GAAmB,EAAE,IAAqB,EAAE,GAAW,EAAE,EAAE;QACjE,GAAwB,CAAC,qBAAqB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChE,GAAwB,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,mCAAmC;QACvF,MAAM,CAAC,KAAK,CACV,8BAA+B,GAAwB,CAAC,qBAAqB,EAAE,EAC/E,2BAA2B,CAAC,GAAuB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC,eAAe;AAEnB,MAAM,iBAAiB,GAAmB,CACxC,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACZ,EAAE;IACR,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,GAAG,CAAC,MAAM,CACR,8BAA8B,EAC9B,2NAA2N,CAC5N,CAAC;IAEF;;;;;OAKG;IACH,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE7E,GAAG,CAAC,MAAM,CAAC,+BAA+B,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3B,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC/B,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE3B,6BAA6B;AAC7B,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE9B;;;GAGG;AAEH,kDAAkD;AAClD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,IAAqB,EAAE,IAAkB,EAAE,EAAE;IACzE,MAAM,WAAW,GAAuB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACjE,sEAAsE;QACtE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IACnD,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,4BAA4B,GAAmB,UAAU,CAAC;IAC9D,IAAI,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;IACxD,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;IAC1E;;;;;;;;;OASG;IACH,IACE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EACxC,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAuB,mBAAmB,CACzD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAC5B,CAAC;IACF,MAAM,eAAe,GAAuB,mBAAmB,CAC7D,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAChC,CAAC;IAEF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAoB,EAAE,CAAC,GAAY,EAAE,OAAe,EAAE,EAAE;gBAClE,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CACV,GAAG,EACH,2BAA2B,CAAC,GAAuB,CAAC,CACrD,CAAC;oBACF,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAChD,CAAC;gBACJ,CAAC;gBAED,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;gBAEnB,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IACL,WAAW;QACX,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC7C,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAC/C,CAAC;QACD,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;;IACxE;;;;;;;OAOG;IACH,IACE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SACxC,MAAA,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,EACtE,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC;SAAM,CAAC;QACN,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,IAAoB,EAAE,IAAqB,EAAE,IAAkB,EAAE,EAAE;IAC1E,uGAAuG;IACvG,MAAM,IAAI,GAAyB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAmB,EAAE,IAAqB,EAAE,IAAkB,EAAE,EAAE;IACzE,MAAM,SAAS,GAAW,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,GAAwB,CAAC,SAAS,GAAG,SAAS,CAAC;IAEhD;;;;;OAKG;IACH,gBAAgB,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;QAC7D,QAAQ,CAAC,0BAA0B,CAAC;YAClC,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAiBH,MAAM,IAAI,GAAiB,KAAK,EAC9B,IAAwB,EACK,EAAE;IAC/B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C,SAAS,CAAC;QACR,OAAO;QACP,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE9C,GAAG,CAAC,GAAG,CACL,CAAC,IAAI,OAAO,SAAS,EAAE,SAAS,CAAC,EACjC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,uCAAuC;gBAEvC,MAAM,GAAG,GAAe,kBAAkB,EAAE,CAAC;gBAE7C,MAAM,MAAM,GAAW;;;;;;;;2BAQN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;GAC3C,CAAC;gBAEM,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,IAAI,OAAO,EAAE,EACb,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CACrD,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,IAAI,OAAO,gBAAgB,EAC3B,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;YAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACpE,CAAC,CACF,CAAC;QAEF;;;;WAIG;QACH,GAAG,CAAC,GAAG,CACL,CAAC,IAAI,OAAO,SAAS,EAAE,IAAI,OAAO,WAAW,CAAC,EAC9C,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,CAAC,IAAI,EAAE,IAAI,OAAO,IAAI,CAAC,EACvB,KAAK,EACH,IAAoB,EACpB,GAAoB,EACpB,IAAkB,EAClB,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,mBAAmB,GACvB,2BAA2B,CAAC,IAAwB,CAAC,CAAC;gBAExD,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;gBAE1D,IAAI,SAAS,GAAe,EAAE,CAAC;gBAE/B,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBACvC,MAAM,CAAC,KAAK,CACV,wCAAwC,EACxC,mBAAmB,CACpB,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,0BAA0B,GAC9B,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACtD,SAAS,mCACJ,SAAS,GACT,0BAA0B,CAC9B,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,KAAK,CACV,uCAAuC,EACvC,mBAAmB,CACpB,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAE7C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CACV,oEAAoE,EACpE,mBAAmB,CACpB,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,kBAC9D,sBAAsB,EAAE,gBAAgB,IAAI,KAAK,IAC9C,SAAS,EACZ,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAwB,KAAK,IAAmB,EAAE;IACtE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QAC1D,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QACzD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QAC5D,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;QACzD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,GAAG,CACL,CACE,GAA0C,EAC1C,IAAoB,EACpB,GAAoB,EACpB,IAAkB,EAClB,EAAE;;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,2BAA2B,CAAC,IAAwB,CAAC,CAAC,CAAC;QAEzE,sBAAsB;QACtB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,GAAyB,GAAG,CAAC,KAAK,CAAC,OAAO,CAClD,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CACrB,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,mBAAmB;gBACnB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAE1B,gCAAgC;gBAChC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK;oBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,SAAoB,EAAE,EAAE;gBACjC,IAAI,UAAU,CAAC,iBAAiB,CAAE,SAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,MAAM,CAAE,SAAuB,CAAC,IAAI,CAAC,CAAC;oBAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,SAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAW,UAAU,CAAC,iBAAiB,CAC1D,GAAG,CAAC,UAAU,CACf;gBACC,CAAC,CAAC,GAAG,CAAC,UAAU;gBAChB,CAAC,CAAC,GAAG,CAAC;YAER,MAAM,OAAO,GAAY,MAAA,GAAG,CAAC,QAAQ,mCAAI;gBACvC,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,cAAc;aACrC,CAAC;YAEF,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,MAAM,CAAE,GAAiB,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAG,GAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"StartServer.js","sourceRoot":"","sources":["../../../../Server/Utils/StartServer.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,38 @@
1
1
  import API from "../../Utils/API";
2
+ import HTTPErrorResponse from "../../Types/API/HTTPErrorResponse";
2
3
  import logger from "./Logger";
4
+ import SSRFProtection from "./SSRFProtection";
3
5
  export default class StatusPageSubscriberWebhookUtil {
4
6
  static async sendWebhookNotification(data) {
5
7
  logger.debug("Sending status page subscriber webhook notification.");
8
+ /*
9
+ * The subscriber webhook target is attacker-controllable: any unauthenticated
10
+ * visitor can register a subscriber with an arbitrary webhook URL on a public
11
+ * status page. Validate it against the SSRF blocklist before every send (not
12
+ * just at create time) so previously-stored URLs and DNS-rebinding cannot make
13
+ * the server reach internal services or the cloud metadata endpoint.
14
+ */
15
+ try {
16
+ await SSRFProtection.validateWebhookTargetIsSafe(data.webhookUrl);
17
+ }
18
+ catch (err) {
19
+ logger.warn("Refusing to send status page subscriber webhook: unsafe URL.");
20
+ logger.warn(err);
21
+ return new HTTPErrorResponse(400, {
22
+ message: err instanceof Error ? err.message : "Webhook URL is not allowed.",
23
+ }, {});
24
+ }
6
25
  const apiResult = await API.post({
7
26
  url: data.webhookUrl,
8
27
  data: data.payload,
9
28
  options: {
10
29
  retries: 3,
11
30
  exponentialBackoff: true,
31
+ /*
32
+ * Do not follow redirects: a validated public host could otherwise
33
+ * 3xx-redirect the server to an internal address, bypassing the check.
34
+ */
35
+ doNotFollowRedirects: true,
12
36
  },
13
37
  });
14
38
  logger.debug("Status page subscriber webhook response:");
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPageSubscriberWebhook.js","sourceRoot":"","sources":["../../../../Server/Utils/StatusPageSubscriberWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAKlC,OAAO,MAAM,MAAM,UAAU,CAAC;AAW9B,MAAM,CAAC,OAAO,OAAO,+BAA+B;IAC3C,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAG3C;QACC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAErE,MAAM,SAAS,GACb,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,OAAO,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,kBAAkB,EAAE,IAAI;aACzB;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"StatusPageSubscriberWebhook.js","sourceRoot":"","sources":["../../../../Server/Utils/StatusPageSubscriberWebhook.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAElC,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAGlE,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAW9C,MAAM,CAAC,OAAO,OAAO,+BAA+B;IAC3C,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAG3C;QACC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAErE;;;;;;WAMG;QACH,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,8DAA8D,CAC/D,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,iBAAiB,CAC1B,GAAG,EACH;gBACE,OAAO,EACL,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;aACrE,EACD,EAAE,CACH,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GACb,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,GAAG,EAAE,IAAI,CAAC,UAAU;YACpB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,OAAO,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,kBAAkB,EAAE,IAAI;gBACxB;;;mBAGG;gBACH,oBAAoB,EAAE,IAAI;aAC3B;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -18,22 +18,36 @@ function CaptureSpan(data) {
18
18
  }
19
19
  const name = (data === null || data === void 0 ? void 0 : data.name) || `${className}.${propertyKey}`;
20
20
  descriptor.value = function (...args) {
21
- if (DisableTelemetry) {
21
+ /*
22
+ * Skip the span machinery entirely when telemetry is disabled OR no
23
+ * span exporter is installed. Without an exporter the span is never
24
+ * shipped anywhere, but creating it still costs attribute flattening,
25
+ * a span allocation, and an AsyncLocalStorage context transition —
26
+ * decorated methods sit on ingest hot paths that run millions of
27
+ * times per minute, so this must be a plain method call there.
28
+ */
29
+ if (DisableTelemetry || !Telemetry.isSpanExportEnabled()) {
22
30
  return originalMethod.apply(this, args);
23
31
  }
24
- let functionArguments = {};
25
- if (data === null || data === void 0 ? void 0 : data.captureArguments) {
26
- functionArguments = args.reduce((acc, arg, index) => {
27
- acc[`arg${index}`] = arg;
28
- return acc;
29
- }, {});
32
+ /*
33
+ * Only pay for attribute flattening when there is something to
34
+ * flatten the overwhelmingly common bare @CaptureSpan() form has
35
+ * neither captured arguments nor static attributes.
36
+ */
37
+ let spanAttributes = undefined;
38
+ if ((data === null || data === void 0 ? void 0 : data.captureArguments) || (data === null || data === void 0 ? void 0 : data.attributes)) {
39
+ let functionArguments = {};
40
+ if (data === null || data === void 0 ? void 0 : data.captureArguments) {
41
+ functionArguments = args.reduce((acc, arg, index) => {
42
+ acc[`arg${index}`] = arg;
43
+ return acc;
44
+ }, {});
45
+ }
46
+ spanAttributes = JSONFunctions.flattenObject(Object.assign(Object.assign({}, functionArguments), data === null || data === void 0 ? void 0 : data.attributes));
30
47
  }
31
- const spanAttributes = JSONFunctions.flattenObject(Object.assign(Object.assign({}, functionArguments), data === null || data === void 0 ? void 0 : data.attributes));
32
48
  return Telemetry.startActiveSpan({
33
49
  name: name,
34
- options: {
35
- attributes: Object.assign({}, spanAttributes),
36
- },
50
+ options: spanAttributes ? { attributes: spanAttributes } : {},
37
51
  fn: (span) => {
38
52
  let result = null;
39
53
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CaptureSpan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/CaptureSpan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import OneUptimeDate from "../../../Types/Date";
2
+ let cachedStamp = null;
3
+ export function getIngestionStamp() {
4
+ const epochSecond = Math.floor(Date.now() / 1000);
5
+ if (!cachedStamp || cachedStamp.epochSecond !== epochSecond) {
6
+ const date = new Date(epochSecond * 1000);
7
+ cachedStamp = {
8
+ epochSecond: epochSecond,
9
+ date: date,
10
+ db: OneUptimeDate.toClickhouseDateTime(date),
11
+ retentionDbByDays: new Map(),
12
+ };
13
+ }
14
+ return cachedStamp;
15
+ }
16
+ /*
17
+ * ClickHouse DateTime string for `stamp.date + retentionDays`, memoized per
18
+ * (stamp second, retention window). Must be called with a stamp obtained
19
+ * from getIngestionStamp() in the same row-building pass, so the retention
20
+ * date stays consistent with the row's createdAt.
21
+ */
22
+ export function getRetentionDateDb(stamp, retentionDays) {
23
+ var _a, _b;
24
+ const cached = stamp;
25
+ let db = (_a = cached.retentionDbByDays) === null || _a === void 0 ? void 0 : _a.get(retentionDays);
26
+ if (db === undefined) {
27
+ db = OneUptimeDate.toClickhouseDateTime(OneUptimeDate.addRemoveDays(stamp.date, retentionDays));
28
+ (_b = cached.retentionDbByDays) === null || _b === void 0 ? void 0 : _b.set(retentionDays, db);
29
+ }
30
+ return db;
31
+ }
32
+ //# sourceMappingURL=IngestionTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IngestionTimestamp.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/IngestionTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAkChD,IAAI,WAAW,GAAuB,IAAI,CAAC;AAE3C,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAChD,WAAW,GAAG;YACZ,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5C,iBAAiB,EAAE,IAAI,GAAG,EAAkB;SAC7C,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAqB,EACrB,aAAqB;;IAErB,MAAM,MAAM,GAAgB,KAAoB,CAAC;IAEjD,IAAI,EAAE,GAAuB,MAAA,MAAM,CAAC,iBAAiB,0CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAE1E,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,EAAE,GAAG,aAAa,CAAC,oBAAoB,CACrC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CACvD,CAAC;QACF,MAAA,MAAM,CAAC,iBAAiB,0CAAE,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}