@oneuptime/common 12.0.12 → 12.0.14

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 (596) hide show
  1. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +32 -5
  2. package/Models/DatabaseModels/NetworkDevice.ts +64 -0
  3. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +14 -0
  4. package/Models/DatabaseModels/StatusPage.ts +59 -0
  5. package/Models/DatabaseModels/StatusPageOidc.ts +2 -0
  6. package/Models/DatabaseModels/UserCall.ts +94 -3
  7. package/Models/DatabaseModels/UserEmail.ts +94 -3
  8. package/Models/DatabaseModels/UserIncomingCallNumber.ts +94 -3
  9. package/Models/DatabaseModels/UserPush.ts +37 -0
  10. package/Models/DatabaseModels/UserSMS.ts +94 -3
  11. package/Models/DatabaseModels/UserWhatsApp.ts +93 -2
  12. package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +19 -2
  13. package/Server/API/AIChatAPI.ts +55 -56
  14. package/Server/API/BaseAPI.ts +79 -14
  15. package/Server/API/CommonAPI.ts +89 -0
  16. package/Server/API/MicrosoftTeamsAPI.ts +20 -9
  17. package/Server/API/SlackAPI.ts +13 -10
  18. package/Server/API/StatusPageAPI.ts +2197 -2128
  19. package/Server/API/TelemetryAPI.ts +72 -3
  20. package/Server/API/UserCallAPI.ts +53 -45
  21. package/Server/API/UserEmailAPI.ts +53 -44
  22. package/Server/API/UserIncomingCallNumberAPI.ts +48 -38
  23. package/Server/API/UserNotificationMethodAdminAPI.ts +481 -0
  24. package/Server/API/UserPushAPI.ts +126 -2
  25. package/Server/API/UserSmsAPI.ts +53 -44
  26. package/Server/API/UserWhatsAppAPI.ts +53 -50
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.ts +154 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.ts +17 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.ts +30 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.ts +47 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.ts +45 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  33. package/Server/Middleware/UserAuthorization.ts +11 -2
  34. package/Server/Middleware/VerificationCodeRateLimit.ts +586 -0
  35. package/Server/Services/AnalyticsDatabaseService.ts +169 -0
  36. package/Server/Services/ApiKeyPermissionService.ts +116 -2
  37. package/Server/Services/DatabaseService.ts +118 -6
  38. package/Server/Services/LogAggregationService.ts +39 -0
  39. package/Server/Services/LogService.ts +21 -0
  40. package/Server/Services/NetworkSiteService.ts +12 -0
  41. package/Server/Services/PushNotificationService.ts +127 -12
  42. package/Server/Services/SpanService.ts +21 -0
  43. package/Server/Services/TeamMemberService.ts +53 -13
  44. package/Server/Services/TraceAggregationService.ts +15 -0
  45. package/Server/Services/UserCallService.ts +55 -24
  46. package/Server/Services/UserEmailService.ts +83 -17
  47. package/Server/Services/UserIncomingCallNumberService.ts +49 -85
  48. package/Server/Services/UserNotificationMethodAdminService.ts +1527 -0
  49. package/Server/Services/UserNotificationRuleService.ts +26 -0
  50. package/Server/Services/UserPushService.ts +89 -0
  51. package/Server/Services/UserSmsService.ts +50 -17
  52. package/Server/Services/UserWhatsAppService.ts +48 -15
  53. package/Server/Services/WorkspaceNotificationRuleService.ts +172 -220
  54. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +9 -0
  55. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -16
  56. package/Server/Types/Database/QueryHelper.ts +30 -0
  57. package/Server/Utils/APIKey/AccessPermission.ts +16 -40
  58. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +59 -0
  59. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +144 -0
  60. package/Server/Utils/ChannelVerification.ts +510 -0
  61. package/Server/Utils/LogRedaction.ts +576 -0
  62. package/Server/Utils/Logger.ts +123 -46
  63. package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +13 -16
  64. package/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.ts +94 -23
  65. package/Server/Utils/Monitor/MonitorAlert.ts +24 -21
  66. package/Server/Utils/Monitor/MonitorIncident.ts +21 -18
  67. package/Server/Utils/Monitor/MonitorResource.ts +29 -9
  68. package/Server/Utils/Monitor/MonitorResourceContext.ts +107 -0
  69. package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +442 -0
  70. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +28 -7
  71. package/Server/Utils/Monitor/SeriesResourceLabels.ts +3 -3
  72. package/Server/Utils/Monitor/SeriesResourceLinker.ts +96 -28
  73. package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +56 -10
  74. package/Server/Utils/StartServer.ts +30 -9
  75. package/Server/Utils/StatusPageSearchEngineIndexing.ts +33 -0
  76. package/Server/Utils/Telemetry/ResourceEntityFilter.ts +441 -0
  77. package/Server/Utils/TotpAuth.ts +137 -9
  78. package/Server/Utils/UserRegistrationToken.ts +182 -0
  79. package/Server/Utils/VerificationCode.ts +134 -0
  80. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +488 -46
  81. package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +173 -94
  82. package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +1151 -0
  83. package/Tests/App/Dashboard/AdminUserOnCallPages.test.tsx +905 -0
  84. package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +338 -0
  85. package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1 -1
  86. package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +328 -0
  87. package/Tests/App/StatusPage/StatusPageIndexPageRobotsMeta.test.ts +130 -0
  88. package/Tests/Models/DatabaseModels/DatabaseBaseModelToJSONObjectCache.test.ts +180 -0
  89. package/Tests/Models/StatusPageEnableSearchEngineIndexing.test.ts +157 -0
  90. package/Tests/Models/UserPushCriticalAlertColumn.test.ts +172 -0
  91. package/Tests/Server/API/AIChatCancelAndFeedback.test.ts +23 -1
  92. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +785 -0
  93. package/Tests/Server/API/BaseAPIApiKeyAuth.test.ts +21 -8
  94. package/Tests/Server/API/BaseAPIGetListParallel.test.ts +519 -0
  95. package/Tests/Server/API/CommonAPIAuthGuard.test.ts +290 -0
  96. package/Tests/Server/API/MicrosoftTeamsManifest.test.ts +7 -1
  97. package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +543 -0
  98. package/Tests/Server/API/StatusPageOverviewCache.test.ts +474 -0
  99. package/Tests/Server/API/StatusPageSeoSearchEngineIndexing.test.ts +189 -0
  100. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +108 -18
  101. package/Tests/Server/API/UserNotificationMethodAdminAPI.test.ts +963 -0
  102. package/Tests/Server/API/UserPushCriticalAlertsApi.test.ts +114 -0
  103. package/Tests/Server/API/UserSmsApi.test.ts +107 -14
  104. package/Tests/Server/API/UserTotpAuthAPI.test.ts +427 -0
  105. package/Tests/Server/Infrastructure/InMemoryTTLCache.test.ts +158 -0
  106. package/Tests/Server/Infrastructure/Postgres/DeviceRoleAndDeclaredLinkParentMigration.test.ts +9 -60
  107. package/Tests/Server/Infrastructure/Postgres/FixTotpOtpUrlAlgorithmMigration.test.ts +315 -0
  108. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +24 -15
  109. package/Tests/Server/Middleware/UserAuthorization.test.ts +79 -0
  110. package/Tests/Server/Middleware/VerificationCodeRateLimit.test.ts +775 -0
  111. package/Tests/Server/Services/AddNetworkDeviceReachabilityColumnsMigration.test.ts +280 -0
  112. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +33 -13
  113. package/Tests/Server/Services/AnalyticsDatabaseSortKeyBoundary.test.ts +658 -0
  114. package/Tests/Server/Services/ApiKeyPermissionService.test.ts +347 -0
  115. package/Tests/Server/Services/CriticalOnCallAlertDelivery.test.ts +458 -0
  116. package/Tests/Server/Services/CriticalPushAlertPayload.test.ts +301 -0
  117. package/Tests/Server/Services/DatabaseServiceAtomicIncrement.test.ts +143 -0
  118. package/Tests/Server/Services/DatabaseServiceUpdateDebugLogging.test.ts +282 -0
  119. package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1 -0
  120. package/Tests/Server/Services/LogAggregationScanMemory.test.ts +421 -0
  121. package/Tests/Server/Services/LogAggregationService.test.ts +2 -2
  122. package/Tests/Server/Services/NetworkSiteService.test.ts +56 -2
  123. package/Tests/Server/Services/NotificationChannelCodeIssuance.test.ts +401 -0
  124. package/Tests/Server/Services/PushNotificationDeliveryOptions.test.ts +204 -0
  125. package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +21 -1
  126. package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +290 -0
  127. package/Tests/Server/Services/TelemetryResourceFacetFilters.test.ts +267 -0
  128. package/Tests/Server/Services/UserNotificationMethodAdminService.test.ts +948 -0
  129. package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1 -0
  130. package/Tests/Server/Services/UserPushCriticalAlertToggle.test.ts +255 -0
  131. package/Tests/Server/Services/UserTotpAuthEnrolment.test.ts +218 -0
  132. package/Tests/Server/Services/WorkspaceNotificationRuleTestRuleChannels.test.ts +702 -0
  133. package/Tests/Server/TestingUtils/AuthenticatorApp.ts +248 -0
  134. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +165 -0
  135. package/Tests/Server/Types/Database/Permissions/NotificationChannelVerificationColumns.test.ts +135 -0
  136. package/Tests/Server/Types/Database/Permissions/OnCallScheduleRelationSelect.test.ts +504 -0
  137. package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAnyOf.test.ts +91 -0
  138. package/Tests/Server/Types/Workflow/Components/JsonToText.test.ts +384 -0
  139. package/Tests/Server/Types/Workflow/Components/MergeJson.test.ts +403 -0
  140. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +48 -36
  141. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +213 -0
  142. package/Tests/Server/Utils/Browser.test.ts +162 -0
  143. package/Tests/Server/Utils/ChannelVerification.test.ts +689 -0
  144. package/Tests/Server/Utils/Express.test.ts +371 -0
  145. package/Tests/Server/Utils/LogRedaction.test.ts +415 -0
  146. package/Tests/Server/Utils/LoggerCredentialLeak.test.ts +245 -0
  147. package/Tests/Server/Utils/Monitor/Criteria/CustomCodeMonitorCriteria.test.ts +707 -0
  148. package/Tests/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.test.ts +698 -0
  149. package/Tests/Server/Utils/Monitor/Criteria/IncomingEmailBodyCriteria.test.ts +243 -0
  150. package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestBodyCriteria.test.ts +278 -0
  151. package/Tests/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.test.ts +374 -4
  152. package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +160 -20
  153. package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +13 -8
  154. package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +162 -18
  155. package/Tests/Server/Utils/Monitor/MonitorResourceContext.test.ts +349 -0
  156. package/Tests/Server/Utils/Monitor/MonitorResourceIngestedStepSelection.test.ts +455 -0
  157. package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +690 -0
  158. package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +7 -2
  159. package/Tests/Server/Utils/Monitor/NetworkDeviceReachabilityRoundTrip.test.ts +369 -0
  160. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +86 -8
  161. package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +92 -18
  162. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +64 -0
  163. package/Tests/Server/Utils/PushNotificationUtilCreators.test.ts +267 -0
  164. package/Tests/Server/Utils/SessionReplay/SessionReplayGateCacheStore.test.ts +207 -0
  165. package/Tests/Server/Utils/StartServerBodyVerify.test.ts +335 -0
  166. package/Tests/Server/Utils/StatusPageSearchEngineIndexing.test.ts +60 -0
  167. package/Tests/Server/Utils/Telemetry/OneuptimeLabel.test.ts +439 -0
  168. package/Tests/Server/Utils/Telemetry/ResourceEntityFilter.test.ts +435 -0
  169. package/Tests/Server/Utils/TotpAuth.test.ts +719 -0
  170. package/Tests/Server/Utils/UserRegistrationToken.test.ts +322 -0
  171. package/Tests/Server/Utils/VerificationCode.test.ts +296 -0
  172. package/Tests/Server/Utils/Workspace/MicrosoftTeamsChannelSend.test.ts +607 -62
  173. package/Tests/Server/Utils/Workspace/MicrosoftTeamsInstalledTeamIdSpace.test.ts +778 -0
  174. package/Tests/Server/Utils/Workspace/MicrosoftTeamsTeamInstalls.test.ts +44 -10
  175. package/Tests/Types/API/HostnameFromAuthority.test.ts +164 -0
  176. package/Tests/Types/AutoRemediation/AutoRemediationSuggestionStatus.test.ts +192 -0
  177. package/Tests/Types/Call/CallRequest.test.ts +189 -0
  178. package/Tests/Types/Dashboard/DashboardSize.test.ts +226 -0
  179. package/Tests/Types/Database/AccessControl/ColumnAccessControlCache.test.ts +344 -0
  180. package/Tests/Types/Database/DatabasePropertyFindOperator.test.ts +518 -0
  181. package/Tests/Types/Database/TableColumnMetadataCache.test.ts +286 -0
  182. package/Tests/Types/Incident/IncidentSlaStatus.test.ts +191 -0
  183. package/Tests/Types/Metrics/MetricDashboardMetricType.test.ts +278 -0
  184. package/Tests/Types/Metrics/MetricPipelineRuleType.test.ts +517 -0
  185. package/Tests/Types/Monitor/IncomingMonitorDefaultCriteria.test.ts +470 -0
  186. package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +6 -4
  187. package/Tests/Types/Monitor/MonitorStep.test.ts +100 -0
  188. package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +360 -0
  189. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +262 -5
  190. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +1 -1
  191. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +1 -1
  192. package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +905 -0
  193. package/Tests/Types/Service/ServiceLanguage.test.ts +255 -0
  194. package/Tests/Types/StatusPage/SearchEngineIndexing.test.ts +86 -0
  195. package/Tests/Types/Telemetry/ResourceEntityFacet.test.ts +254 -0
  196. package/Tests/Types/TextRandomGeneration.test.ts +211 -0
  197. package/Tests/UI/Components/Button.test.tsx +175 -1
  198. package/Tests/UI/Components/CardSelect.test.tsx +1021 -0
  199. package/Tests/UI/Components/CodeBlockLanguages.test.tsx +236 -0
  200. package/Tests/UI/Components/CommandPalette/CommandPalette.test.tsx +568 -0
  201. package/Tests/UI/Components/CommandPalette/CommandPaletteKeyboard.test.tsx +239 -0
  202. package/Tests/UI/Components/CommandPalette/CommandPaletteProviders.test.tsx +400 -0
  203. package/Tests/UI/Components/CommandPalette/PaletteFilter.test.ts +234 -0
  204. package/Tests/UI/Components/CommandPalette/RecentCommands.test.ts +97 -0
  205. package/Tests/UI/Components/CountModelSideMenuItemGuard.test.tsx +198 -0
  206. package/Tests/UI/Components/FeedItemSafeMode.test.tsx +1 -1
  207. package/Tests/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.test.ts +267 -0
  208. package/Tests/UI/Components/List.test.tsx +9 -2
  209. package/Tests/UI/Components/ListLoadingStates.test.tsx +173 -0
  210. package/Tests/UI/Components/MarkdownLazy.test.tsx +113 -0
  211. package/Tests/UI/Components/MarkdownMermaidRetry.test.tsx +110 -0
  212. package/Tests/UI/Components/MasterPage.test.tsx +36 -1
  213. package/Tests/UI/Components/ModelTable/useCustomFieldColumns.test.tsx +8 -0
  214. package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +692 -0
  215. package/Tests/UI/Components/MoreMenuMotion.test.tsx +118 -0
  216. package/Tests/UI/Components/NavBarCommandKGating.test.tsx +178 -0
  217. package/Tests/UI/Components/OrderedStatesList.test.tsx +19 -2
  218. package/Tests/UI/Components/SideOverMotion.test.tsx +109 -0
  219. package/Tests/UI/Components/Skeleton.test.tsx +71 -0
  220. package/Tests/UI/Components/TableLoadingStates.test.tsx +279 -0
  221. package/Tests/UI/Components/Tabs.test.tsx +24 -0
  222. package/Tests/UI/Components/Toast.test.tsx +130 -7
  223. package/Tests/UI/Components/ToastStacking.test.tsx +198 -0
  224. package/Tests/UI/Utils/Dropdown.test.ts +423 -0
  225. package/Tests/UI/Utils/ModelAPITenantHeader.test.ts +122 -0
  226. package/Tests/UI/Utils/ModelListCache.test.ts +338 -0
  227. package/Tests/UI/Utils/ProjectListCacheInvalidation.test.ts +225 -0
  228. package/Tests/Utils/API.test.ts +16 -2
  229. package/Tests/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.test.ts +347 -0
  230. package/Tests/Utils/Dashboard/Components/DashboardListSharedArgs.test.ts +259 -0
  231. package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +466 -0
  232. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +66 -1
  233. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +115 -6
  234. package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +610 -0
  235. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +114 -45
  236. package/Tests/Utils/Rum/UrlScrubberSegments.test.ts +362 -0
  237. package/Types/API/Hostname.ts +79 -0
  238. package/Types/Database/AccessControl/ColumnAccessControl.ts +33 -11
  239. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +33 -11
  240. package/Types/Database/DatabaseProperty.ts +38 -0
  241. package/Types/Database/TableColumn.ts +34 -7
  242. package/Types/Email/EmailTemplateType.ts +1 -0
  243. package/Types/Events/Recurring.ts +16 -1
  244. package/Types/Monitor/MonitorCriteriaInstance.ts +41 -20
  245. package/Types/Monitor/MonitorStep.ts +13 -1
  246. package/Types/Monitor/MonitorType.ts +345 -40
  247. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +131 -8
  248. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +48 -8
  249. package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +43 -0
  250. package/Types/Monitor/ServiceAlertTemplates.ts +1352 -0
  251. package/Types/Permission.ts +35 -0
  252. package/Types/PushNotification/AndroidNotificationChannel.ts +26 -0
  253. package/Types/PushNotification/PushNotificationMessage.ts +15 -0
  254. package/Types/PushNotification/PushNotificationRequest.ts +8 -16
  255. package/Types/Service/ServiceLanguage.ts +144 -0
  256. package/Types/StatusPage/SearchEngineIndexing.ts +61 -0
  257. package/Types/Telemetry/ResourceEntityFacet.ts +211 -0
  258. package/Types/Text.ts +111 -19
  259. package/UI/Components/Button/Button.tsx +27 -14
  260. package/UI/Components/CardSelect/CardSelect.tsx +714 -105
  261. package/UI/Components/CodeBlock/CodeBlock.tsx +54 -7
  262. package/UI/Components/CodeBlock/LanguageRegistry.ts +103 -0
  263. package/UI/Components/CommandPalette/CommandPalette.tsx +790 -0
  264. package/UI/Components/CommandPalette/PaletteFilter.ts +196 -0
  265. package/UI/Components/CommandPalette/PaletteRow.tsx +173 -0
  266. package/UI/Components/CommandPalette/RecentCommands.ts +57 -0
  267. package/UI/Components/CommandPalette/Types.ts +49 -0
  268. package/UI/Components/CommandPalette/UseProviderSearch.ts +129 -0
  269. package/UI/Components/Dropdown/Dropdown.tsx +6 -1
  270. package/UI/Components/EmptyState/EmptyState.tsx +8 -1
  271. package/UI/Components/Feed/FeedItem.tsx +1 -1
  272. package/UI/Components/Footer/Footer.tsx +32 -6
  273. package/UI/Components/Forms/Fields/FormField.tsx +3 -0
  274. package/UI/Components/Forms/Types/Field.ts +8 -0
  275. package/UI/Components/List/List.tsx +37 -5
  276. package/UI/Components/List/ListSkeleton.tsx +54 -0
  277. package/UI/Components/Loader/PageLoader.tsx +29 -8
  278. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +26 -4
  279. package/UI/Components/Markdown.tsx/LazyMarkdownViewer.tsx +23 -2
  280. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +71 -26
  281. package/UI/Components/MasterPage/MasterPage.tsx +24 -11
  282. package/UI/Components/Modal/Modal.tsx +2 -2
  283. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  284. package/UI/Components/ModelTable/useCustomFieldColumns.ts +11 -5
  285. package/UI/Components/MoreMenu/MoreMenu.tsx +39 -1
  286. package/UI/Components/Navbar/NavBar.tsx +14 -1
  287. package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +50 -5
  288. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +40 -1
  289. package/UI/Components/SideOver/SideOver.tsx +37 -2
  290. package/UI/Components/Skeleton/Skeleton.tsx +53 -0
  291. package/UI/Components/Table/Table.tsx +74 -44
  292. package/UI/Components/Table/TableSkeletonRows.tsx +141 -0
  293. package/UI/Components/Tabs/Tab.tsx +1 -1
  294. package/UI/Components/Toast/Toast.tsx +118 -53
  295. package/UI/Components/Toast/ToastInit.tsx +82 -32
  296. package/UI/Styles/Theme.css +40 -0
  297. package/UI/Utils/ModelAPI/ModelAPI.ts +20 -10
  298. package/UI/Utils/ModelListCache.ts +188 -0
  299. package/UI/Utils/Project.ts +29 -0
  300. package/Utils/API.ts +6 -1
  301. package/Utils/Monitor/MonitorMetricType.ts +16 -1
  302. package/Utils/Monitor/NetworkTopologyUtil.ts +60 -8
  303. package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +262 -0
  304. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +41 -24
  305. package/Utils/Telemetry/CrossSignalScope.ts +75 -4
  306. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +20 -4
  307. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  308. package/build/dist/Models/DatabaseModels/NetworkDevice.js +66 -0
  309. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  310. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +14 -0
  311. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  312. package/build/dist/Models/DatabaseModels/StatusPage.js +60 -0
  313. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  314. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +2 -0
  315. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
  316. package/build/dist/Models/DatabaseModels/UserCall.js +101 -3
  317. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
  318. package/build/dist/Models/DatabaseModels/UserEmail.js +101 -3
  319. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
  320. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js +101 -3
  321. package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js.map +1 -1
  322. package/build/dist/Models/DatabaseModels/UserPush.js +38 -0
  323. package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
  324. package/build/dist/Models/DatabaseModels/UserSMS.js +101 -3
  325. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
  326. package/build/dist/Models/DatabaseModels/UserWhatsApp.js +100 -2
  327. package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
  328. package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
  329. package/build/dist/Server/API/AIChatAPI.js +48 -35
  330. package/build/dist/Server/API/AIChatAPI.js.map +1 -1
  331. package/build/dist/Server/API/BaseAPI.js +69 -13
  332. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  333. package/build/dist/Server/API/CommonAPI.js +59 -0
  334. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  335. package/build/dist/Server/API/MicrosoftTeamsAPI.js +20 -6
  336. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  337. package/build/dist/Server/API/SlackAPI.js +13 -10
  338. package/build/dist/Server/API/SlackAPI.js.map +1 -1
  339. package/build/dist/Server/API/StatusPageAPI.js +745 -673
  340. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  341. package/build/dist/Server/API/TelemetryAPI.js +34 -3
  342. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  343. package/build/dist/Server/API/UserCallAPI.js +42 -38
  344. package/build/dist/Server/API/UserCallAPI.js.map +1 -1
  345. package/build/dist/Server/API/UserEmailAPI.js +42 -38
  346. package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
  347. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +37 -32
  348. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  349. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js +341 -0
  350. package/build/dist/Server/API/UserNotificationMethodAdminAPI.js.map +1 -0
  351. package/build/dist/Server/API/UserPushAPI.js +95 -2
  352. package/build/dist/Server/API/UserPushAPI.js.map +1 -1
  353. package/build/dist/Server/API/UserSmsAPI.js +42 -38
  354. package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
  355. package/build/dist/Server/API/UserWhatsAppAPI.js +42 -40
  356. package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
  357. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js +89 -0
  358. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js.map +1 -0
  359. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js +12 -0
  360. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js.map +1 -0
  361. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js +23 -0
  362. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787500000000-AddEnableSearchEngineIndexingToStatusPage.js.map +1 -0
  363. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js +34 -0
  364. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787600000000-AddNetworkDeviceReachabilityColumns.js.map +1 -0
  365. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js +40 -0
  366. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js.map +1 -0
  367. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  368. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  369. package/build/dist/Server/Middleware/UserAuthorization.js +6 -2
  370. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  371. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js +393 -0
  372. package/build/dist/Server/Middleware/VerificationCodeRateLimit.js.map +1 -0
  373. package/build/dist/Server/Services/AnalyticsDatabaseService.js +136 -0
  374. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  375. package/build/dist/Server/Services/ApiKeyPermissionService.js +90 -1
  376. package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
  377. package/build/dist/Server/Services/DatabaseService.js +89 -6
  378. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  379. package/build/dist/Server/Services/LogAggregationService.js +7 -0
  380. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  381. package/build/dist/Server/Services/LogService.js +16 -0
  382. package/build/dist/Server/Services/LogService.js.map +1 -1
  383. package/build/dist/Server/Services/NetworkSiteService.js +12 -0
  384. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
  385. package/build/dist/Server/Services/PushNotificationService.js +69 -30
  386. package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
  387. package/build/dist/Server/Services/SpanService.js +16 -0
  388. package/build/dist/Server/Services/SpanService.js.map +1 -1
  389. package/build/dist/Server/Services/TeamMemberService.js +43 -7
  390. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  391. package/build/dist/Server/Services/TraceAggregationService.js +2 -0
  392. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  393. package/build/dist/Server/Services/UserCallService.js +54 -22
  394. package/build/dist/Server/Services/UserCallService.js.map +1 -1
  395. package/build/dist/Server/Services/UserEmailService.js +78 -17
  396. package/build/dist/Server/Services/UserEmailService.js.map +1 -1
  397. package/build/dist/Server/Services/UserIncomingCallNumberService.js +45 -74
  398. package/build/dist/Server/Services/UserIncomingCallNumberService.js.map +1 -1
  399. package/build/dist/Server/Services/UserNotificationMethodAdminService.js +1117 -0
  400. package/build/dist/Server/Services/UserNotificationMethodAdminService.js.map +1 -0
  401. package/build/dist/Server/Services/UserNotificationRuleService.js +20 -0
  402. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  403. package/build/dist/Server/Services/UserPushService.js +77 -0
  404. package/build/dist/Server/Services/UserPushService.js.map +1 -1
  405. package/build/dist/Server/Services/UserSmsService.js +50 -17
  406. package/build/dist/Server/Services/UserSmsService.js.map +1 -1
  407. package/build/dist/Server/Services/UserWhatsAppService.js +48 -15
  408. package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
  409. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +137 -164
  410. package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
  411. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +9 -0
  412. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  413. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +21 -13
  414. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  415. package/build/dist/Server/Types/Database/QueryHelper.js +27 -0
  416. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  417. package/build/dist/Server/Utils/APIKey/AccessPermission.js +9 -32
  418. package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
  419. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  420. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -1
  421. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +87 -0
  422. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  423. package/build/dist/Server/Utils/ChannelVerification.js +348 -0
  424. package/build/dist/Server/Utils/ChannelVerification.js.map +1 -0
  425. package/build/dist/Server/Utils/LogRedaction.js +449 -0
  426. package/build/dist/Server/Utils/LogRedaction.js.map +1 -0
  427. package/build/dist/Server/Utils/Logger.js +98 -45
  428. package/build/dist/Server/Utils/Logger.js.map +1 -1
  429. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +13 -12
  430. package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
  431. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js +65 -13
  432. package/build/dist/Server/Utils/Monitor/Criteria/SSLMonitorCriteria.js.map +1 -1
  433. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +20 -17
  434. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  435. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +17 -14
  436. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  437. package/build/dist/Server/Utils/Monitor/MonitorResource.js +20 -3
  438. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  439. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +95 -0
  440. package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -0
  441. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +313 -0
  442. package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -0
  443. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +27 -7
  444. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  445. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +3 -3
  446. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +67 -26
  447. package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
  448. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +29 -10
  449. package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -1
  450. package/build/dist/Server/Utils/StartServer.js +10 -7
  451. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  452. package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js +24 -0
  453. package/build/dist/Server/Utils/StatusPageSearchEngineIndexing.js.map +1 -0
  454. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +311 -0
  455. package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -0
  456. package/build/dist/Server/Utils/TotpAuth.js +127 -8
  457. package/build/dist/Server/Utils/TotpAuth.js.map +1 -1
  458. package/build/dist/Server/Utils/UserRegistrationToken.js +170 -0
  459. package/build/dist/Server/Utils/UserRegistrationToken.js.map +1 -0
  460. package/build/dist/Server/Utils/VerificationCode.js +120 -0
  461. package/build/dist/Server/Utils/VerificationCode.js.map +1 -0
  462. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +366 -37
  463. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  464. package/build/dist/Types/API/Hostname.js +63 -0
  465. package/build/dist/Types/API/Hostname.js.map +1 -1
  466. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +20 -6
  467. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  468. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +20 -6
  469. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  470. package/build/dist/Types/Database/DatabaseProperty.js +38 -0
  471. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  472. package/build/dist/Types/Database/TableColumn.js +24 -6
  473. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  474. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  475. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  476. package/build/dist/Types/Events/Recurring.js +13 -1
  477. package/build/dist/Types/Events/Recurring.js.map +1 -1
  478. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +42 -21
  479. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  480. package/build/dist/Types/Monitor/MonitorStep.js +9 -1
  481. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  482. package/build/dist/Types/Monitor/MonitorType.js +330 -31
  483. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  484. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +77 -5
  485. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
  486. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +18 -6
  487. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
  488. package/build/dist/Types/Monitor/ServiceAlertTemplates.js +1028 -0
  489. package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -0
  490. package/build/dist/Types/Permission.js +33 -0
  491. package/build/dist/Types/Permission.js.map +1 -1
  492. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js +27 -0
  493. package/build/dist/Types/PushNotification/AndroidNotificationChannel.js.map +1 -0
  494. package/build/dist/Types/Service/ServiceLanguage.js +96 -0
  495. package/build/dist/Types/Service/ServiceLanguage.js.map +1 -0
  496. package/build/dist/Types/StatusPage/SearchEngineIndexing.js +55 -0
  497. package/build/dist/Types/StatusPage/SearchEngineIndexing.js.map +1 -0
  498. package/build/dist/Types/Telemetry/ResourceEntityFacet.js +156 -0
  499. package/build/dist/Types/Telemetry/ResourceEntityFacet.js.map +1 -0
  500. package/build/dist/Types/Text.js +82 -17
  501. package/build/dist/Types/Text.js.map +1 -1
  502. package/build/dist/UI/Components/Button/Button.js +22 -14
  503. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  504. package/build/dist/UI/Components/CardSelect/CardSelect.js +360 -40
  505. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  506. package/build/dist/UI/Components/CodeBlock/CodeBlock.js +35 -3
  507. package/build/dist/UI/Components/CodeBlock/CodeBlock.js.map +1 -1
  508. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js +57 -0
  509. package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js.map +1 -0
  510. package/build/dist/UI/Components/CommandPalette/CommandPalette.js +439 -0
  511. package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -0
  512. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js +135 -0
  513. package/build/dist/UI/Components/CommandPalette/PaletteFilter.js.map +1 -0
  514. package/build/dist/UI/Components/CommandPalette/PaletteRow.js +83 -0
  515. package/build/dist/UI/Components/CommandPalette/PaletteRow.js.map +1 -0
  516. package/build/dist/UI/Components/CommandPalette/RecentCommands.js +47 -0
  517. package/build/dist/UI/Components/CommandPalette/RecentCommands.js.map +1 -0
  518. package/build/dist/UI/Components/CommandPalette/Types.js +2 -0
  519. package/build/dist/UI/Components/CommandPalette/Types.js.map +1 -0
  520. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js +88 -0
  521. package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js.map +1 -0
  522. package/build/dist/UI/Components/Dropdown/Dropdown.js +6 -1
  523. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  524. package/build/dist/UI/Components/EmptyState/EmptyState.js +1 -1
  525. package/build/dist/UI/Components/EmptyState/EmptyState.js.map +1 -1
  526. package/build/dist/UI/Components/Feed/FeedItem.js +1 -1
  527. package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
  528. package/build/dist/UI/Components/Footer/Footer.js +7 -4
  529. package/build/dist/UI/Components/Footer/Footer.js.map +1 -1
  530. package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
  531. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  532. package/build/dist/UI/Components/List/List.js +19 -5
  533. package/build/dist/UI/Components/List/List.js.map +1 -1
  534. package/build/dist/UI/Components/List/ListSkeleton.js +21 -0
  535. package/build/dist/UI/Components/List/ListSkeleton.js.map +1 -0
  536. package/build/dist/UI/Components/Loader/PageLoader.js +15 -5
  537. package/build/dist/UI/Components/Loader/PageLoader.js.map +1 -1
  538. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +16 -3
  539. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  540. package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js +13 -1
  541. package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js.map +1 -1
  542. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +52 -25
  543. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  544. package/build/dist/UI/Components/MasterPage/MasterPage.js +10 -2
  545. package/build/dist/UI/Components/MasterPage/MasterPage.js.map +1 -1
  546. package/build/dist/UI/Components/Modal/Modal.js +2 -2
  547. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
  548. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  549. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js +9 -2
  550. package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js.map +1 -1
  551. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +32 -1
  552. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  553. package/build/dist/UI/Components/Navbar/NavBar.js +5 -1
  554. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  555. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +29 -5
  556. package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
  557. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +23 -1
  558. package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
  559. package/build/dist/UI/Components/SideOver/SideOver.js +23 -2
  560. package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
  561. package/build/dist/UI/Components/Skeleton/Skeleton.js +23 -0
  562. package/build/dist/UI/Components/Skeleton/Skeleton.js.map +1 -0
  563. package/build/dist/UI/Components/Table/Table.js +35 -24
  564. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  565. package/build/dist/UI/Components/Table/TableSkeletonRows.js +52 -0
  566. package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -0
  567. package/build/dist/UI/Components/Tabs/Tab.js +1 -1
  568. package/build/dist/UI/Components/Tabs/Tab.js.map +1 -1
  569. package/build/dist/UI/Components/Toast/Toast.js +77 -23
  570. package/build/dist/UI/Components/Toast/Toast.js.map +1 -1
  571. package/build/dist/UI/Components/Toast/ToastInit.js +37 -15
  572. package/build/dist/UI/Components/Toast/ToastInit.js.map +1 -1
  573. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -9
  574. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  575. package/build/dist/UI/Utils/ModelListCache.js +126 -0
  576. package/build/dist/UI/Utils/ModelListCache.js.map +1 -0
  577. package/build/dist/UI/Utils/Project.js +24 -1
  578. package/build/dist/UI/Utils/Project.js.map +1 -1
  579. package/build/dist/Utils/API.js +6 -1
  580. package/build/dist/Utils/API.js.map +1 -1
  581. package/build/dist/Utils/Monitor/MonitorMetricType.js +13 -1
  582. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  583. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +34 -7
  584. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  585. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +177 -0
  586. package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -0
  587. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +23 -27
  588. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -1
  589. package/build/dist/Utils/Telemetry/CrossSignalScope.js +44 -4
  590. package/build/dist/Utils/Telemetry/CrossSignalScope.js.map +1 -1
  591. package/jest.config.json +1 -1
  592. package/package.json +2 -3
  593. package/Server/Utils/Monitor/MonitorClusterContext.ts +0 -182
  594. package/Tests/__mocks__/otpauth.js +0 -30
  595. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +0 -141
  596. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +0 -1
