@oneuptime/common 12.0.6 → 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 (424) hide show
  1. package/Models/DatabaseModels/AIInsight.ts +1 -1
  2. package/Models/DatabaseModels/DatabaseBaseModel/FileModel.ts +2 -3
  3. package/Models/DatabaseModels/DeletedProject.ts +595 -0
  4. package/Models/DatabaseModels/Index.ts +2 -0
  5. package/Models/DatabaseModels/Monitor.ts +111 -0
  6. package/Models/DatabaseModels/Project.ts +3 -3
  7. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -1
  8. package/Server/API/FileAPI.ts +15 -2
  9. package/Server/API/MicrosoftTeamsAPI.ts +6 -1
  10. package/Server/API/ProjectAPI.ts +214 -0
  11. package/Server/API/StatusPageAPI.ts +39 -6
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.ts +50 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.ts +67 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.ts +39 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  16. package/Server/Services/AIAgentService.ts +20 -0
  17. package/Server/Services/DashboardDomainService.ts +73 -28
  18. package/Server/Services/DatabaseService.ts +1 -0
  19. package/Server/Services/DeletedProjectService.ts +138 -0
  20. package/Server/Services/FileService.ts +61 -0
  21. package/Server/Services/IncidentEpisodePublicNoteService.ts +18 -0
  22. package/Server/Services/IncidentPublicNoteService.ts +18 -0
  23. package/Server/Services/Index.ts +2 -0
  24. package/Server/Services/MonitorService.ts +311 -0
  25. package/Server/Services/ProbeService.ts +20 -0
  26. package/Server/Services/ProjectService.ts +297 -1
  27. package/Server/Services/PushNotificationService.ts +71 -0
  28. package/Server/Services/ScheduledMaintenancePublicNoteService.ts +18 -0
  29. package/Server/Services/StatusPageAnnouncementService.ts +53 -0
  30. package/Server/Services/StatusPageDomainService.ts +73 -28
  31. package/Server/Services/TeamMemberService.ts +117 -12
  32. package/Server/Services/TelemetryIngestionKeyService.ts +1 -0
  33. package/Server/Services/UserWebhookService.ts +34 -109
  34. package/Server/Services/WorkspaceNotificationRuleService.ts +69 -0
  35. package/Server/Services/WorkspaceProjectAuthTokenService.ts +37 -1
  36. package/Server/Types/Database/DeleteById.ts +2 -0
  37. package/Server/Types/Database/DeleteOneBy.ts +6 -0
  38. package/Server/Types/Domain.ts +41 -0
  39. package/Server/Types/Workflow/Components/API/Delete.ts +2 -1
  40. package/Server/Types/Workflow/Components/API/Get.ts +2 -1
  41. package/Server/Types/Workflow/Components/API/Patch.ts +2 -1
  42. package/Server/Types/Workflow/Components/API/Post.ts +2 -1
  43. package/Server/Types/Workflow/Components/API/Put.ts +2 -1
  44. package/Server/Types/Workflow/Components/API/Utils.ts +41 -2
  45. package/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.ts +25 -19
  46. package/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.ts +6 -5
  47. package/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.ts +32 -14
  48. package/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.ts +31 -13
  49. package/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.ts +29 -20
  50. package/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.ts +28 -21
  51. package/Server/Types/Workflow/Components/BaseModel/LogComponentError.ts +89 -0
  52. package/Server/Types/Workflow/Components/BaseModel/ModelArguments.ts +208 -0
  53. package/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.ts +11 -0
  54. package/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.ts +41 -18
  55. package/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.ts +45 -19
  56. package/Server/Types/Workflow/Components/Discord/SendMessageToChannel.ts +16 -9
  57. package/Server/Types/Workflow/Components/IncomingWebhookUtils.ts +66 -0
  58. package/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.ts +15 -9
  59. package/Server/Types/Workflow/Components/Slack/SendMessageToChannel.ts +17 -0
  60. package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
  61. package/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.ts +171 -0
  62. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +3 -3
  63. package/Server/Utils/AI/SRE/Insights/FixRouting.ts +3 -2
  64. package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +1 -1
  65. package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +6 -6
  66. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +43 -5
  67. package/Server/Utils/DataSource/EgressGuard.ts +176 -16
  68. package/Server/Utils/DataSource/HttpFetch.ts +6 -45
  69. package/Server/Utils/Execute.ts +8 -0
  70. package/Server/Utils/InlineImageAccessTokenSync.ts +23 -0
  71. package/Server/Utils/LLM/LLMService.ts +57 -12
  72. package/Server/Utils/Monitor/MonitorAlert.ts +40 -0
  73. package/Server/Utils/Monitor/MonitorDependencySuppression.ts +192 -0
  74. package/Server/Utils/Monitor/MonitorIncident.ts +40 -0
  75. package/Server/Utils/Monitor/MonitorResource.ts +36 -0
  76. package/Server/Utils/Response.ts +142 -6
  77. package/Server/Utils/SSRFProtection.ts +273 -60
  78. package/Server/Utils/StartServer.ts +8 -0
  79. package/Server/Utils/VM/VMRunner.ts +88 -1
  80. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +555 -49
  81. package/Server/Utils/Workspace/Slack/Slack.ts +25 -2
  82. package/Server/Utils/Workspace/WorkspaceBase.ts +6 -0
  83. package/Tests/App/Dashboard/DangerZone.test.tsx +334 -0
  84. package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +539 -0
  85. package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +678 -0
  86. package/Tests/App/Dashboard/DashboardVariablesDiscard.test.tsx +706 -0
  87. package/Tests/App/Dashboard/DashboardVariablesModal.test.tsx +508 -0
  88. package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +470 -0
  89. package/Tests/App/StatusPage/StatusPageDetailPagesNotFound.test.tsx +308 -0
  90. package/Tests/Models/DatabaseModels/DeletedProjectModel.test.ts +251 -0
  91. package/Tests/Models/DatabaseModels/SavedViewJSONColumnTuples.test.ts +115 -0
  92. package/Tests/Server/API/FileAPIAccessControl.test.ts +316 -0
  93. package/Tests/Server/API/ProjectAPI.test.ts +299 -1
  94. package/Tests/Server/API/ProjectAPIAdjustBalance.test.ts +459 -0
  95. package/Tests/Server/API/ProjectAPIAdjustBalanceBillingDisabled.test.ts +177 -0
  96. package/Tests/Server/Services/DatabaseServiceDeletionReason.test.ts +123 -0
  97. package/Tests/Server/Services/DeletedProjectService.test.ts +415 -0
  98. package/Tests/Server/Services/DeletedProjectServiceSelfHosted.test.ts +70 -0
  99. package/Tests/Server/Services/DomainSubdomainHooks.test.ts +94 -0
  100. package/Tests/Server/Services/FileIsPublicBooleanMigration.test.ts +244 -0
  101. package/Tests/Server/Services/FileServiceMimeType.test.ts +89 -0
  102. package/Tests/Server/Services/MonitorServiceDependencyValidation.test.ts +702 -0
  103. package/Tests/Server/Services/ProjectServiceAdjustBalance.test.ts +615 -0
  104. package/Tests/Server/Services/ProjectServiceDeleteAudit.test.ts +406 -0
  105. package/Tests/Server/Services/PublishTimeImageVisibility.test.ts +450 -0
  106. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +669 -0
  107. package/Tests/Server/Services/UserWebhookSSRF.test.ts +174 -0
  108. package/Tests/Server/Services/WebPushEndpointAllowlist.test.ts +133 -0
  109. package/Tests/Server/Services/WorkspaceProjectAuthTokenRepoint.test.ts +618 -0
  110. package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +26 -1
  111. package/Tests/Server/Types/Workflow/Components/ApiComponentSsrf.test.ts +215 -0
  112. package/Tests/Server/Types/Workflow/Components/BaseModelDatabaseComponents.test.ts +742 -0
  113. package/Tests/Server/Types/Workflow/Components/ChatWebhookComponents.test.ts +256 -0
  114. package/Tests/Server/Types/Workflow/Components/ModelArguments.test.ts +371 -0
  115. package/Tests/Server/Utils/AI/CodeAgentCommandGuard.test.ts +204 -0
  116. package/Tests/Server/Utils/AI/CodeAgentWriteLimits.test.ts +213 -0
  117. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +52 -5
  118. package/Tests/Server/Utils/AI/LLMServiceBaseUrl.test.ts +3 -0
  119. package/Tests/Server/Utils/AI/LLMServiceEgressGuard.test.ts +315 -0
  120. package/Tests/Server/Utils/AI/LLMServiceModelCompatibility.test.ts +3 -0
  121. package/Tests/Server/Utils/AI/LLMServiceRequestPolicy.test.ts +17 -5
  122. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +14 -1
  123. package/Tests/Server/Utils/AI/ObservabilityChatPrompt.test.ts +35 -0
  124. package/Tests/Server/Utils/AI/StubLLMEgressGuard.ts +25 -0
  125. package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +62 -7
  126. package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +69 -0
  127. package/Tests/Server/Utils/DataSource/EgressGuardPinning.test.ts +330 -0
  128. package/Tests/Server/Utils/GitHubCreatePullRequestWithToken.test.ts +393 -0
  129. package/Tests/Server/Utils/InlineImageAccessTokenSync.test.ts +202 -0
  130. package/Tests/Server/Utils/Monitor/MonitorDependencySuppression.test.ts +811 -0
  131. package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +604 -0
  132. package/Tests/Server/Utils/ResponseSendFileResponse.test.ts +192 -0
  133. package/Tests/Server/Utils/SSRFProtectionBypasses.test.ts +406 -0
  134. package/Tests/Server/Utils/VM/VMRunnerSsrf.test.ts +194 -0
  135. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +1169 -0
  136. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelsList.test.ts +2 -0
  137. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +1605 -0
  138. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTenantResolution.test.ts +1218 -0
  139. package/Tests/Types/AI/AIChatMessageStatus.test.ts +79 -0
  140. package/Tests/Types/AI/AIInsightStatus.test.ts +40 -0
  141. package/Tests/Types/API/HostnameAuthorityParsing.test.ts +157 -0
  142. package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +27 -0
  143. package/Tests/Types/DataSource/DataSourceLimits.test.ts +71 -0
  144. package/Tests/Types/DataSource/DataSourceType.test.ts +181 -0
  145. package/Tests/Types/DomainSubdomainValidation.test.ts +90 -0
  146. package/Tests/Types/JSONFunctions.test.ts +252 -1
  147. package/Tests/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.test.ts +61 -0
  148. package/Tests/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.test.ts +62 -0
  149. package/Tests/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.test.ts +68 -0
  150. package/Tests/Types/Monitor/SnmpMonitor/SnmpVersion.test.ts +51 -0
  151. package/Tests/UI/Components/404.test.tsx +1 -1
  152. package/Tests/UI/Components/Alert.test.tsx +1 -1
  153. package/Tests/UI/Components/Badge.test.tsx +1 -1
  154. package/Tests/UI/Components/BasicForm.test.tsx +39 -10
  155. package/Tests/UI/Components/Button.test.tsx +1 -1
  156. package/Tests/UI/Components/Card.test.tsx +1 -1
  157. package/Tests/UI/Components/Charts/AxisTickColor.test.tsx +1 -1
  158. package/Tests/UI/Components/ColorViewer.test.tsx +1 -1
  159. package/Tests/UI/Components/ComponentsModal.test.tsx +7 -1
  160. package/Tests/UI/Components/DictionaryOfStrings.test.tsx +1 -1
  161. package/Tests/UI/Components/Dropdown.test.tsx +1 -1
  162. package/Tests/UI/Components/FilePicker.test.tsx +1 -1
  163. package/Tests/UI/Components/HiddenText.test.tsx +1 -1
  164. package/Tests/UI/Components/Input.test.tsx +1 -1
  165. package/Tests/UI/Components/Loader.test.tsx +1 -1
  166. package/Tests/UI/Components/LogTimeRangePicker.test.tsx +1 -1
  167. package/Tests/UI/Components/MasterPage.test.tsx +1 -1
  168. package/Tests/UI/Components/ModalPortalDismissal.test.tsx +489 -0
  169. package/Tests/UI/Components/ModelDelete.test.tsx +214 -0
  170. package/Tests/UI/Components/ModelTable/BaseModelTableBulkSelectAll.test.tsx +1 -1
  171. package/Tests/UI/Components/ModelTable/BaseModelTableColumnCustomization.test.tsx +1 -1
  172. package/Tests/UI/Components/ModelTable/BaseModelTableSearchLabels.test.tsx +1 -1
  173. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +1 -1
  174. package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +1 -1
  175. package/Tests/UI/Components/NavBar.test.tsx +1 -1
  176. package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +1 -1
  177. package/Tests/UI/Components/Pagination.test.tsx +1 -1
  178. package/Tests/UI/Components/Pill.test.tsx +1 -1
  179. package/Tests/UI/Components/Probe.test.tsx +1 -1
  180. package/Tests/UI/Components/ProgressBar.test.tsx +1 -1
  181. package/Tests/UI/Components/RadioButtons.test.tsx +1 -1
  182. package/Tests/UI/Components/SideMenuItem.test.tsx +1 -1
  183. package/Tests/UI/Components/SideOver.test.tsx +500 -6
  184. package/Tests/UI/Components/Tabs.test.tsx +1 -1
  185. package/Tests/UI/Components/TelemetrySearchBar.test.tsx +1 -1
  186. package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +1 -1
  187. package/Tests/UI/Components/TextArea.test.tsx +1 -1
  188. package/Tests/UI/Components/Toast.test.tsx +1 -1
  189. package/Tests/UI/Components/Toggle.test.tsx +1 -1
  190. package/Tests/UI/Components/TopSection.test.tsx +1 -1
  191. package/Tests/UI/Components/UseLiveLogsRefresh.test.tsx +1 -1
  192. package/Tests/UI/Rum/ReplayScrubber.test.tsx +1 -1
  193. package/Tests/UI/Rum/ReplayStage.test.tsx +1 -1
  194. package/Tests/UI/Telemetry/TelemetrySnapshotWindowAlert.test.tsx +1 -1
  195. package/Tests/UI/Utils/LocalStorageArrayRoundTrip.test.ts +72 -0
  196. package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +19 -2
  197. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +44 -0
  198. package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +288 -5
  199. package/Tests/Utils/Dashboard/VariableUrlState.test.ts +42 -0
  200. package/Tests/Utils/DataSource/DataSourceQueryText.test.ts +27 -0
  201. package/Tests/Utils/LegacySerializedArray.test.ts +139 -0
  202. package/Tests/Utils/Monitor/MonitorDependencyRule.test.ts +190 -0
  203. package/Tests/Utils/Realtime.test.ts +78 -0
  204. package/Tests/Utils/Telemetry/SavedViewFilters.test.ts +246 -0
  205. package/Tests/__mocks__/i18next-browser-languagedetector.js +21 -0
  206. package/Types/AI/FixPullRequestCiStatus.ts +1 -1
  207. package/Types/AI/FixVerificationStatus.ts +2 -2
  208. package/Types/API/Hostname.ts +92 -4
  209. package/Types/API/URL.ts +43 -25
  210. package/Types/Billing/BalanceAdjustmentType.ts +14 -0
  211. package/Types/Billing/ProjectBalanceType.ts +13 -0
  212. package/Types/Domain.ts +26 -0
  213. package/Types/File/MimeType.ts +11 -0
  214. package/Types/JSONFunctions.ts +15 -0
  215. package/Types/Telemetry/TelemetrySavedViewState.ts +9 -1
  216. package/Types/Workflow/Components/BaseModel.ts +92 -28
  217. package/Typings/Index.d.ts +12 -0
  218. package/UI/Components/GanttChart/ChartContainer.tsx +4 -3
  219. package/UI/Components/Modal/ConfirmModal.tsx +10 -5
  220. package/UI/Components/Modal/Modal.tsx +27 -47
  221. package/UI/Components/ModelDelete/ModelDelete.tsx +23 -6
  222. package/UI/Components/SideOver/SideOver.tsx +195 -68
  223. package/UI/Utils/PageScrollLock.ts +66 -0
  224. package/Utils/Dashboard/HtmlWidgetDocument.ts +4 -2
  225. package/Utils/Dashboard/VariableInterpolation.ts +19 -1
  226. package/Utils/LegacySerializedArray.ts +60 -0
  227. package/Utils/Monitor/MonitorDependencyRule.ts +88 -0
  228. package/Utils/Telemetry/SavedViewFilters.ts +88 -0
  229. package/build/dist/Models/DatabaseModels/AIInsight.js +1 -1
  230. package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -1
  231. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js +2 -3
  232. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js.map +1 -1
  233. package/build/dist/Models/DatabaseModels/DeletedProject.js +640 -0
  234. package/build/dist/Models/DatabaseModels/DeletedProject.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  236. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  237. package/build/dist/Models/DatabaseModels/Monitor.js +106 -0
  238. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  239. package/build/dist/Models/DatabaseModels/Project.js +3 -3
  240. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  241. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  242. package/build/dist/Server/API/FileAPI.js +14 -2
  243. package/build/dist/Server/API/FileAPI.js.map +1 -1
  244. package/build/dist/Server/API/MicrosoftTeamsAPI.js +6 -1
  245. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  246. package/build/dist/Server/API/ProjectAPI.js +157 -4
  247. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  248. package/build/dist/Server/API/StatusPageAPI.js +27 -3
  249. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  250. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js +34 -0
  251. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786446545142-MigrationName.js.map +1 -0
  252. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js +30 -0
  253. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786449497966-AddMonitorDependency.js.map +1 -0
  254. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js +20 -0
  255. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786461136170-AddDeletedProjectTable.js.map +1 -0
  256. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  257. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  258. package/build/dist/Server/Services/AIAgentService.js +17 -0
  259. package/build/dist/Server/Services/AIAgentService.js.map +1 -1
  260. package/build/dist/Server/Services/DashboardDomainService.js +55 -18
  261. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
  262. package/build/dist/Server/Services/DatabaseService.js +1 -0
  263. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  264. package/build/dist/Server/Services/DeletedProjectService.js +124 -0
  265. package/build/dist/Server/Services/DeletedProjectService.js.map +1 -0
  266. package/build/dist/Server/Services/FileService.js +52 -0
  267. package/build/dist/Server/Services/FileService.js.map +1 -1
  268. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js +10 -1
  269. package/build/dist/Server/Services/IncidentEpisodePublicNoteService.js.map +1 -1
  270. package/build/dist/Server/Services/IncidentPublicNoteService.js +10 -1
  271. package/build/dist/Server/Services/IncidentPublicNoteService.js.map +1 -1
  272. package/build/dist/Server/Services/Index.js +2 -0
  273. package/build/dist/Server/Services/Index.js.map +1 -1
  274. package/build/dist/Server/Services/MonitorService.js +232 -0
  275. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  276. package/build/dist/Server/Services/ProbeService.js +17 -0
  277. package/build/dist/Server/Services/ProbeService.js.map +1 -1
  278. package/build/dist/Server/Services/ProjectService.js +228 -6
  279. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  280. package/build/dist/Server/Services/PushNotificationService.js +56 -0
  281. package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
  282. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js +10 -1
  283. package/build/dist/Server/Services/ScheduledMaintenancePublicNoteService.js.map +1 -1
  284. package/build/dist/Server/Services/StatusPageAnnouncementService.js +54 -0
  285. package/build/dist/Server/Services/StatusPageAnnouncementService.js.map +1 -1
  286. package/build/dist/Server/Services/StatusPageDomainService.js +55 -18
  287. package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
  288. package/build/dist/Server/Services/TeamMemberService.js +97 -6
  289. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  290. package/build/dist/Server/Services/TelemetryIngestionKeyService.js +1 -0
  291. package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
  292. package/build/dist/Server/Services/UserWebhookService.js +31 -87
  293. package/build/dist/Server/Services/UserWebhookService.js.map +1 -1
  294. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +65 -0
  295. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  296. package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js +23 -0
  297. package/build/dist/Server/Services/WorkspaceProjectAuthTokenService.js.map +1 -1
  298. package/build/dist/Server/Types/Domain.js +37 -0
  299. package/build/dist/Server/Types/Domain.js.map +1 -1
  300. package/build/dist/Server/Types/Workflow/Components/API/Delete.js +2 -1
  301. package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
  302. package/build/dist/Server/Types/Workflow/Components/API/Get.js +2 -1
  303. package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
  304. package/build/dist/Server/Types/Workflow/Components/API/Patch.js +2 -1
  305. package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
  306. package/build/dist/Server/Types/Workflow/Components/API/Post.js +2 -1
  307. package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
  308. package/build/dist/Server/Types/Workflow/Components/API/Put.js +2 -1
  309. package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
  310. package/build/dist/Server/Types/Workflow/Components/API/Utils.js +35 -2
  311. package/build/dist/Server/Types/Workflow/Components/API/Utils.js.map +1 -1
  312. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js +15 -11
  313. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateManyBaseModel.js.map +1 -1
  314. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js +2 -3
  315. package/build/dist/Server/Types/Workflow/Components/BaseModel/CreateOneBaseModel.js.map +1 -1
  316. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js +21 -10
  317. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteManyBaseModel.js.map +1 -1
  318. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js +21 -10
  319. package/build/dist/Server/Types/Workflow/Components/BaseModel/DeleteOneBaseModel.js.map +1 -1
  320. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js +18 -13
  321. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindManyBaseModel.js.map +1 -1
  322. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js +18 -13
  323. package/build/dist/Server/Types/Workflow/Components/BaseModel/FindOneBaseModel.js.map +1 -1
  324. package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js +43 -0
  325. package/build/dist/Server/Types/Workflow/Components/BaseModel/LogComponentError.js.map +1 -0
  326. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js +116 -0
  327. package/build/dist/Server/Types/Workflow/Components/BaseModel/ModelArguments.js.map +1 -0
  328. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js +7 -0
  329. package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js.map +1 -1
  330. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js +24 -13
  331. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateManyBaseModel.js.map +1 -1
  332. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js +27 -13
  333. package/build/dist/Server/Types/Workflow/Components/BaseModel/UpdateOneBaseModel.js.map +1 -1
  334. package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js +14 -6
  335. package/build/dist/Server/Types/Workflow/Components/Discord/SendMessageToChannel.js.map +1 -1
  336. package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js +42 -0
  337. package/build/dist/Server/Types/Workflow/Components/IncomingWebhookUtils.js.map +1 -0
  338. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js +15 -6
  339. package/build/dist/Server/Types/Workflow/Components/MicrosoftTeams/SendMessageToChannel.js.map +1 -1
  340. package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js +10 -2
  341. package/build/dist/Server/Types/Workflow/Components/Slack/SendMessageToChannel.js.map +1 -1
  342. package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
  343. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js +141 -0
  344. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js.map +1 -1
  345. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js.map +1 -1
  346. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +1 -1
  347. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +6 -6
  348. package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js.map +1 -1
  349. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +39 -5
  350. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  351. package/build/dist/Server/Utils/DataSource/EgressGuard.js +94 -10
  352. package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
  353. package/build/dist/Server/Utils/DataSource/HttpFetch.js +1 -19
  354. package/build/dist/Server/Utils/DataSource/HttpFetch.js.map +1 -1
  355. package/build/dist/Server/Utils/Execute.js +2 -2
  356. package/build/dist/Server/Utils/Execute.js.map +1 -1
  357. package/build/dist/Server/Utils/InlineImageAccessTokenSync.js +13 -0
  358. package/build/dist/Server/Utils/InlineImageAccessTokenSync.js.map +1 -1
  359. package/build/dist/Server/Utils/LLM/LLMService.js +43 -12
  360. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  361. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +44 -24
  362. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  363. package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js +158 -0
  364. package/build/dist/Server/Utils/Monitor/MonitorDependencySuppression.js.map +1 -0
  365. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +50 -30
  366. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  367. package/build/dist/Server/Utils/Monitor/MonitorResource.js +32 -0
  368. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  369. package/build/dist/Server/Utils/Response.js +112 -5
  370. package/build/dist/Server/Utils/Response.js.map +1 -1
  371. package/build/dist/Server/Utils/SSRFProtection.js +219 -53
  372. package/build/dist/Server/Utils/SSRFProtection.js.map +1 -1
  373. package/build/dist/Server/Utils/StartServer.js +7 -0
  374. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  375. package/build/dist/Server/Utils/VM/VMRunner.js +73 -1
  376. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  377. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +445 -43
  378. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  379. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +18 -1
  380. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  381. package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
  382. package/build/dist/Types/AI/FixPullRequestCiStatus.js +1 -1
  383. package/build/dist/Types/AI/FixVerificationStatus.js +2 -2
  384. package/build/dist/Types/API/Hostname.js +73 -4
  385. package/build/dist/Types/API/Hostname.js.map +1 -1
  386. package/build/dist/Types/API/URL.js +42 -24
  387. package/build/dist/Types/API/URL.js.map +1 -1
  388. package/build/dist/Types/Billing/BalanceAdjustmentType.js +15 -0
  389. package/build/dist/Types/Billing/BalanceAdjustmentType.js.map +1 -0
  390. package/build/dist/Types/Billing/ProjectBalanceType.js +14 -0
  391. package/build/dist/Types/Billing/ProjectBalanceType.js.map +1 -0
  392. package/build/dist/Types/Domain.js +22 -0
  393. package/build/dist/Types/Domain.js.map +1 -1
  394. package/build/dist/Types/File/MimeType.js +11 -0
  395. package/build/dist/Types/File/MimeType.js.map +1 -1
  396. package/build/dist/Types/JSONFunctions.js +14 -0
  397. package/build/dist/Types/JSONFunctions.js.map +1 -1
  398. package/build/dist/Types/Workflow/Components/BaseModel.js +83 -28
  399. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  400. package/build/dist/UI/Components/GanttChart/ChartContainer.js +4 -3
  401. package/build/dist/UI/Components/GanttChart/ChartContainer.js.map +1 -1
  402. package/build/dist/UI/Components/Modal/ConfirmModal.js +3 -1
  403. package/build/dist/UI/Components/Modal/ConfirmModal.js.map +1 -1
  404. package/build/dist/UI/Components/Modal/Modal.js +24 -34
  405. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  406. package/build/dist/UI/Components/ModelDelete/ModelDelete.js +11 -6
  407. package/build/dist/UI/Components/ModelDelete/ModelDelete.js.map +1 -1
  408. package/build/dist/UI/Components/SideOver/SideOver.js +105 -30
  409. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  410. package/build/dist/UI/Utils/PageScrollLock.js +52 -0
  411. package/build/dist/UI/Utils/PageScrollLock.js.map +1 -0
  412. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +4 -2
  413. package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -1
  414. package/build/dist/Utils/Dashboard/VariableInterpolation.js +19 -1
  415. package/build/dist/Utils/Dashboard/VariableInterpolation.js.map +1 -1
  416. package/build/dist/Utils/LegacySerializedArray.js +51 -0
  417. package/build/dist/Utils/LegacySerializedArray.js.map +1 -0
  418. package/build/dist/Utils/Monitor/MonitorDependencyRule.js +47 -0
  419. package/build/dist/Utils/Monitor/MonitorDependencyRule.js.map +1 -0
  420. package/build/dist/Utils/Telemetry/SavedViewFilters.js +52 -0
  421. package/build/dist/Utils/Telemetry/SavedViewFilters.js.map +1 -0
  422. package/jest.config.json +3 -0
  423. package/package.json +1 -1
  424. package/tsconfig.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../../UI/Components/Modal/Modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../../UI/Components/Modal/Modal.tsx"],"names":[],"mappings":"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"}