@@ -0,0 +1,439 @@
1
+ import Icon from "../Icon/Icon";
2
+ import KeyboardShortcut, { KeyboardShortcutSize, KeyboardShortcutVariant, } from "../KeyboardShortcut/KeyboardShortcut";
3
+ import KeyboardKey from "../KeyboardShortcut/KeyboardKey";
4
+ import IconProp from "../../../Types/Icon/IconProp";
5
+ import useTranslateValue from "../../Utils/Translation";
6
+ import { lockPageScroll, unlockPageScroll } from "../../Utils/PageScrollLock";
7
+ import { filterPaletteCommands, getPaletteSectionId, normalizePaletteQuery, } from "./PaletteFilter";
8
+ import { readRecentCommandIds, RECENT_COMMANDS_LIMIT, writeRecentCommandId, } from "./RecentCommands";
9
+ import useProviderSearch from "./UseProviderSearch";
10
+ import PaletteRow from "./PaletteRow";
11
+ import React, { useEffect, useMemo, useRef, useState, } from "react";
12
+ import { createPortal } from "react-dom";
13
+ const EMPTY_PROVIDERS = [];
14
+ const hasPendingSection = (sections) => {
15
+ return sections.some((section) => {
16
+ return section.isPending;
17
+ });
18
+ };
19
+ const commandToEntry = (command, idPrefix) => {
20
+ return {
21
+ id: `${idPrefix}${command.id}`,
22
+ title: command.title,
23
+ description: command.description,
24
+ icon: command.icon,
25
+ iconColor: command.iconColor,
26
+ shortcut: command.shortcut,
27
+ recentCommandId: command.id,
28
+ onSelect: command.onSelect,
29
+ };
30
+ };
31
+ const CommandPalettePanel = (props) => {
32
+ const [query, setQuery] = useState("");
33
+ const [activeIndex, setActiveIndex] = useState(0);
34
+ /*
35
+ * The panel mounts in its closed state and is flipped open one frame later
36
+ * so the browser has something to transition from (Modal's pattern).
37
+ */
38
+ const [hasEntered, setHasEntered] = useState(false);
39
+ const inputRef = useRef(null);
40
+ const rowRefs = useRef([]);
41
+ /*
42
+ * Whatever had focus when the palette opened gets it back on close —
43
+ * captured at first render, before the autofocus effect moves focus into
44
+ * the input (Modal's pattern).
45
+ */
46
+ const previouslyFocusedElementRef = useRef(typeof document !== "undefined" &&
47
+ document.activeElement instanceof HTMLElement
48
+ ? document.activeElement
49
+ : null);
50
+ // Kept fresh so the mount-once document listener never calls a stale close.
51
+ const onCloseRef = useRef(props.onClose);
52
+ useEffect(() => {
53
+ onCloseRef.current = props.onClose;
54
+ }, [props.onClose]);
55
+ // Recently run command ids, read once when the palette opens.
56
+ const [recentCommandIds] = useState(() => {
57
+ return props.recentStorageKey
58
+ ? readRecentCommandIds(props.recentStorageKey)
59
+ : [];
60
+ });
61
+ /*
62
+ * Callers hand us plain English literals. Run every user-facing string
63
+ * through the same flat-key lookup the navbar uses so localised deployments
64
+ * render localised chrome.
65
+ */
66
+ const { translateString } = useTranslateValue();
67
+ const tx = (value) => {
68
+ var _a;
69
+ return (_a = translateString(value)) !== null && _a !== void 0 ? _a : value;
70
+ };
71
+ useEffect(() => {
72
+ const open = () => {
73
+ setHasEntered(true);
74
+ };
75
+ const frame = requestAnimationFrame(open);
76
+ /*
77
+ * A hidden or throttled tab never runs an animation frame; the timer is
78
+ * the safety net that skips the transition rather than the palette.
79
+ */
80
+ const fallbackTimer = setTimeout(open, 80);
81
+ return () => {
82
+ cancelAnimationFrame(frame);
83
+ clearTimeout(fallbackTimer);
84
+ };
85
+ }, []);
86
+ // The page behind the palette must not scroll while it is open.
87
+ useEffect(() => {
88
+ lockPageScroll();
89
+ return () => {
90
+ unlockPageScroll();
91
+ };
92
+ }, []);
93
+ useEffect(() => {
94
+ var _a;
95
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
96
+ }, []);
97
+ /*
98
+ * Escape must dismiss the palette even after focus has escaped the dialog
99
+ * subtree (a click on the backdrop scrollbar, a programmatic blur): the
100
+ * React onKeyDown on the dialog root only hears keys fired inside it, so a
101
+ * document-level listener backs it up while the panel is mounted (Modal's
102
+ * pattern). No double-fire: the React handler preventDefaults AND stops
103
+ * propagation, so an Escape it consumed either never reaches document or
104
+ * arrives flagged defaultPrevented — which is also the flag any other
105
+ * dialog above us would set.
106
+ */
107
+ useEffect(() => {
108
+ const handleDocumentKeyDown = (event) => {
109
+ if (event.defaultPrevented || event.key !== "Escape") {
110
+ return;
111
+ }
112
+ // Flag the key consumed for listeners after us (window-level ones too).
113
+ event.preventDefault();
114
+ onCloseRef.current();
115
+ };
116
+ document.addEventListener("keydown", handleDocumentKeyDown);
117
+ return () => {
118
+ document.removeEventListener("keydown", handleDocumentKeyDown);
119
+ };
120
+ }, []);
121
+ // Return focus to where it was before the palette opened (Modal's pattern).
122
+ useEffect(() => {
123
+ return () => {
124
+ var _a;
125
+ if ((_a = previouslyFocusedElementRef.current) === null || _a === void 0 ? void 0 : _a.isConnected) {
126
+ previouslyFocusedElementRef.current.focus();
127
+ }
128
+ };
129
+ }, []);
130
+ const providerSections = useProviderSearch(props.searchProviders, query);
131
+ const normalizedQuery = normalizePaletteQuery(query);
132
+ const sections = useMemo(() => {
133
+ const built = [];
134
+ const pushSection = (id, title, isPending, entries) => {
135
+ built.push({
136
+ id,
137
+ title,
138
+ isPending,
139
+ // flatIndex is stamped in a single pass after all sections exist.
140
+ entries: entries,
141
+ });
142
+ };
143
+ // Group commands by category, preserving first-seen order.
144
+ const groupByCategory = (commands) => {
145
+ const order = [];
146
+ const byCategory = new Map();
147
+ commands.forEach((command) => {
148
+ const category = command.category || "Other";
149
+ if (!byCategory.has(category)) {
150
+ byCategory.set(category, []);
151
+ order.push(category);
152
+ }
153
+ byCategory.get(category).push(command);
154
+ });
155
+ return order.map((category) => {
156
+ return { category, commands: byCategory.get(category) };
157
+ });
158
+ };
159
+ if (!normalizedQuery) {
160
+ // Browsing: "Recent" first (when we have any), then the full catalog.
161
+ if (recentCommandIds.length > 0) {
162
+ const commandById = new Map();
163
+ props.commands.forEach((command) => {
164
+ commandById.set(command.id, command);
165
+ });
166
+ const recentCommands = [];
167
+ recentCommandIds.forEach((commandId) => {
168
+ const command = commandById.get(commandId);
169
+ if (command) {
170
+ recentCommands.push(command);
171
+ }
172
+ });
173
+ if (recentCommands.length > 0) {
174
+ pushSection("recent", "Recent", false, recentCommands
175
+ .slice(0, RECENT_COMMANDS_LIMIT)
176
+ /*
177
+ * Recents repeat commands that also sit in their category
178
+ * section below — prefix the entry id so option test ids and
179
+ * DOM ids stay unique.
180
+ */
181
+ .map((command) => {
182
+ return commandToEntry(command, "recent-");
183
+ }));
184
+ }
185
+ }
186
+ groupByCategory(props.commands).forEach((group) => {
187
+ pushSection(getPaletteSectionId(group.category), group.category, false, group.commands.map((command) => {
188
+ return commandToEntry(command, "");
189
+ }));
190
+ });
191
+ }
192
+ else {
193
+ /*
194
+ * Searching: ranked command matches grouped by category — the ranked
195
+ * order decides both row order within a section and which category
196
+ * surfaces first — then one section per async provider.
197
+ */
198
+ const matches = filterPaletteCommands(props.commands, query);
199
+ groupByCategory(matches.map((match) => {
200
+ return match.command;
201
+ })).forEach((group) => {
202
+ pushSection(getPaletteSectionId(group.category), group.category, false, group.commands.map((command) => {
203
+ return commandToEntry(command, "");
204
+ }));
205
+ });
206
+ providerSections.forEach((providerSection) => {
207
+ // A provider with nothing to show (or that failed) has no section.
208
+ if (!providerSection.isPending &&
209
+ providerSection.results.length === 0) {
210
+ return;
211
+ }
212
+ pushSection(providerSection.provider.id, providerSection.provider.title, providerSection.isPending, providerSection.results.map((result) => {
213
+ return {
214
+ id: `${providerSection.provider.id}-${result.id}`,
215
+ title: result.title,
216
+ description: result.description,
217
+ icon: result.icon,
218
+ iconColor: result.iconColor,
219
+ shortcut: undefined,
220
+ recentCommandId: null,
221
+ onSelect: result.onSelect,
222
+ };
223
+ }));
224
+ });
225
+ }
226
+ // Stamp each entry with its index in the flattened keyboard order.
227
+ let flatIndex = 0;
228
+ built.forEach((section) => {
229
+ section.entries.forEach((entry) => {
230
+ entry.flatIndex = flatIndex;
231
+ flatIndex++;
232
+ });
233
+ });
234
+ return built;
235
+ }, [
236
+ normalizedQuery,
237
+ query,
238
+ props.commands,
239
+ recentCommandIds,
240
+ providerSections,
241
+ ]);
242
+ // Flattened list in render order — the keyboard walks this.
243
+ const flatEntries = useMemo(() => {
244
+ return sections.reduce((accumulator, section) => {
245
+ section.entries.forEach((entry) => {
246
+ accumulator.push(entry);
247
+ });
248
+ return accumulator;
249
+ }, []);
250
+ }, [sections]);
251
+ // A new query snaps the selection back to the best match.
252
+ useEffect(() => {
253
+ setActiveIndex(0);
254
+ }, [query]);
255
+ /*
256
+ * Clamp the selection when async results shrink the list under it. The
257
+ * functional updater matters: on a query change this effect and the reset
258
+ * above run in the same pass, and reading activeIndex from the closure here
259
+ * would clobber the queued reset with a stale clamp.
260
+ */
261
+ useEffect(() => {
262
+ if (flatEntries.length === 0) {
263
+ return;
264
+ }
265
+ setActiveIndex((index) => {
266
+ return index > flatEntries.length - 1 ? flatEntries.length - 1 : index;
267
+ });
268
+ }, [flatEntries.length]);
269
+ // Keep the active row scrolled into view as the selection moves.
270
+ useEffect(() => {
271
+ const row = rowRefs.current[activeIndex] || null;
272
+ if (row && typeof row.scrollIntoView === "function") {
273
+ row.scrollIntoView({ block: "nearest" });
274
+ }
275
+ }, [activeIndex]);
276
+ const runEntry = (entry) => {
277
+ if (entry.recentCommandId && props.recentStorageKey) {
278
+ writeRecentCommandId(props.recentStorageKey, entry.recentCommandId);
279
+ }
280
+ entry.onSelect();
281
+ props.onClose();
282
+ };
283
+ /*
284
+ * One handler on the dialog root: keys fired in the input bubble here, and
285
+ * so do keys fired with focus anywhere else inside the palette. Every
286
+ * handled key calls preventDefault so listeners beneath the palette
287
+ * (page shortcuts, scrolling) can see the key was consumed. Escape goes
288
+ * one step further and also stops propagating: the topmost dialog consumes
289
+ * its dismiss key outright, so document/window Escape listeners underneath
290
+ * (the Ask AI slide-over, page-level shortcuts) never see it at all.
291
+ */
292
+ const handleKeyDown = (event) => {
293
+ if (event.key === "Escape") {
294
+ event.preventDefault();
295
+ event.stopPropagation();
296
+ props.onClose();
297
+ return;
298
+ }
299
+ if (flatEntries.length === 0) {
300
+ return;
301
+ }
302
+ if (event.key === "ArrowDown") {
303
+ event.preventDefault();
304
+ setActiveIndex((index) => {
305
+ return (index + 1) % flatEntries.length;
306
+ });
307
+ }
308
+ else if (event.key === "ArrowUp") {
309
+ event.preventDefault();
310
+ setActiveIndex((index) => {
311
+ return (index - 1 + flatEntries.length) % flatEntries.length;
312
+ });
313
+ }
314
+ else if (event.key === "Home") {
315
+ event.preventDefault();
316
+ setActiveIndex(0);
317
+ }
318
+ else if (event.key === "End") {
319
+ event.preventDefault();
320
+ setActiveIndex(flatEntries.length - 1);
321
+ }
322
+ else if (event.key === "Enter") {
323
+ event.preventDefault();
324
+ const entry = flatEntries[activeIndex];
325
+ if (entry) {
326
+ runEntry(entry);
327
+ }
328
+ }
329
+ };
330
+ /*
331
+ * A mousedown on non-interactive panel chrome (section headers, the hints
332
+ * footer, the empty state) would move focus to the body and kill arrow-key
333
+ * navigation. preventDefault keeps focus in the input. Interactive targets
334
+ * keep their default: the input (caret/selection), option rows, and the
335
+ * scroll container itself — a scrollbar drag starts as a mousedown on it,
336
+ * and preventDefault would cancel the drag.
337
+ */
338
+ const handlePanelMouseDown = (event) => {
339
+ const target = event.target instanceof HTMLElement ? event.target : null;
340
+ if (!target) {
341
+ return;
342
+ }
343
+ if (target.id === "command-palette-listbox") {
344
+ return;
345
+ }
346
+ if (target.closest('input, textarea, select, button, a, [role="option"]')) {
347
+ return;
348
+ }
349
+ event.preventDefault();
350
+ };
351
+ const activeEntry = flatEntries[activeIndex];
352
+ /*
353
+ * Once the panel has settled it carries no transform at all — a lingering
354
+ * scale would make it the containing block for position:fixed descendants
355
+ * (the Modal invariant).
356
+ */
357
+ const panelTransitionClassName = hasEntered
358
+ ? "opacity-100"
359
+ : "scale-[0.98] opacity-0";
360
+ const resultCount = flatEntries.length;
361
+ return (React.createElement("div", { className: "relative z-50", role: "dialog", "aria-modal": "true", "aria-label": tx("Command palette"), "data-testid": "command-palette", onKeyDown: handleKeyDown },
362
+ React.createElement("div", { className: `fixed inset-0 bg-gray-500/25 backdrop-blur-sm transition-opacity duration-150 ease-out motion-reduce:transition-none ${hasEntered ? "opacity-100" : "opacity-0"}`, "data-testid": "command-palette-backdrop", "aria-hidden": "true" }),
363
+ React.createElement("div", { className: "fixed inset-0 z-50 overflow-y-auto", onClick: props.onClose },
364
+ React.createElement("div", { className: "flex min-h-full items-start justify-center p-4 sm:p-6" },
365
+ React.createElement("div", { className: `relative mt-[15vh] flex w-full max-w-xl flex-col overflow-hidden rounded-xl bg-white shadow-2xl ring-1 ring-black/5 transition duration-150 ease-out motion-reduce:transition-none ${panelTransitionClassName}`, "data-testid": "command-palette-panel", onClick: (event) => {
366
+ event.stopPropagation();
367
+ }, onMouseDown: handlePanelMouseDown },
368
+ React.createElement("div", { className: "flex items-center gap-3 border-b border-gray-100 px-4 py-3.5" },
369
+ React.createElement(Icon, { icon: IconProp.Search, className: "h-5 w-5 flex-shrink-0 text-gray-400" }),
370
+ React.createElement("input", { ref: inputRef, "data-testid": "command-palette-input", type: "text", role: "combobox", "aria-expanded": true, "aria-autocomplete": "list", "aria-controls": "command-palette-listbox", "aria-activedescendant": activeEntry
371
+ ? `command-palette-option-${activeEntry.id}`
372
+ : undefined, "aria-label": tx("Search pages, actions…"), autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: false, value: query, onChange: (event) => {
373
+ setQuery(event.target.value);
374
+ }, placeholder: tx("Search pages, actions…"), className: "flex-1 border-0 bg-transparent p-0 text-sm text-gray-900 placeholder-gray-400 focus:outline-none focus:ring-0" }),
375
+ React.createElement(KeyboardShortcut, { keys: [KeyboardKey.Mod, "K"], size: KeyboardShortcutSize.Small, className: "hidden flex-shrink-0 sm:inline-flex" })),
376
+ React.createElement("p", { "aria-live": "polite", "data-testid": "command-palette-result-count", className: "sr-only" },
377
+ resultCount,
378
+ " ",
379
+ resultCount === 1 ? tx("result") : tx("results")),
380
+ React.createElement("div", { id: "command-palette-listbox", role: "listbox", "aria-label": tx("Commands"), className: "max-h-[55vh] flex-1 overflow-y-auto overscroll-contain p-2" }, flatEntries.length === 0 && !hasPendingSection(sections) ? (React.createElement("div", { "data-testid": "command-palette-empty", className: "flex flex-col items-center justify-center py-14 text-center" },
381
+ React.createElement("div", { className: "mb-3 flex h-10 w-10 items-center justify-center rounded-full bg-gray-50 ring-1 ring-gray-100" },
382
+ React.createElement(Icon, { icon: IconProp.Search, className: "h-4 w-4 text-gray-400" })),
383
+ React.createElement("p", { className: "text-sm font-medium text-gray-900" }, tx("No results found.")),
384
+ query.trim() && (React.createElement("p", { className: "mt-1 text-xs text-gray-500" },
385
+ "\u201C",
386
+ query.trim(),
387
+ "\u201D")))) : (sections.map((section) => {
388
+ return (React.createElement("div", { key: section.id, role: "group", "aria-label": section.title, "data-testid": `command-palette-section-${section.id}`, className: "mb-1 last:mb-0" },
389
+ React.createElement("div", { "aria-hidden": "true", className: "flex items-center gap-2 px-3 pb-1 pt-2.5" },
390
+ React.createElement("h3", { className: "text-xs font-semibold uppercase tracking-wider text-gray-400" }, section.title),
391
+ section.isPending && (React.createElement("span", { "data-testid": `command-palette-section-pending-${section.id}`, className: "animate-pulse text-[10px] font-normal normal-case tracking-normal text-gray-400" }, tx("Searching…")))),
392
+ section.entries.map((entry) => {
393
+ return (React.createElement(PaletteRow, { key: entry.id, item: {
394
+ id: entry.id,
395
+ title: entry.title,
396
+ description: entry.description,
397
+ icon: entry.icon,
398
+ iconColor: entry.iconColor,
399
+ shortcut: entry.shortcut,
400
+ }, query: query, isActive: entry.flatIndex === activeIndex, onActivate: () => {
401
+ setActiveIndex(entry.flatIndex);
402
+ }, onSelect: () => {
403
+ runEntry(entry);
404
+ }, setRowElement: (element) => {
405
+ rowRefs.current[entry.flatIndex] = element;
406
+ } }));
407
+ })));
408
+ }))),
409
+ React.createElement("div", { "data-testid": "command-palette-footer", className: "flex items-center gap-4 border-t border-gray-100 px-4 py-2" },
410
+ React.createElement("span", { className: "flex items-center gap-1.5 text-[11px] text-gray-400" },
411
+ React.createElement(KeyboardShortcut, { keys: [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown], size: KeyboardShortcutSize.ExtraSmall, variant: KeyboardShortcutVariant.Ghost }),
412
+ tx("to navigate")),
413
+ React.createElement("span", { className: "flex items-center gap-1.5 text-[11px] text-gray-400" },
414
+ React.createElement(KeyboardShortcut, { keys: [KeyboardKey.Enter], size: KeyboardShortcutSize.ExtraSmall, variant: KeyboardShortcutVariant.Ghost }),
415
+ tx("to select")),
416
+ React.createElement("span", { className: "flex items-center gap-1.5 text-[11px] text-gray-400" },
417
+ React.createElement(KeyboardShortcut, { keys: [KeyboardKey.Escape], size: KeyboardShortcutSize.ExtraSmall, variant: KeyboardShortcutVariant.Ghost }),
418
+ tx("to close"))))))));
419
+ };
420
+ /**
421
+ * Generic Linear-style command palette. Knows nothing about routes or models:
422
+ * callers pass a static command catalog (grouped by `category`), optional
423
+ * async search providers for entity results, and control open state.
424
+ *
425
+ * Portals to document.body at the modal z-tier (z-50).
426
+ */
427
+ const CommandPalette = (props) => {
428
+ /*
429
+ * No hooks in this component on purpose: the early return below would
430
+ * otherwise change hook order between renders. The panel handles all state
431
+ * and mounts fresh on every open.
432
+ */
433
+ if (!props.isOpen) {
434
+ return React.createElement(React.Fragment, null);
435
+ }
436
+ return createPortal(React.createElement(CommandPalettePanel, { commands: props.commands, searchProviders: props.searchProviders || EMPTY_PROVIDERS, onClose: props.onClose, recentStorageKey: props.recentStorageKey }), document.body);
437
+ };
438
+ export default CommandPalette;
439
+ //# sourceMappingURL=CommandPalette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../../../../../UI/Components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,gBAAgB,EAAE,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,WAEN,MAAM,iCAAiC,CAAC;AACzC,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAM9E,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,iBAA4C,MAAM,qBAAqB,CAAC;AAC/E,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,EAGZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAmCzC,MAAM,eAAe,GAAiC,EAAE,CAAC;AAMzD,MAAM,iBAAiB,GAA8B,CACnD,QAAmC,EAC1B,EAAE;IACX,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAA2B,EAAE,EAAE;QACnD,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAOF,MAAM,cAAc,GAA2B,CAC7C,OAAuB,EACvB,QAAgB,EACc,EAAE;IAChC,OAAO;QACL,EAAE,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,EAAE;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,EAAE;QAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC,CAAC;AAcF,MAAM,mBAAmB,GAAkC,CACzD,KAAiB,EACH,EAAE;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAE1D;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,QAAQ,GACZ,MAAM,CAAmB,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAyD,MAAM,CAE1E,EAAE,CAAC,CAAC;IAEN;;;;OAIG;IACH,MAAM,2BAA2B,GAC/B,MAAM,CACJ,OAAO,QAAQ,KAAK,WAAW;QAC7B,QAAQ,CAAC,aAAa,YAAY,WAAW;QAC7C,CAAC,CAAC,QAAQ,CAAC,aAAa;QACxB,CAAC,CAAC,IAAI,CACT,CAAC;IAEJ,4EAA4E;IAC5E,MAAM,UAAU,GAAuC,MAAM,CAC3D,KAAK,CAAC,OAAO,CACd,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,8DAA8D;IAC9D,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACtD,OAAO,KAAK,CAAC,gBAAgB;YAC3B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChD,MAAM,EAAE,GAA8B,CAAC,KAAa,EAAU,EAAE;;QAC9D,OAAO,MAAA,eAAe,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC;IACzC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAe,GAAS,EAAE;YAClC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAW,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAElD;;;WAGG;QACH,MAAM,aAAa,GAAkC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE1E,OAAO,GAAG,EAAE;YACV,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gEAAgE;IAChE,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,EAAE,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,gBAAgB,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;;QACb,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;;;;;;OASG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,qBAAqB,GAAmC,CAC5D,KAAoB,EACd,EAAE;YACR,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAE5D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;;YACV,IAAI,MAAA,2BAA2B,CAAC,OAAO,0CAAE,WAAW,EAAE,CAAC;gBACrD,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAiC,iBAAiB,CACtE,KAAK,CAAC,eAAe,EACrB,KAAK,CACN,CAAC;IAEF,MAAM,eAAe,GAAW,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAA8B,OAAO,CAAC,GAAG,EAAE;QACvD,MAAM,KAAK,GAA8B,EAAE,CAAC;QAS5C,MAAM,WAAW,GAAwB,CACvC,EAAU,EACV,KAAa,EACb,SAAkB,EAClB,OAA4C,EACtC,EAAE;YACR,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE;gBACF,KAAK;gBACL,SAAS;gBACT,kEAAkE;gBAClE,OAAO,EAAE,OAA2B;aACrC,CAAC,CAAC;QACL,CAAC,CAAC;QAMF,2DAA2D;QAC3D,MAAM,eAAe,GAA4B,CAC/C,QAA+B,EAC+B,EAAE;YAChE,MAAM,KAAK,GAAkB,EAAE,CAAC;YAChC,MAAM,UAAU,GAAuC,IAAI,GAAG,EAAE,CAAC;YACjE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAW,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;gBACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;gBACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE;gBACpC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,sEAAsE;YACtE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAgC,IAAI,GAAG,EAAE,CAAC;gBAC3D,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;oBACjD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,MAAM,cAAc,GAA0B,EAAE,CAAC;gBACjD,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE;oBAC7C,MAAM,OAAO,GACX,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,IAAI,OAAO,EAAE,CAAC;wBACZ,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,WAAW,CACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,cAAc;yBACX,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC;wBAChC;;;;2BAIG;yBACF,GAAG,CAAC,CAAC,OAAuB,EAAE,EAAE;wBAC/B,OAAO,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC,CAAC,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CACrC,CAAC,KAA4D,EAAE,EAAE;gBAC/D,WAAW,CACT,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnC,KAAK,CAAC,QAAQ,EACd,KAAK,EACL,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAuB,EAAE,EAAE;oBAC7C,OAAO,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN;;;;eAIG;YACH,MAAM,OAAO,GAA+B,qBAAqB,CAC/D,KAAK,CAAC,QAAQ,EACd,KAAK,CACN,CAAC;YACF,eAAe,CACb,OAAO,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE;gBACzC,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CACH,CAAC,OAAO,CACP,CAAC,KAA4D,EAAE,EAAE;gBAC/D,WAAW,CACT,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnC,KAAK,CAAC,QAAQ,EACd,KAAK,EACL,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAuB,EAAE,EAAE;oBAC7C,OAAO,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAsC,EAAE,EAAE;gBAClE,mEAAmE;gBACnE,IACE,CAAC,eAAe,CAAC,SAAS;oBAC1B,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EACpC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,WAAW,CACT,eAAe,CAAC,QAAQ,CAAC,EAAE,EAC3B,eAAe,CAAC,QAAQ,CAAC,KAAK,EAC9B,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAA2B,EAAE,EAAE;oBAC1D,OAAO;wBACL,EAAE,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE;wBACjD,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,QAAQ,EAAE,SAAS;wBACnB,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,IAAI,SAAS,GAAW,CAAC,CAAC;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,OAA2B,EAAE,EAAE;YAC5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;gBAC3C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC5B,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,EAAE;QACD,eAAe;QACf,KAAK;QACL,KAAK,CAAC,QAAQ;QACd,gBAAgB;QAChB,gBAAgB;KACjB,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,WAAW,GAAqB,OAAO,CAAC,GAAG,EAAE;QACjD,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,WAA6B,EAAE,OAA2B,EAAE,EAAE;YAC7D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;gBAC3C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,cAAc,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/B,OAAO,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzB,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAA0B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QACxE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACpD,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,QAAQ,GAA+B,CAAC,KAAgB,EAAQ,EAAE;QACtE,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACpD,oBAAoB,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,aAAa,GAAyD,CAC1E,KAA0C,EACpC,EAAE;QACR,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,CAAC,KAAa,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,CAAC,KAAa,EAAE,EAAE;gBAC/B,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,KAAK,GAA0B,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,oBAAoB,GAEd,CAAC,KAAuC,EAAQ,EAAE;QAC5D,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,EAAE,KAAK,yBAAyB,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,qDAAqD,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,WAAW,GAA0B,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE;;;;OAIG;IACH,MAAM,wBAAwB,GAAW,UAAU;QACjD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,wBAAwB,CAAC;IAE7B,MAAM,WAAW,GAAW,WAAW,CAAC,MAAM,CAAC;IAE/C,OAAO,CACL,6BACE,SAAS,EAAC,eAAe,EACzB,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACL,EAAE,CAAC,iBAAiB,CAAC,iBACrB,iBAAiB,EAC7B,SAAS,EAAE,aAAa;QAGxB,6BACE,SAAS,EAAE,wHACT,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAC/B,EAAE,iBACU,0BAA0B,iBAC1B,MAAM,GAClB;QAGF,6BACE,SAAS,EAAC,oCAAoC,EAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;YAEtB,6BAAK,SAAS,EAAC,uDAAuD;gBACpE,6BACE,SAAS,EAAE,sLAAsL,wBAAwB,EAAE,iBAC/M,uBAAuB,EACnC,OAAO,EAAE,CAAC,KAAuC,EAAE,EAAE;wBACnD,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,CAAC,EACD,WAAW,EAAE,oBAAoB;oBAGjC,6BAAK,SAAS,EAAC,8DAA8D;wBAC3E,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,MAAM,EACrB,SAAS,EAAC,qCAAqC,GAC/C;wBACF,+BACE,GAAG,EAAE,QAAQ,iBACD,uBAAuB,EACnC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,UAAU,mBACA,IAAI,uBACD,MAAM,mBACV,yBAAyB,2BAErC,WAAW;gCACT,CAAC,CAAC,0BAA0B,WAAW,CAAC,EAAE,EAAE;gCAC5C,CAAC,CAAC,SAAS,gBAEH,EAAE,CAAC,wBAAwB,CAAC,EACxC,YAAY,EAAC,KAAK,EAClB,WAAW,EAAC,KAAK,EACjB,cAAc,EAAC,KAAK,EACpB,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAA0C,EAAE,EAAE;gCACvD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAC/B,CAAC,EACD,WAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,EACzC,SAAS,EAAC,+GAA+G,GACzH;wBACF,oBAAC,gBAAgB,IACf,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAChC,SAAS,EAAC,qCAAqC,GAC/C,CACE;oBAGN,wCACY,QAAQ,iBACN,8BAA8B,EAC1C,SAAS,EAAC,SAAS;wBAElB,WAAW;;wBAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAC7D;oBAGJ,6BACE,EAAE,EAAC,yBAAyB,EAC5B,IAAI,EAAC,SAAS,gBACF,EAAE,CAAC,UAAU,CAAC,EAC1B,SAAS,EAAC,4DAA4D,IAErE,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1D,4CACc,uBAAuB,EACnC,SAAS,EAAC,6DAA6D;wBAEvE,6BAAK,SAAS,EAAC,8FAA8F;4BAC3G,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,MAAM,EACrB,SAAS,EAAC,uBAAuB,GACjC,CACE;wBACN,2BAAG,SAAS,EAAC,mCAAmC,IAC7C,EAAE,CAAC,mBAAmB,CAAC,CACtB;wBACH,KAAK,CAAC,IAAI,EAAE,IAAI,CACf,2BAAG,SAAS,EAAC,4BAA4B;;4BAC/B,KAAK,CAAC,IAAI,EAAE;qCAClB,CACL,CACG,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA2B,EAAE,EAAE;wBAC3C,OAAO,CACL,6BACE,GAAG,EAAE,OAAO,CAAC,EAAE,EACf,IAAI,EAAC,OAAO,gBACA,OAAO,CAAC,KAAK,iBACZ,2BAA2B,OAAO,CAAC,EAAE,EAAE,EACpD,SAAS,EAAC,gBAAgB;4BAE1B,4CACc,MAAM,EAClB,SAAS,EAAC,0CAA0C;gCAEpD,4BAAI,SAAS,EAAC,8DAA8D,IACzE,OAAO,CAAC,KAAK,CACX;gCACJ,OAAO,CAAC,SAAS,IAAI,CACpB,6CACe,mCAAmC,OAAO,CAAC,EAAE,EAAE,EAC5D,SAAS,EAAC,iFAAiF,IAE1F,EAAE,CAAC,YAAY,CAAC,CACZ,CACR,CACG;4BACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAgB,EAAE,EAAE;gCACxC,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,KAAK,CAAC,EAAE,EACb,IAAI,EAAE;wCACJ,EAAE,EAAE,KAAK,CAAC,EAAE;wCACZ,KAAK,EAAE,KAAK,CAAC,KAAK;wCAClB,WAAW,EAAE,KAAK,CAAC,WAAW;wCAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;wCAChB,SAAS,EAAE,KAAK,CAAC,SAAS;wCAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;qCACzB,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,WAAW,EACzC,UAAU,EAAE,GAAG,EAAE;wCACf,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oCAClC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;wCACb,QAAQ,CAAC,KAAK,CAAC,CAAC;oCAClB,CAAC,EACD,aAAa,EAAE,CAAC,OAA8B,EAAE,EAAE;wCAChD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;oCAC7C,CAAC,GACD,CACH,CAAC;4BACJ,CAAC,CAAC,CACE,CACP,CAAC;oBACJ,CAAC,CAAC,CACH,CACG;oBAGN,4CACc,wBAAwB,EACpC,SAAS,EAAC,4DAA4D;wBAEtE,8BAAM,SAAS,EAAC,qDAAqD;4BACnE,oBAAC,gBAAgB,IACf,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,EAClD,IAAI,EAAE,oBAAoB,CAAC,UAAU,EACrC,OAAO,EAAE,uBAAuB,CAAC,KAAK,GACtC;4BACD,EAAE,CAAC,aAAa,CAAC,CACb;wBACP,8BAAM,SAAS,EAAC,qDAAqD;4BACnE,oBAAC,gBAAgB,IACf,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACzB,IAAI,EAAE,oBAAoB,CAAC,UAAU,EACrC,OAAO,EAAE,uBAAuB,CAAC,KAAK,GACtC;4BACD,EAAE,CAAC,WAAW,CAAC,CACX;wBACP,8BAAM,SAAS,EAAC,qDAAqD;4BACnE,oBAAC,gBAAgB,IACf,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,oBAAoB,CAAC,UAAU,EACrC,OAAO,EAAE,uBAAuB,CAAC,KAAK,GACtC;4BACD,EAAE,CAAC,UAAU,CAAC,CACV,CACH,CACF,CACF,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,cAAc,GAAsC,CACxD,KAAqB,EACP,EAAE;IAChB;;;;OAIG;IACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,yCAAK,CAAC;IACf,CAAC;IAED,OAAO,YAAY,CACjB,oBAAC,mBAAmB,IAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,EACzD,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GACxC,EACF,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,135 @@
1
+ /*
2
+ * Pure, React-free filtering and ranking for the command palette. Kept out of
3
+ * the component so the ranking contract can be unit-tested directly and reused
4
+ * by anything that needs "which commands match this text, best first".
5
+ */
6
+ /**
7
+ * How a command matched the query, best match first. The palette sorts by
8
+ * this tier and keeps the caller's original order within a tier, so two
9
+ * commands whose titles both start with the query stay in catalog order.
10
+ */
11
+ export var PaletteMatchRank;
12
+ (function (PaletteMatchRank) {
13
+ PaletteMatchRank[PaletteMatchRank["TitlePrefix"] = 0] = "TitlePrefix";
14
+ PaletteMatchRank[PaletteMatchRank["TitleSubstring"] = 1] = "TitleSubstring";
15
+ PaletteMatchRank[PaletteMatchRank["Keyword"] = 2] = "Keyword";
16
+ PaletteMatchRank[PaletteMatchRank["Category"] = 3] = "Category";
17
+ /** Query characters appear in order in the title, but not adjacently. */
18
+ PaletteMatchRank[PaletteMatchRank["TitleSubsequence"] = 4] = "TitleSubsequence";
19
+ })(PaletteMatchRank || (PaletteMatchRank = {}));
20
+ export const normalizePaletteQuery = (query) => {
21
+ return query.trim().toLowerCase();
22
+ };
23
+ /**
24
+ * True when every character of `needle` appears in `haystack` in order (not
25
+ * necessarily adjacent) — the "mntr" finds "Monitors" fallback. Both inputs
26
+ * are expected to be lowercased already.
27
+ */
28
+ export const isSubsequenceMatch = (needle, haystack) => {
29
+ if (needle.length === 0) {
30
+ return true;
31
+ }
32
+ let needleIndex = 0;
33
+ for (let haystackIndex = 0; haystackIndex < haystack.length && needleIndex < needle.length; haystackIndex++) {
34
+ if (haystack[haystackIndex] === needle[needleIndex]) {
35
+ needleIndex++;
36
+ }
37
+ }
38
+ return needleIndex === needle.length;
39
+ };
40
+ /**
41
+ * Rank one command against an already-normalized query, or null when it does
42
+ * not match at all.
43
+ */
44
+ export const rankPaletteCommand = (command, normalizedQuery) => {
45
+ const title = command.title.toLowerCase();
46
+ if (title.startsWith(normalizedQuery)) {
47
+ return PaletteMatchRank.TitlePrefix;
48
+ }
49
+ if (title.includes(normalizedQuery)) {
50
+ return PaletteMatchRank.TitleSubstring;
51
+ }
52
+ const keywordMatches = (command.keywords || []).some((keyword) => {
53
+ return keyword.toLowerCase().includes(normalizedQuery);
54
+ });
55
+ if (keywordMatches) {
56
+ return PaletteMatchRank.Keyword;
57
+ }
58
+ if (command.category.toLowerCase().includes(normalizedQuery)) {
59
+ return PaletteMatchRank.Category;
60
+ }
61
+ if (isSubsequenceMatch(normalizedQuery, title)) {
62
+ return PaletteMatchRank.TitleSubsequence;
63
+ }
64
+ return null;
65
+ };
66
+ /**
67
+ * Filter commands against free text and return them best-match-first:
68
+ * title-prefix > title-substring > keyword > category > title-subsequence.
69
+ * The sort is stable — within a tier the caller's order is preserved. An
70
+ * empty/whitespace query matches everything in the original order.
71
+ */
72
+ export const filterPaletteCommands = (commands, query) => {
73
+ const normalizedQuery = normalizePaletteQuery(query);
74
+ if (!normalizedQuery) {
75
+ return commands.map((command) => {
76
+ return { command, rank: PaletteMatchRank.TitlePrefix };
77
+ });
78
+ }
79
+ const matches = [];
80
+ commands.forEach((command) => {
81
+ const rank = rankPaletteCommand(command, normalizedQuery);
82
+ if (rank !== null) {
83
+ matches.push({ command, rank });
84
+ }
85
+ });
86
+ // Array.prototype.sort is stable, so equal ranks keep catalog order.
87
+ return matches.sort((a, b) => {
88
+ return a.rank - b.rank;
89
+ });
90
+ };
91
+ /**
92
+ * Split text into segments for <mark> highlighting: every case-insensitive
93
+ * occurrence of the query becomes a match segment. Subsequence-only matches
94
+ * produce no highlight (per-character marks read as noise).
95
+ */
96
+ export const getHighlightSegments = (text, query) => {
97
+ const needle = normalizePaletteQuery(query);
98
+ if (!needle) {
99
+ return [{ text, isMatch: false }];
100
+ }
101
+ const haystack = text.toLowerCase();
102
+ const segments = [];
103
+ let cursor = 0;
104
+ let matchAt = haystack.indexOf(needle);
105
+ while (matchAt !== -1) {
106
+ if (matchAt > cursor) {
107
+ segments.push({ text: text.slice(cursor, matchAt), isMatch: false });
108
+ }
109
+ segments.push({
110
+ text: text.slice(matchAt, matchAt + needle.length),
111
+ isMatch: true,
112
+ });
113
+ cursor = matchAt + needle.length;
114
+ matchAt = haystack.indexOf(needle, cursor);
115
+ }
116
+ if (cursor < text.length) {
117
+ segments.push({ text: text.slice(cursor), isMatch: false });
118
+ }
119
+ if (segments.length === 0) {
120
+ return [{ text, isMatch: false }];
121
+ }
122
+ return segments;
123
+ };
124
+ /**
125
+ * Stable slug for section test ids: "Analytics & Automation" →
126
+ * "analytics-automation". Search-provider sections use the provider's own id
127
+ * instead of this.
128
+ */
129
+ export const getPaletteSectionId = (title) => {
130
+ return title
131
+ .toLowerCase()
132
+ .replace(/[^a-z0-9]+/g, "-")
133
+ .replace(/^-+|-+$/g, "");
134
+ };
135
+ //# sourceMappingURL=PaletteFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaletteFilter.js","sourceRoot":"","sources":["../../../../../UI/Components/CommandPalette/PaletteFilter.ts"],"names":[],"mappings":"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"}