@@ -16,11 +16,16 @@ const ModelDelete = (props) => {
16
16
  var _a;
17
17
  setIsLoading(true);
18
18
  try {
19
- const modelAPI = props.modelAPI || ModelAPI;
20
- await modelAPI.deleteItem({
21
- modelType: props.modelType,
22
- id: props.modelId,
23
- });
19
+ if (props.onDelete) {
20
+ await props.onDelete();
21
+ }
22
+ else {
23
+ const modelAPI = props.modelAPI || ModelAPI;
24
+ await modelAPI.deleteItem({
25
+ modelType: props.modelType,
26
+ id: props.modelId,
27
+ });
28
+ }
24
29
  (_a = props.onDeleteSuccess) === null || _a === void 0 ? void 0 : _a.call(props);
25
30
  }
26
31
  catch (err) {
@@ -46,7 +51,7 @@ const ModelDelete = (props) => {
46
51
  await deleteItem();
47
52
  }, onClose: () => {
48
53
  setShowModal(false);
49
- }, submitButtonText: `Delete ${model.singularName}`, submitButtonType: ButtonStyleType.DANGER })) : (React.createElement(React.Fragment, null)),
54
+ }, submitButtonText: `Delete ${model.singularName}`, submitButtonType: ButtonStyleType.DANGER }, props.confirmationContent)) : (React.createElement(React.Fragment, null)),
50
55
  showErrorModal ? (React.createElement(ConfirmModal, { description: error, title: `Delete Error`, onSubmit: () => {
51
56
  setShowErrorModal(false);
52
57
  setError("");
@@ -1 +1 @@
1
- {"version":3,"file":"ModelDelete.js","sourceRoot":"","sources":["../../../../../UI/Components/ModelDelete/ModelDelete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelDelete.js","sourceRoot":"","sources":["../../../../../UI/Components/ModelDelete/ModelDelete.tsx"],"names":[],"mappings":"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"}
@@ -1,13 +1,37 @@
1
1
  import Button, { ButtonStyleType } from "../Button/Button";
2
2
  import Icon from "../Icon/Icon";
3
3
  import IconProp from "../../../Types/Icon/IconProp";
4
- import React from "react";
4
+ import { lockPageScroll, unlockPageScroll } from "../../Utils/PageScrollLock";
5
+ import React, { useEffect, useId, useLayoutEffect, useState, } from "react";
6
+ import { createPortal } from "react-dom";
5
7
  export var SideOverSize;
6
8
  (function (SideOverSize) {
7
9
  SideOverSize["Small"] = "Small";
8
10
  SideOverSize["Medium"] = "Medium";
9
11
  SideOverSize["Large"] = "Large";
10
12
  })(SideOverSize || (SideOverSize = {}));
13
+ /*
14
+ * Where the panel is appended in the DOM, not where it appears on screen — it
15
+ * is `position: fixed` either way.
16
+ *
17
+ * Two reasons it cannot simply stay where the caller rendered it. First, any
18
+ * ancestor with a z-index traps the panel in that ancestor's stacking context,
19
+ * which is how a map's zoom toolbar (z-20) ended up painting on top of an open
20
+ * device panel. Second, and unfixable by z-index at all: only the fullscreen
21
+ * element's own subtree reaches the browser's top layer, so a panel appended to
22
+ * <body> while a chart or map is fullscreen is not painted anywhere. Following
23
+ * document.fullscreenElement keeps the panel visible in both modes.
24
+ */
25
+ const getPortalTarget = () => {
26
+ if (typeof document === "undefined") {
27
+ return null;
28
+ }
29
+ const fullscreenElement = document.fullscreenElement;
30
+ if (fullscreenElement instanceof HTMLElement) {
31
+ return fullscreenElement;
32
+ }
33
+ return document.body;
34
+ };
11
35
  const SideOver = (props) => {
12
36
  let widthClass = "max-w-2xl";
13
37
  if (props.size === SideOverSize.Small) {
@@ -19,35 +43,86 @@ const SideOver = (props) => {
19
43
  else if (props.size === SideOverSize.Large) {
20
44
  widthClass = "max-w-7xl";
21
45
  }
22
- return (React.createElement("div", { className: "relative z-10", "aria-labelledby": "slide-over-title", role: "dialog", "aria-modal": "true" },
23
- React.createElement("div", { className: "inset-0" }),
24
- React.createElement("div", { className: "inset-0 overflow-hidden" },
25
- React.createElement("div", { className: "inset-0 overflow-hidden" },
26
- React.createElement("div", { className: "pointer-events-none fixed inset-y-0 right-0 flex max-w-full" },
27
- React.createElement("div", { className: `pointer-events-auto w-screen ${widthClass}` },
28
- React.createElement("div", { className: "flex h-full flex-col bg-white shadow-xl" },
29
- React.createElement("div", { className: "flex-shrink-0 flex flex-col bg-gray-50 px-4 py-6 sm:px-6" },
30
- React.createElement("div", { className: "flex items-start justify-between space-x-3" },
31
- React.createElement("div", { className: "space-y-1" },
32
- React.createElement("h2", { className: "text-lg font-medium text-gray-900", id: "slide-over-title" }, props.title),
33
- React.createElement("p", { className: "text-sm text-gray-500" }, props.description)),
34
- React.createElement("div", { className: "flex h-7 items-center" },
35
- React.createElement("button", { onClick: () => {
36
- props.onClose();
37
- }, type: "button", className: "text-gray-400 hover:text-gray-500" },
38
- React.createElement("span", { className: "sr-only" }, "Close panel"),
39
- React.createElement(Icon, { className: "h-6 w-6", icon: IconProp.Close }))))),
40
- React.createElement("div", { className: "h-full overflow-y-scroll" },
41
- React.createElement("div", { className: "space-y-6 py-6 sm:space-y-0 sm:divide-y sm:divide-gray-200 sm:py-0 p-5" }, props.children)),
42
- React.createElement("div", { className: "flex-shrink-0 border-t border-gray-200 px-4 py-5 sm:px-6 flex justify-between" },
43
- React.createElement("div", { className: "flex justify-start space-x-3" }, props.leftFooterElement),
44
- React.createElement("div", { className: "flex justify-end space-x-3" },
45
- React.createElement(Button, { title: "Close", onClick: () => {
46
- props.onClose();
47
- }, buttonStyle: ButtonStyleType.NORMAL }),
48
- props.onSubmit && (React.createElement(Button, { title: props.submitButtonText || "Save", disabled: props.submitButtonDisabled, onClick: () => {
49
- props.onSubmit();
50
- }, buttonStyle: ButtonStyleType.PRIMARY })))))))))));
46
+ const titleId = useId();
47
+ const descriptionId = useId();
48
+ const [portalTarget, setPortalTarget] = useState(getPortalTarget);
49
+ useEffect(() => {
50
+ const syncPortalTarget = () => {
51
+ setPortalTarget(getPortalTarget());
52
+ };
53
+ /*
54
+ * Re-read once on mount as well: the first render happens before the
55
+ * browser has necessarily settled document.fullscreenElement.
56
+ */
57
+ syncPortalTarget();
58
+ document.addEventListener("fullscreenchange", syncPortalTarget);
59
+ return () => {
60
+ document.removeEventListener("fullscreenchange", syncPortalTarget);
61
+ };
62
+ }, []);
63
+ /*
64
+ * A layout effect, not an ordinary one. Hiding the page scrollbar widens the
65
+ * viewport that `right: 0` resolves against, so a panel that painted before
66
+ * the lock landed would visibly jump sideways by the scrollbar's width on
67
+ * every platform that draws a classic scrollbar. Locking before paint means
68
+ * the panel is only ever drawn in its final position.
69
+ */
70
+ useLayoutEffect(() => {
71
+ if (props.disablePageScrollLock) {
72
+ return undefined;
73
+ }
74
+ lockPageScroll();
75
+ return () => {
76
+ unlockPageScroll();
77
+ };
78
+ }, [props.disablePageScrollLock]);
79
+ const sideOver = (
80
+ /*
81
+ * z-30 clears every tier of page chrome (sticky headers and table headers
82
+ * at z-10/z-20, map and log-viewer toolbars at z-20) while staying under
83
+ * the app-wide overlays that must remain visible over a panel: Toast and
84
+ * the AI chat panel at z-40, Modal at z-50, portalled dropdown menus at
85
+ * z-60. Deliberately NOT z-40 — Toast and AIChatPanel are mounted ahead of
86
+ * the routed page in App.tsx, so an equal z-index would be broken in this
87
+ * panel's favour by document order and toasts would disappear behind it.
88
+ *
89
+ * role="dialog" without aria-modal, because the panel genuinely is not
90
+ * modal: everything outside it stays clickable by design (both topology
91
+ * maps let you click straight from one node's panel to the next). Claiming
92
+ * aria-modal also made this panel the last entry in Modal's dialog stack,
93
+ * which silently disabled Escape, backdrop-dismissal and initial focus on
94
+ * any Modal that was already open.
95
+ */
96
+ React.createElement("div", { className: "relative z-30", "aria-labelledby": titleId, "aria-describedby": props.description ? descriptionId : undefined, role: "dialog", "data-testid": "side-over" },
97
+ React.createElement("div", { className: "pointer-events-none fixed inset-0 flex justify-end", "data-testid": "side-over-layer" },
98
+ React.createElement("div", { className: `pointer-events-auto w-full ${widthClass}` },
99
+ React.createElement("div", { className: "flex h-full flex-col bg-white shadow-xl" },
100
+ React.createElement("div", { className: "flex-shrink-0 flex flex-col bg-gray-50 px-4 py-6 sm:px-6" },
101
+ React.createElement("div", { className: "flex items-start justify-between space-x-3" },
102
+ React.createElement("div", { className: "space-y-1" },
103
+ React.createElement("h2", { className: "text-lg font-medium text-gray-900", id: titleId, "data-testid": "side-over-title" }, props.title),
104
+ React.createElement("p", { className: "text-sm text-gray-500", id: descriptionId, "data-testid": "side-over-description" }, props.description)),
105
+ React.createElement("div", { className: "flex h-7 items-center" },
106
+ React.createElement("button", { onClick: () => {
107
+ props.onClose();
108
+ }, type: "button", title: "Close panel", "data-testid": "close-button", className: "text-gray-400 hover:text-gray-500" },
109
+ React.createElement("span", { className: "sr-only" }, "Close panel"),
110
+ React.createElement(Icon, { className: "h-6 w-6", icon: IconProp.Close }))))),
111
+ React.createElement("div", { className: "min-h-0 flex-1 overflow-y-auto overscroll-contain", "data-testid": "side-over-content" },
112
+ React.createElement("div", { className: "space-y-6 py-6 sm:space-y-0 sm:divide-y sm:divide-gray-200 sm:py-0 p-5" }, props.children)),
113
+ React.createElement("div", { className: "flex-shrink-0 border-t border-gray-200 px-4 py-5 sm:px-6 flex justify-between", "data-testid": "side-over-footer" },
114
+ React.createElement("div", { className: "flex justify-start space-x-3" }, props.leftFooterElement),
115
+ React.createElement("div", { className: "flex justify-end space-x-3" },
116
+ React.createElement(Button, { title: "Close", onClick: () => {
117
+ props.onClose();
118
+ }, buttonStyle: ButtonStyleType.NORMAL }),
119
+ props.onSubmit && (React.createElement(Button, { title: props.submitButtonText || "Save", disabled: props.submitButtonDisabled, onClick: () => {
120
+ props.onSubmit();
121
+ }, buttonStyle: ButtonStyleType.PRIMARY })))))))));
122
+ if (!portalTarget) {
123
+ return sideOver;
124
+ }
125
+ return createPortal(sideOver, portalTarget);
51
126
  };
52
127
  export default SideOver;
53
128
  //# sourceMappingURL=SideOver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SideOver.js","sourceRoot":"","sources":["../../../../../UI/Components/SideOver/SideOver.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SideOver.js","sourceRoot":"","sources":["../../../../../UI/Components/SideOver/SideOver.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,EAGZ,SAAS,EACT,KAAK,EACL,eAAe,EACf,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAsBD;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAyB,GAAuB,EAAE;IACrE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAmB,QAAQ,CAAC,iBAAiB,CAAC;IAErE,IAAI,iBAAiB,YAAY,WAAW,EAAE,CAAC;QAC7C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAsC,CAClD,KAAqB,EACP,EAAE;IAChB,IAAI,UAAU,GAAW,WAAW,CAAC;IAErC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9C,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QAC7C,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAW,KAAK,EAAE,CAAC;IAChC,MAAM,aAAa,GAAW,KAAK,EAAE,CAAC;IAEtC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,eAAe,CAChB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAe,GAAS,EAAE;YAC9C,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF;;;WAGG;QACH,gBAAgB,EAAE,CAAC;QACnB,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAEhE,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,cAAc,EAAE,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAiB;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,6BACE,SAAS,EAAC,eAAe,qBACR,OAAO,sBACN,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAC/D,IAAI,EAAC,QAAQ,iBACD,WAAW;QAEvB,6BACE,SAAS,EAAC,oDAAoD,iBAClD,iBAAiB;YAE7B,6BAAK,SAAS,EAAE,8BAA8B,UAAU,EAAE;gBACxD,6BAAK,SAAS,EAAC,yCAAyC;oBACtD,6BAAK,SAAS,EAAC,0DAA0D;wBACvE,6BAAK,SAAS,EAAC,4CAA4C;4BACzD,6BAAK,SAAS,EAAC,WAAW;gCACxB,4BACE,SAAS,EAAC,mCAAmC,EAC7C,EAAE,EAAE,OAAO,iBACC,iBAAiB,IAE5B,KAAK,CAAC,KAAK,CACT;gCACL,2BACE,SAAS,EAAC,uBAAuB,EACjC,EAAE,EAAE,aAAa,iBACL,uBAAuB,IAElC,KAAK,CAAC,WAAW,CAChB,CACA;4BACN,6BAAK,SAAS,EAAC,uBAAuB;gCACpC,gCACE,OAAO,EAAE,GAAG,EAAE;wCACZ,KAAK,CAAC,OAAO,EAAE,CAAC;oCAClB,CAAC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,aAAa,iBACP,cAAc,EAC1B,SAAS,EAAC,mCAAmC;oCAE7C,8BAAM,SAAS,EAAC,SAAS,kBAAmB;oCAE5C,oBAAC,IAAI,IAAC,SAAS,EAAC,SAAS,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAI,CAC3C,CACL,CACF,CACF;oBASN,6BACE,SAAS,EAAC,mDAAmD,iBACjD,mBAAmB;wBAE/B,6BAAK,SAAS,EAAC,wEAAwE,IACpF,KAAK,CAAC,QAAQ,CACX,CACF;oBACN,6BACE,SAAS,EAAC,+EAA+E,iBAC7E,kBAAkB;wBAE9B,6BAAK,SAAS,EAAC,8BAA8B,IAC1C,KAAK,CAAC,iBAAiB,CACpB;wBACN,6BAAK,SAAS,EAAC,4BAA4B;4BACzC,oBAAC,MAAM,IACL,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,OAAO,EAAE,CAAC;gCAClB,CAAC,EACD,WAAW,EAAE,eAAe,CAAC,MAAM,GACnC;4BAED,KAAK,CAAC,QAAQ,IAAI,CACjB,oBAAC,MAAM,IACL,KAAK,EAAE,KAAK,CAAC,gBAAgB,IAAI,MAAM,EACvC,QAAQ,EAAE,KAAK,CAAC,oBAAoB,EACpC,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,QAAS,EAAE,CAAC;gCACpB,CAAC,EACD,WAAW,EAAE,eAAe,CAAC,OAAO,GACpC,CACH,CACG,CACF,CACF,CACF,CACF,CACF,CACP,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,52 @@
1
+ /*
2
+ * The page behind an open dialog surface must not scroll, and nested surfaces
3
+ * share a single lock: a counter, rather than a boolean, is what stops an inner
4
+ * dialog from handing scrolling back while the surface that opened it is still
5
+ * up.
6
+ *
7
+ * This lives outside any one component on purpose. Modal and SideOver nest
8
+ * inside each other in shipped code — Workflow's "Run Workflow" panel is a
9
+ * SideOver that opens a ConfirmModal — and two private counters would race over
10
+ * document.body.style. Whichever surface unmounted first would restore the
11
+ * snapshot the other had already overwritten, leaving the page either scrolling
12
+ * under a dialog that is still open or locked forever with no dialog on screen.
13
+ */
14
+ let openDialogCount = 0;
15
+ let bodyOverflowBeforeLock = "";
16
+ let bodyPaddingRightBeforeLock = "";
17
+ export const lockPageScroll = () => {
18
+ openDialogCount++;
19
+ if (openDialogCount > 1 || typeof document === "undefined") {
20
+ return;
21
+ }
22
+ bodyOverflowBeforeLock = document.body.style.overflow;
23
+ bodyPaddingRightBeforeLock = document.body.style.paddingRight;
24
+ /*
25
+ * Hiding the scrollbar reclaims its width, so the page underneath would
26
+ * jump sideways by exactly that much. Pad it back to hold everything still.
27
+ */
28
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
29
+ if (scrollbarWidth > 0) {
30
+ document.body.style.paddingRight = `${scrollbarWidth}px`;
31
+ }
32
+ document.body.style.overflow = "hidden";
33
+ };
34
+ export const unlockPageScroll = () => {
35
+ openDialogCount = Math.max(0, openDialogCount - 1);
36
+ if (openDialogCount > 0 || typeof document === "undefined") {
37
+ return;
38
+ }
39
+ document.body.style.overflow = bodyOverflowBeforeLock;
40
+ document.body.style.paddingRight = bodyPaddingRightBeforeLock;
41
+ };
42
+ /*
43
+ * Test-only escape hatch. The counter is module state that survives between
44
+ * cases in the same jest file, so a suite that asserts on the FIRST lock needs
45
+ * a way back to a known zero.
46
+ */
47
+ export const resetPageScrollLockForTesting = () => {
48
+ openDialogCount = 0;
49
+ bodyOverflowBeforeLock = "";
50
+ bodyPaddingRightBeforeLock = "";
51
+ };
52
+ //# sourceMappingURL=PageScrollLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageScrollLock.js","sourceRoot":"","sources":["../../../../UI/Utils/PageScrollLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,IAAI,eAAe,GAAW,CAAC,CAAC;AAChC,IAAI,sBAAsB,GAAW,EAAE,CAAC;AACxC,IAAI,0BAA0B,GAAW,EAAE,CAAC;AAI5C,MAAM,CAAC,MAAM,cAAc,GAA2B,GAAS,EAAE;IAC/D,eAAe,EAAE,CAAC;IAElB,IAAI,eAAe,GAAG,CAAC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtD,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IAE9D;;;OAGG;IACH,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;IAE3D,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,cAAc,IAAI,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA2B,GAAS,EAAE;IACjE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IAEnD,IAAI,eAAe,GAAG,CAAC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,sBAAsB,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,0BAA0B,CAAC;AAChE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,GAAS,EAAE;IACT,eAAe,GAAG,CAAC,CAAC;IACpB,sBAAsB,GAAG,EAAE,CAAC;IAC5B,0BAA0B,GAAG,EAAE,CAAC;AAClC,CAAC,CAAC"}
@@ -56,8 +56,10 @@ export default class HtmlWidgetDocument {
56
56
  *
57
57
  * Resolution is delegated to DashboardVariableInterpolation so this widget
58
58
  * agrees with every query-driven widget about what a variable currently
59
- * means (selected value, else default, else nothing). Multi-select joins
60
- * with "," because that is the form an author would paste into a filter.
59
+ * means: a single-select is its selected value, else its default, else
60
+ * nothing; a multi-select is its picks, and no picks is "All" which
61
+ * lands here as "" rather than the default. Multi-select joins with ","
62
+ * because that is the form an author would paste into a filter.
61
63
  */
62
64
  static resolveVariables(variables) {
63
65
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"HtmlWidgetDocument.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/HtmlWidgetDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HtmlWidgetDocument.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/HtmlWidgetDocument.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,23 @@ import { DashboardVariableType, } from "../../Types/Dashboard/DashboardVariable"
13
13
  * key so the server's WHERE-builder produces `attributes[key] IN (...)`.
14
14
  */
15
15
  export default class DashboardVariableInterpolation {
16
+ /*
17
+ * The one place that decides what a variable currently *means*. Every
18
+ * widget and every selector defers to it, so the rules have to be
19
+ * stated rather than inferred:
20
+ *
21
+ * - A multi-select variable's `selectedValues` is its sole source of
22
+ * truth. Empty or unset is the "All" state and produces no
23
+ * predicate. `defaultValue` deliberately does NOT apply here: the
24
+ * selector shows "All" whenever the list is empty and cannot show
25
+ * anything else, so honouring a default would filter widgets behind
26
+ * a control that reads "unfiltered". A default that only holds one
27
+ * value also cannot express what a multi-select is for.
28
+ * - A single-select variable falls back to `defaultValue` only when
29
+ * `selectedValue` is absent. An empty string is a real choice — the
30
+ * "All" option — and must not be overwritten by the default, which
31
+ * is why this uses `??` rather than `||`.
32
+ */
16
33
  static resolveValue(variable) {
17
34
  var _a, _b;
18
35
  if (variable.isMultiSelect) {
@@ -22,7 +39,8 @@ export default class DashboardVariableInterpolation {
22
39
  if (values.length > 0) {
23
40
  return { multi: values };
24
41
  }
25
- // No multi-select picks. Fall through to default value handling.
42
+ // No picks: "All". Never falls back to the single-select default.
43
+ return undefined;
26
44
  }
27
45
  const v = (_b = (_a = variable.selectedValue) !== null && _a !== void 0 ? _a : variable.defaultValue) !== null && _b !== void 0 ? _b : undefined;
28
46
  if (v === undefined || v === null || v === "") {
@@ -1 +1 @@
1
- {"version":3,"file":"VariableInterpolation.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/VariableInterpolation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariableInterpolation.js","sourceRoot":"","sources":["../../../../Utils/Dashboard/VariableInterpolation.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AACzD,OAA0B,EACxB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AAiBjD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA8B;IACjD;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,YAAY,CACxB,QAA2B;;QAE3B,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAkB,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAClE,CAAC,CAAS,EAAE,EAAE;gBACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CACF,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3B,CAAC;YACD,kEAAkE;YAClE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,GACL,MAAA,MAAA,QAAQ,CAAC,aAAa,mCAAI,QAAQ,CAAC,YAAY,mCAAI,SAAS,CAAC;QAC/D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,iBAAiB,CAC7B,UAA+C,EAC/C,SAA+C;QAE/C,MAAM,MAAM,GAA4B,UAAU,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,2BAA2B,GAC/B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAoB,EAAE,EAAE;YACxC,OAAO,CACL,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,kBAAkB;gBACnD,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,IAAI,2BAA2B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,qBAAiC,MAAM,CAAE,CAAC;QACpD,IAAI,OAAO,GAAY,KAAK,CAAC;QAE7B,KAAK,MAAM,QAAQ,IAAI,2BAA2B,EAAE,CAAC;YACnD,MAAM,GAAG,GAAW,QAAQ,CAAC,YAAsB,CAAC;YACpD,MAAM,QAAQ,GACZ,8BAA8B,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAExD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjB,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAC9B,WAAkC,EAClC,SAA+C;;QAE/C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GACd,MAAA,WAAW,CAAC,eAAe,0CAAE,UAAU,CAAC;QAE1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,kBAAkB,GACrB,UAAU,CAAC,UAAkD,IAAI,EAAE,CAAC;QACvE,MAAM,cAAc,GAClB,8BAA8B,CAAC,iBAAiB,CAC9C,kBAAkB,EAClB,SAAS,CACV,CAAC;QAEJ,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;YAC1C,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,uCACK,WAAW,KACd,eAAe,kCACV,WAAW,CAAC,eAAe,KAC9B,UAAU,EAAE,gCACP,UAAU,KACb,UAAU,EAAE,cAAc,GACsB,OAEpD;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,YAA0C,EAC1C,SAA+C;QAE/C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAA6B,EAAE,EAAE;YACxD,OAAO,8BAA8B,CAAC,kBAAkB,CACtD,MAAM,EACN,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,51 @@
1
+ /*
2
+ * JSONFunctions.serializeValue had no Array.isArray branch. Arrays are
3
+ * typeof "object", so any array that reached it directly was walked by key and
4
+ * written out as { "0": ..., "1": ... }. Two shapes hit that path:
5
+ *
6
+ * - an array nested directly inside another array, e.g. the
7
+ * [facetKey, value] filter tuples of a telemetry saved view;
8
+ * - a top-level array handed to LocalStorage/SessionStorage/Cookie, which
9
+ * call serializeValue on the value itself rather than on a wrapper object.
10
+ *
11
+ * (An array under an object key was always safe, at any depth, because
12
+ * serialize() special-cases array-valued keys.)
13
+ *
14
+ * The serializer is fixed, but values written before the fix are still in
15
+ * databases and in browser storage. readLegacySerializedArray reads either
16
+ * shape, so those values load instead of being thrown away — or, worse,
17
+ * destructured and taking the page down with them.
18
+ */
19
+ export function readLegacySerializedArray(value) {
20
+ if (Array.isArray(value)) {
21
+ return value;
22
+ }
23
+ if (!value || typeof value !== "object") {
24
+ return null;
25
+ }
26
+ const record = value;
27
+ const keys = Object.keys(record);
28
+ /*
29
+ * An empty object is what an empty array serialized to, and in every place
30
+ * this is used an empty collection is the sensible reading.
31
+ */
32
+ if (keys.length === 0) {
33
+ return [];
34
+ }
35
+ /*
36
+ * Only a complete run of indices 0..n-1 could have come from an array. A
37
+ * genuine object that merely happens to have a "0" key keeps its own shape
38
+ * and is rejected here.
39
+ */
40
+ for (let index = 0; index < keys.length; index++) {
41
+ if (!Object.prototype.hasOwnProperty.call(record, String(index))) {
42
+ return null;
43
+ }
44
+ }
45
+ const restored = [];
46
+ for (let index = 0; index < keys.length; index++) {
47
+ restored.push(record[String(index)]);
48
+ }
49
+ return restored;
50
+ }
51
+ //# sourceMappingURL=LegacySerializedArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegacySerializedArray.js","sourceRoot":"","sources":["../../../Utils/LegacySerializedArray.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAA4B,KAAgC,CAAC;IACzE,MAAM,IAAI,GAAkB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhD;;;OAGG;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,IAAI,KAAK,GAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,IAAI,KAAK,GAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /*
2
+ * The alert-dependency suppression decision rule, shared verbatim by the
3
+ * server (MonitorDependencySuppression, which enforces it during
4
+ * evaluation) and the dashboard (DependencySuppressionWarning, which
5
+ * explains it to the user). It lives here — not in Common/Server — so the
6
+ * browser bundle can import it without dragging in the server module
7
+ * graph, the same split MonitorSummarySnapshotUtil uses. Keep it pure:
8
+ * no queries, no model imports.
9
+ */
10
+ export default class MonitorDependencyRule {
11
+ /*
12
+ * A parent suppresses when its current status is in the configured
13
+ * status list; with no list configured, when its current status is
14
+ * flagged offline. A parent with no current status never suppresses (a
15
+ * never-evaluated parent must not silence its children).
16
+ */
17
+ static getSuppressingParents(input) {
18
+ const suppressing = [];
19
+ for (const parent of input.parents) {
20
+ const matchesRule = input.configuredSuppressionStatusIds.size > 0
21
+ ? Boolean(parent.statusId &&
22
+ input.configuredSuppressionStatusIds.has(parent.statusId))
23
+ : parent.isOfflineState;
24
+ if (matchesRule) {
25
+ suppressing.push({
26
+ monitorId: parent.monitorId,
27
+ monitorName: parent.monitorName,
28
+ statusName: parent.statusName || "Offline",
29
+ });
30
+ }
31
+ }
32
+ return suppressing;
33
+ }
34
+ /*
35
+ * One human sentence naming the suppressing parents, shared by the
36
+ * alert and incident skip events so both read identically in the
37
+ * evaluation log.
38
+ */
39
+ static buildSuppressionReason(suppressingParents) {
40
+ const parts = suppressingParents.map((parent) => {
41
+ return `"${parent.monitorName}" is ${parent.statusName}`;
42
+ });
43
+ const plural = parts.length > 1;
44
+ return `parent monitor${plural ? "s" : ""} ${parts.join(", ")}`;
45
+ }
46
+ }
47
+ //# sourceMappingURL=MonitorDependencyRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorDependencyRule.js","sourceRoot":"","sources":["../../../../Utils/Monitor/MonitorDependencyRule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;;;OAKG;IACI,MAAM,CAAC,qBAAqB,CAAC,KAGnC;QACC,MAAM,WAAW,GAA6B,EAAE,CAAC;QAEjD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,WAAW,GACf,KAAK,CAAC,8BAA8B,CAAC,IAAI,GAAG,CAAC;gBAC3C,CAAC,CAAC,OAAO,CACL,MAAM,CAAC,QAAQ;oBACb,KAAK,CAAC,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC5D;gBACH,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;YAE5B,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,sBAAsB,CAClC,kBAA4C;QAE5C,MAAM,KAAK,GAAkB,kBAAkB,CAAC,GAAG,CACjD,CAAC,MAAyB,EAAE,EAAE;YAC5B,OAAO,IAAI,MAAM,CAAC,WAAW,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3D,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAY,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzC,OAAO,iBAAiB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,52 @@
1
+ import { readLegacySerializedArray } from "../LegacySerializedArray";
2
+ export function readSavedViewFilters(saved) {
3
+ if (!Array.isArray(saved)) {
4
+ return [];
5
+ }
6
+ const filters = [];
7
+ for (const entry of saved) {
8
+ const tuple = readFilterTuple(entry);
9
+ if (tuple) {
10
+ filters.push(tuple);
11
+ }
12
+ }
13
+ return filters;
14
+ }
15
+ /*
16
+ * One saved filter, read from either the array tuple it should be or the
17
+ * numeric-keyed object a pre-fix serializer left behind.
18
+ */
19
+ function readFilterTuple(entry) {
20
+ const tuple = readLegacySerializedArray(entry);
21
+ if (!tuple) {
22
+ return null;
23
+ }
24
+ return buildTuple(tuple[0], tuple[1]);
25
+ }
26
+ function buildTuple(facetKey, value) {
27
+ var _a;
28
+ const readableKey = readFilterString(facetKey);
29
+ if (readableKey === null || readableKey === "") {
30
+ // A filter with no facet to filter on cannot be rebuilt into a chip.
31
+ return null;
32
+ }
33
+ return [readableKey, (_a = readFilterString(value)) !== null && _a !== void 0 ? _a : ""];
34
+ }
35
+ /*
36
+ * Values come back from a JSON column, so a filter saved as a number or a
37
+ * boolean arrives as one. Those still describe a real filter and are kept as
38
+ * their string form; objects, arrays and null do not and are discarded.
39
+ */
40
+ function readFilterString(value) {
41
+ if (typeof value === "string") {
42
+ return value;
43
+ }
44
+ if (typeof value === "number" && isFinite(value)) {
45
+ return String(value);
46
+ }
47
+ if (typeof value === "boolean") {
48
+ return String(value);
49
+ }
50
+ return null;
51
+ }
52
+ //# sourceMappingURL=SavedViewFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SavedViewFilters.js","sourceRoot":"","sources":["../../../../Utils/Telemetry/SavedViewFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAoBrE,MAAM,UAAU,oBAAoB,CAClC,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAgC,EAAE,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAgC,eAAe,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,KAAK,GAA0B,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CACjB,QAAiB,EACjB,KAAc;;IAEd,MAAM,WAAW,GAAkB,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE9D,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC/C,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,WAAW,EAAE,MAAA,gBAAgB,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/jest.config.json CHANGED
@@ -28,6 +28,9 @@
28
28
  "^react-dom/(.*)$": "<rootDir>/node_modules/react-dom/$1",
29
29
  "^react-router-dom$": "<rootDir>/node_modules/react-router-dom",
30
30
  "^react-i18next$": "<rootDir>/node_modules/react-i18next",
31
+ "^i18next$": "<rootDir>/node_modules/i18next",
32
+ "^use-async-effect$": "<rootDir>/node_modules/use-async-effect",
33
+ "^i18next-browser-languagedetector$": "<rootDir>/Tests/__mocks__/i18next-browser-languagedetector.js",
31
34
  "^react-markdown$": "<rootDir>/Tests/__mocks__/react-markdown.js",
32
35
  "^remark-gfm$": "<rootDir>/Tests/__mocks__/remark-gfm.js",
33
36
  "^react-syntax-highlighter$": "<rootDir>/Tests/__mocks__/react-syntax-highlighter.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "12.0.6",
3
+ "version": "12.0.7",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
package/tsconfig.json CHANGED
@@ -66,7 +66,9 @@
66
66
  "paths": {
67
67
  "Common/*": ["./*"],
68
68
  "react-router-dom": ["./node_modules/react-router-dom"],
69
- "react-i18next": ["./node_modules/react-i18next"]
69
+ "react-i18next": ["./node_modules/react-i18next"],
70
+ "i18next": ["./node_modules/i18next"],
71
+ "use-async-effect": ["./node_modules/use-async-effect"]
70
72
  },
71
73
  // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
72
74
  "typeRoots": [