@cccsaurora/howler-ui 2.14.0-dev.263 → 2.14.0-dev.264

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 (1405) hide show
  1. package/api/action/execute.ts +19 -0
  2. package/api/action/index.ts +36 -0
  3. package/api/action/operations.ts +11 -0
  4. package/api/analytic/comments/index.ts +27 -0
  5. package/api/analytic/comments/react.ts +14 -0
  6. package/api/analytic/favourite.ts +14 -0
  7. package/api/analytic/index.ts +27 -0
  8. package/api/analytic/notebooks/index.ts +15 -0
  9. package/api/analytic/owner.ts +11 -0
  10. package/api/analytic/rules.ts +13 -0
  11. package/api/auth/apikey.ts +20 -0
  12. package/api/auth/index.ts +9 -0
  13. package/api/auth/login.ts +35 -0
  14. package/api/configs/index.ts +10 -0
  15. package/api/dossier/hit.ts +10 -0
  16. package/api/dossier/index.ts +26 -0
  17. package/api/help.ts +71 -0
  18. package/api/hit/assign.ts +11 -0
  19. package/api/hit/comments/index.ts +27 -0
  20. package/api/hit/comments/react.ts +15 -0
  21. package/api/hit/index.ts +56 -0
  22. package/api/hit/labels.ts +16 -0
  23. package/api/hit/overwrite.ts +11 -0
  24. package/api/hit/transition.ts +12 -0
  25. package/api/index.ts +301 -0
  26. package/api/notebook/environments.ts +14 -0
  27. package/api/notebook/index.ts +20 -0
  28. package/api/overview/index.ts +22 -0
  29. package/api/search/action.ts +12 -0
  30. package/api/search/analytic.ts +12 -0
  31. package/api/search/count/hit.ts +11 -0
  32. package/api/search/count/index.ts +18 -0
  33. package/api/search/dossier.ts +12 -0
  34. package/api/search/eql/hit.ts +12 -0
  35. package/api/search/facet/hit.ts +11 -0
  36. package/api/search/facet/index.ts +19 -0
  37. package/api/search/fields/hit.ts +12 -0
  38. package/api/search/fields/index.ts +29 -0
  39. package/api/search/fields/user.ts +14 -0
  40. package/api/search/grouped/hit.ts +15 -0
  41. package/api/search/grouped/index.ts +34 -0
  42. package/api/search/grouped/user.ts +30 -0
  43. package/api/search/histogram/hit.ts +11 -0
  44. package/api/search/histogram/index.ts +20 -0
  45. package/api/search/hit.ts +17 -0
  46. package/api/search/index.ts +63 -0
  47. package/api/search/overview.ts +12 -0
  48. package/api/search/sigma/hit.ts +12 -0
  49. package/api/search/template.ts +12 -0
  50. package/api/search/user.ts +21 -0
  51. package/api/search/view.ts +12 -0
  52. package/api/template/index.ts +22 -0
  53. package/api/user/avatar/index.ts +10 -0
  54. package/api/user/groups.ts +12 -0
  55. package/api/user/index.ts +20 -0
  56. package/api/user/whoami.ts +11 -0
  57. package/api/view/favourite.ts +14 -0
  58. package/api/view/index.ts +25 -0
  59. package/branding/AppBrand.tsx +161 -0
  60. package/commons/components/app/AppConfigs.ts +179 -0
  61. package/commons/components/app/AppConstants.ts +11 -0
  62. package/commons/components/app/AppContexts.ts +142 -0
  63. package/commons/components/app/AppDefaults.ts +52 -0
  64. package/commons/components/app/AppNotificationService.ts +7 -0
  65. package/commons/components/app/AppProvider.tsx +86 -0
  66. package/commons/components/app/AppSearchService.ts +33 -0
  67. package/commons/components/app/AppSkeleton.tsx +321 -0
  68. package/commons/components/app/AppUserService.ts +21 -0
  69. package/commons/components/app/hooks/index.ts +18 -0
  70. package/commons/components/app/hooks/useApp.tsx +6 -0
  71. package/commons/components/app/hooks/useAppBanner.tsx +7 -0
  72. package/commons/components/app/hooks/useAppBar.tsx +6 -0
  73. package/commons/components/app/hooks/useAppBarHeight.tsx +27 -0
  74. package/commons/components/app/hooks/useAppBarScrollTrigger.tsx +8 -0
  75. package/commons/components/app/hooks/useAppBreadcrumbs.tsx +6 -0
  76. package/commons/components/app/hooks/useAppConfigs.tsx +54 -0
  77. package/commons/components/app/hooks/useAppLanguage.tsx +29 -0
  78. package/commons/components/app/hooks/useAppLayout.tsx +6 -0
  79. package/commons/components/app/hooks/useAppLeftNav.tsx +6 -0
  80. package/commons/components/app/hooks/useAppLogo.tsx +9 -0
  81. package/commons/components/app/hooks/useAppNotification.tsx +6 -0
  82. package/commons/components/app/hooks/useAppQuickSearch.tsx +6 -0
  83. package/commons/components/app/hooks/useAppSearchService.tsx +7 -0
  84. package/commons/components/app/hooks/useAppSitemap.tsx +84 -0
  85. package/commons/components/app/hooks/useAppSwitcher.tsx +6 -0
  86. package/commons/components/app/hooks/useAppTheme.tsx +23 -0
  87. package/commons/components/app/hooks/useAppUser.tsx +7 -0
  88. package/commons/components/app/providers/AppBarProvider.tsx +48 -0
  89. package/commons/components/app/providers/AppBreadcrumbsProvider.tsx +53 -0
  90. package/commons/components/app/providers/AppLayoutProvider.tsx +114 -0
  91. package/commons/components/app/providers/AppLeftNavProvider.tsx +30 -0
  92. package/commons/components/app/providers/AppNotificationProvider.tsx +49 -0
  93. package/commons/components/app/providers/AppQuickSearchProvider.tsx +32 -0
  94. package/commons/components/app/providers/AppSearchServiceProvider.tsx +65 -0
  95. package/commons/components/app/providers/AppSnackbarProvider.tsx +16 -0
  96. package/commons/components/app/providers/AppSwitcherProvider.tsx +16 -0
  97. package/commons/components/app/providers/AppUserProvider.tsx +22 -0
  98. package/commons/components/breadcrumbs/BreadcrumbIcon.tsx +21 -0
  99. package/commons/components/breadcrumbs/BreadcrumbLastItem.tsx +40 -0
  100. package/commons/components/breadcrumbs/BreadcrumbLinkItem.tsx +43 -0
  101. package/commons/components/breadcrumbs/BreadcrumbList.tsx +87 -0
  102. package/commons/components/breadcrumbs/Breadcrumbs.tsx +40 -0
  103. package/commons/components/display/AppAvatar.tsx +34 -0
  104. package/commons/components/display/AppInfoPanel.tsx +30 -0
  105. package/commons/components/display/AppListEmpty.tsx +5 -0
  106. package/commons/components/display/AppToc.tsx +160 -0
  107. package/commons/components/display/hooks/useAppColor.tsx +21 -0
  108. package/commons/components/leftnav/LeftNavDrawer.tsx +172 -0
  109. package/commons/components/leftnav/LeftNavGroup.tsx +144 -0
  110. package/commons/components/leftnav/LeftNavItem.tsx +73 -0
  111. package/commons/components/notification/FeedModels.ts +163 -0
  112. package/commons/components/notification/Notification.tsx +152 -0
  113. package/commons/components/notification/elements/NotificationCloseButton.tsx +14 -0
  114. package/commons/components/notification/elements/NotificationContainer.tsx +87 -0
  115. package/commons/components/notification/elements/NotificationEndOfPage.tsx +48 -0
  116. package/commons/components/notification/elements/NotificationError.tsx +24 -0
  117. package/commons/components/notification/elements/NotificationHeader.tsx +41 -0
  118. package/commons/components/notification/elements/NotificationItems.tsx +47 -0
  119. package/commons/components/notification/elements/NotificationSkeleton.tsx +59 -0
  120. package/commons/components/notification/elements/NotificationTopNavButton.tsx +27 -0
  121. package/commons/components/notification/elements/item/NotificationItem.tsx +44 -0
  122. package/commons/components/notification/elements/item/NotificationItemAuthor.tsx +72 -0
  123. package/commons/components/notification/elements/item/NotificationItemContent.tsx +29 -0
  124. package/commons/components/notification/elements/item/NotificationItemDate.tsx +14 -0
  125. package/commons/components/notification/elements/item/NotificationItemImage.tsx +19 -0
  126. package/commons/components/notification/elements/item/NotificationItemTag.tsx +18 -0
  127. package/commons/components/notification/elements/item/NotificationItemTitle.tsx +38 -0
  128. package/commons/components/notification/index.tsx +2 -0
  129. package/commons/components/pages/PageCardCentered.tsx +32 -0
  130. package/commons/components/pages/PageCenter.tsx +46 -0
  131. package/commons/components/pages/PageContent.tsx +13 -0
  132. package/commons/components/pages/PageFullScreen.tsx +74 -0
  133. package/commons/components/pages/PageFullWidth.tsx +30 -0
  134. package/commons/components/pages/PageHeader.tsx +117 -0
  135. package/commons/components/pages/hooks/usePageProps.tsx +41 -0
  136. package/commons/components/search/AppSearch.tsx +256 -0
  137. package/commons/components/search/AppSearchInput.tsx +104 -0
  138. package/commons/components/search/AppSearchResult.tsx +66 -0
  139. package/commons/components/topnav/AppBar.tsx +137 -0
  140. package/commons/components/topnav/AppName.tsx +53 -0
  141. package/commons/components/topnav/AppSwitcher.tsx +116 -0
  142. package/commons/components/topnav/Notifications.tsx +16 -0
  143. package/commons/components/topnav/ThemeSelection.tsx +143 -0
  144. package/commons/components/topnav/ThemeSelectionIcon.tsx +39 -0
  145. package/commons/components/topnav/UserProfile.tsx +196 -0
  146. package/commons/components/utils/hooks/useClipboard.tsx +31 -0
  147. package/commons/components/utils/hooks/useEnv.tsx +13 -0
  148. package/commons/components/utils/hooks/useFullscreenStatus.tsx +47 -0
  149. package/commons/components/utils/hooks/useGravatar.tsx +13 -0
  150. package/commons/components/utils/hooks/useLocalStorage.ts +75 -0
  151. package/commons/components/utils/hooks/useLocalStorageItem.tsx +45 -0
  152. package/commons/components/utils/hooks/useThemeBuilder.tsx +55 -0
  153. package/commons/components/utils/keyboard.ts +61 -0
  154. package/components/app/App.tsx +434 -0
  155. package/components/app/AppContainer.tsx +19 -0
  156. package/components/app/drawers/ApiKeyDrawer.tsx +173 -0
  157. package/components/app/drawers/AppDrawerType.ts +7 -0
  158. package/components/app/drawers/AssignUserDrawer.tsx +126 -0
  159. package/components/app/drawers/ViewGroupsDrawer.tsx +24 -0
  160. package/components/app/hooks/useMatchers.test.ts +328 -0
  161. package/components/app/hooks/useMatchers.tsx +107 -0
  162. package/components/app/hooks/useTitle.tsx +77 -0
  163. package/components/app/providers/AnalyticProvider.tsx +87 -0
  164. package/components/app/providers/ApiConfigProvider.tsx +31 -0
  165. package/components/app/providers/AppDrawerProvider.tsx +54 -0
  166. package/components/app/providers/AvatarProvider.tsx +47 -0
  167. package/components/app/providers/CustomPluginProvider.tsx +19 -0
  168. package/components/app/providers/FavouritesProvider.tsx +157 -0
  169. package/components/app/providers/FieldProvider.tsx +34 -0
  170. package/components/app/providers/HitProvider.tsx +164 -0
  171. package/components/app/providers/HitSearchProvider.tsx +248 -0
  172. package/components/app/providers/LocalStorageProvider.tsx +67 -0
  173. package/components/app/providers/ModalProvider.tsx +57 -0
  174. package/components/app/providers/OverviewProvider.tsx +90 -0
  175. package/components/app/providers/ParameterProvider.tsx +270 -0
  176. package/components/app/providers/SocketProvider.tsx +329 -0
  177. package/components/app/providers/UserListProvider.tsx +56 -0
  178. package/components/app/providers/ViewProvider.test.tsx +244 -0
  179. package/components/app/providers/ViewProvider.tsx +207 -0
  180. package/components/elements/Comment.tsx +315 -0
  181. package/components/elements/EditRow.tsx +268 -0
  182. package/components/elements/PluginChip.tsx +32 -0
  183. package/components/elements/PluginTypography.tsx +31 -0
  184. package/components/elements/ThemedEditor.tsx +130 -0
  185. package/components/elements/UserList.tsx +79 -0
  186. package/components/elements/addons/buttons/CustomButton.tsx +93 -0
  187. package/components/elements/addons/buttons/CustomIconButton.tsx +122 -0
  188. package/components/elements/addons/buttons/index.ts +7 -0
  189. package/components/elements/addons/layout/FlexOne.tsx +6 -0
  190. package/components/elements/addons/layout/FlexPort.tsx +39 -0
  191. package/components/elements/addons/layout/FlexVertical.tsx +28 -0
  192. package/components/elements/addons/layout/vsbox/VSBox.tsx +52 -0
  193. package/components/elements/addons/layout/vsbox/VSBoxContent.tsx +13 -0
  194. package/components/elements/addons/layout/vsbox/VSBoxElement.tsx +60 -0
  195. package/components/elements/addons/layout/vsbox/VSBoxHeader.tsx +41 -0
  196. package/components/elements/addons/lists/TuiList.tsx +31 -0
  197. package/components/elements/addons/lists/TuiListBase.tsx +98 -0
  198. package/components/elements/addons/lists/TuiListElement.tsx +51 -0
  199. package/components/elements/addons/lists/TuiListMenu.tsx +61 -0
  200. package/components/elements/addons/lists/TuiListProvider.tsx +162 -0
  201. package/components/elements/addons/lists/hooks/useTuiListKeyboard.tsx +60 -0
  202. package/components/elements/addons/lists/index.tsx +25 -0
  203. package/components/elements/addons/lists/table/TuiTable.tsx +151 -0
  204. package/components/elements/addons/lists/table/TuiTableBody.tsx +77 -0
  205. package/components/elements/addons/lists/table/TuiTableHead.tsx +29 -0
  206. package/components/elements/addons/lists/table/TuiTableHeader.tsx +15 -0
  207. package/components/elements/addons/lists/table/TuiTableLayout.ts +53 -0
  208. package/components/elements/addons/lists/table/index.tsx +24 -0
  209. package/components/elements/addons/search/SearchPagination.tsx +26 -0
  210. package/components/elements/addons/search/SearchTotal.tsx +35 -0
  211. package/components/elements/addons/search/phrase/Phrase.tsx +175 -0
  212. package/components/elements/addons/search/phrase/PhraseConsumer.ts +35 -0
  213. package/components/elements/addons/search/phrase/PhraseLexer.ts +167 -0
  214. package/components/elements/addons/search/phrase/index.ts +86 -0
  215. package/components/elements/addons/search/phrase/word/WordLexer.ts +10 -0
  216. package/components/elements/addons/search/phrase/word/WordSuggester.ts +9 -0
  217. package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.ts +21 -0
  218. package/components/elements/addons/search/phrase/word/consumers/WordConsumer.ts +21 -0
  219. package/components/elements/display/ActionButton.tsx +40 -0
  220. package/components/elements/display/Classification.tsx +29 -0
  221. package/components/elements/display/DocumentationButton.tsx +46 -0
  222. package/components/elements/display/DynamicTabs.tsx +52 -0
  223. package/components/elements/display/HandlebarsMarkdown.tsx +105 -0
  224. package/components/elements/display/HowlerAvatar.tsx +66 -0
  225. package/components/elements/display/HowlerAvatarHeader.tsx +37 -0
  226. package/components/elements/display/HowlerCard.tsx +10 -0
  227. package/components/elements/display/Image.tsx +43 -0
  228. package/components/elements/display/ItemManager.tsx +146 -0
  229. package/components/elements/display/Markdown.tsx +200 -0
  230. package/components/elements/display/Modal.tsx +44 -0
  231. package/components/elements/display/Notebook.tsx +7 -0
  232. package/components/elements/display/QueryResultText.tsx +25 -0
  233. package/components/elements/display/TextDivider.tsx +48 -0
  234. package/components/elements/display/TypingIndicator.tsx +41 -0
  235. package/components/elements/display/UserPageWrapper.tsx +20 -0
  236. package/components/elements/display/features/DevelopmentBanner.tsx +24 -0
  237. package/components/elements/display/features/DevelopmentIcon.tsx +24 -0
  238. package/components/elements/display/handlebars/helpers.tsx +276 -0
  239. package/components/elements/display/icons/BundleButton.tsx +77 -0
  240. package/components/elements/display/icons/Iconified.tsx +16 -0
  241. package/components/elements/display/icons/SocketBadge.tsx +82 -0
  242. package/components/elements/display/icons/svg/howler-icon-darkmode.svg +1 -0
  243. package/components/elements/display/icons/svg/howler-icon-lightmode.svg +1 -0
  244. package/components/elements/display/icons/svg/howler-logo-full.svg +1 -0
  245. package/components/elements/display/icons/svg/howler-logo.svg +1 -0
  246. package/components/elements/display/json/JSONViewer.tsx +98 -0
  247. package/components/elements/display/markdownPlugins/tabs.ts +81 -0
  248. package/components/elements/display/modals/ConfirmDeleteModal.tsx +32 -0
  249. package/components/elements/display/modals/ConfirmNotebookModal.tsx +32 -0
  250. package/components/elements/display/modals/CreateActionModal.tsx +63 -0
  251. package/components/elements/display/modals/LoginErrorModal.tsx +31 -0
  252. package/components/elements/display/modals/RationaleModal.tsx +59 -0
  253. package/components/elements/hit/HitActions.tsx +298 -0
  254. package/components/elements/hit/HitBanner.tsx +367 -0
  255. package/components/elements/hit/HitBannerTooltip.tsx +41 -0
  256. package/components/elements/hit/HitCard.tsx +42 -0
  257. package/components/elements/hit/HitComments.tsx +372 -0
  258. package/components/elements/hit/HitDetails.tsx +324 -0
  259. package/components/elements/hit/HitLabels.tsx +265 -0
  260. package/components/elements/hit/HitLayout.ts +5 -0
  261. package/components/elements/hit/HitNotebooks.tsx +264 -0
  262. package/components/elements/hit/HitOutline.tsx +56 -0
  263. package/components/elements/hit/HitOverview.tsx +53 -0
  264. package/components/elements/hit/HitQuickSearch.tsx +111 -0
  265. package/components/elements/hit/HitRelated.tsx +18 -0
  266. package/components/elements/hit/HitShortcuts.ts +5 -0
  267. package/components/elements/hit/HitSummary.tsx +301 -0
  268. package/components/elements/hit/HitWorklog.tsx +201 -0
  269. package/components/elements/hit/actions/ButtonActions.tsx +269 -0
  270. package/components/elements/hit/actions/DropdownActions.tsx +157 -0
  271. package/components/elements/hit/actions/SharedComponents.tsx +40 -0
  272. package/components/elements/hit/aggregate/HitGraph.tsx +351 -0
  273. package/components/elements/hit/elements/Assigned.tsx +71 -0
  274. package/components/elements/hit/elements/EscalationChip.tsx +26 -0
  275. package/components/elements/hit/elements/HitTimestamp.tsx +81 -0
  276. package/components/elements/hit/outlines/DefaultOutline.tsx +107 -0
  277. package/components/elements/hit/outlines/al/AssemblyLineRules.tsx +130 -0
  278. package/components/elements/hit/related/PivotLink.tsx +67 -0
  279. package/components/elements/hit/related/RelatedIcon.tsx +51 -0
  280. package/components/elements/hit/related/RelatedLink.tsx +43 -0
  281. package/components/elements/view/ViewTitle.tsx +61 -0
  282. package/components/hooks/useHitActions.tsx +276 -0
  283. package/components/hooks/useHitSelection.tsx +102 -0
  284. package/components/hooks/useMyApi.tsx +64 -0
  285. package/components/hooks/useMyChart.tsx +164 -0
  286. package/components/hooks/useMyLocalStorage.ts +20 -0
  287. package/components/hooks/useMyPreferences.tsx +309 -0
  288. package/components/hooks/useMySearch.tsx +77 -0
  289. package/components/hooks/useMySitemap.tsx +248 -0
  290. package/components/hooks/useMySnackbar.tsx +67 -0
  291. package/components/hooks/useMyTheme.tsx +34 -0
  292. package/components/hooks/useMyUser.tsx +39 -0
  293. package/components/hooks/useMyUserFunctions.tsx +166 -0
  294. package/components/hooks/useMyUserList.tsx +15 -0
  295. package/components/hooks/useMyUtils.tsx +16 -0
  296. package/components/hooks/useScrollRestoration.tsx +37 -0
  297. package/components/logins/Login.tsx +62 -0
  298. package/components/logins/auth/OAuthLogin.tsx +49 -0
  299. package/components/logins/auth/UserPassLogin.tsx +57 -0
  300. package/components/logins/hooks/useLogin.tsx +101 -0
  301. package/components/routes/404.tsx +24 -0
  302. package/components/routes/ErrorBoundary.tsx +44 -0
  303. package/components/routes/ErrorOccured.tsx +28 -0
  304. package/components/routes/Logout.tsx +56 -0
  305. package/components/routes/action/edit/ActionEditor.tsx +358 -0
  306. package/components/routes/action/shared/ActionReportDisplay.tsx +84 -0
  307. package/components/routes/action/shared/OperationEntry.tsx +121 -0
  308. package/components/routes/action/shared/OperationStep.tsx +219 -0
  309. package/components/routes/action/useMyActionFunctions.tsx +225 -0
  310. package/components/routes/action/view/ActionDetails.tsx +205 -0
  311. package/components/routes/action/view/ActionSearch.tsx +249 -0
  312. package/components/routes/action/view/Integrations.tsx +49 -0
  313. package/components/routes/admin/users/UserEditor.tsx +55 -0
  314. package/components/routes/admin/users/UserSearch.tsx +228 -0
  315. package/components/routes/advanced/QueryBuilder.tsx +584 -0
  316. package/components/routes/advanced/QueryEditor.tsx +148 -0
  317. package/components/routes/advanced/RuleModal.tsx +217 -0
  318. package/components/routes/advanced/eqlCompletionProvider.ts +94 -0
  319. package/components/routes/advanced/eqlTokenProvider.ts +110 -0
  320. package/components/routes/advanced/historyCompletionProvider.ts +61 -0
  321. package/components/routes/advanced/luceneCompletionProvider.ts +111 -0
  322. package/components/routes/advanced/luceneTokenProvider.ts +131 -0
  323. package/components/routes/advanced/yamlCompletionProvider.ts +58 -0
  324. package/components/routes/analytics/AnalyticComments.tsx +218 -0
  325. package/components/routes/analytics/AnalyticDetails.tsx +343 -0
  326. package/components/routes/analytics/AnalyticHitComments.tsx +99 -0
  327. package/components/routes/analytics/AnalyticNotebooks.tsx +185 -0
  328. package/components/routes/analytics/AnalyticOverview.tsx +165 -0
  329. package/components/routes/analytics/AnalyticOverviews.tsx +75 -0
  330. package/components/routes/analytics/AnalyticSearch.tsx +301 -0
  331. package/components/routes/analytics/AnalyticTemplates.tsx +77 -0
  332. package/components/routes/analytics/RuleView.tsx +80 -0
  333. package/components/routes/analytics/TriageSettings.tsx +146 -0
  334. package/components/routes/analytics/widgets/Assessment.tsx +71 -0
  335. package/components/routes/analytics/widgets/Created.tsx +61 -0
  336. package/components/routes/analytics/widgets/Detection.tsx +11 -0
  337. package/components/routes/analytics/widgets/Escalation.tsx +65 -0
  338. package/components/routes/analytics/widgets/Stacked.tsx +109 -0
  339. package/components/routes/analytics/widgets/Status.tsx +21 -0
  340. package/components/routes/dossiers/DossierCard.tsx +48 -0
  341. package/components/routes/dossiers/DossierEditor.tsx +247 -0
  342. package/components/routes/dossiers/Dossiers.tsx +173 -0
  343. package/components/routes/dossiers/LeadEditor.tsx +122 -0
  344. package/components/routes/dossiers/LeadForm.tsx +106 -0
  345. package/components/routes/dossiers/PivotForm.tsx +311 -0
  346. package/components/routes/help/ActionDocumentation.tsx +77 -0
  347. package/components/routes/help/ActionIntroductionDocumentation.tsx +128 -0
  348. package/components/routes/help/ApiDocumentation.tsx +217 -0
  349. package/components/routes/help/AuthDocumentation.tsx +26 -0
  350. package/components/routes/help/BundleDocumentation.tsx +17 -0
  351. package/components/routes/help/ClientDocumentation.tsx +27 -0
  352. package/components/routes/help/Help.tsx +96 -0
  353. package/components/routes/help/HitBannerDocumentation.tsx +71 -0
  354. package/components/routes/help/HitDocumentation.tsx +77 -0
  355. package/components/routes/help/HitLabelsDocumentation.tsx +57 -0
  356. package/components/routes/help/HitLinksDocumentation.tsx +23 -0
  357. package/components/routes/help/HitSchemaDocumentation.tsx +253 -0
  358. package/components/routes/help/NotebookDocumentation.tsx +28 -0
  359. package/components/routes/help/OverviewDocumentation.tsx +21 -0
  360. package/components/routes/help/RetentionDocumentation.tsx +55 -0
  361. package/components/routes/help/SearchDocumentation.tsx +700 -0
  362. package/components/routes/help/TemplateDocumentation.tsx +73 -0
  363. package/components/routes/help/ViewDocumentation.tsx +32 -0
  364. package/components/routes/help/components/HelpTabs.tsx +47 -0
  365. package/components/routes/help/markdown/en/actionIntroduction.md +33 -0
  366. package/components/routes/help/markdown/en/authentication.md +261 -0
  367. package/components/routes/help/markdown/en/bundles.md +70 -0
  368. package/components/routes/help/markdown/en/client.md +213 -0
  369. package/components/routes/help/markdown/en/links.md +37 -0
  370. package/components/routes/help/markdown/en/notebook.md +157 -0
  371. package/components/routes/help/markdown/en/retention.md +15 -0
  372. package/components/routes/help/markdown/en/schema.md +20 -0
  373. package/components/routes/help/markdown/en/templates.md +23 -0
  374. package/components/routes/help/markdown/en/views.md +11 -0
  375. package/components/routes/help/markdown/fr/actionIntroduction.md +33 -0
  376. package/components/routes/help/markdown/fr/authentication.md +259 -0
  377. package/components/routes/help/markdown/fr/bundles.md +70 -0
  378. package/components/routes/help/markdown/fr/client.md +209 -0
  379. package/components/routes/help/markdown/fr/links.md +37 -0
  380. package/components/routes/help/markdown/fr/notebook.md +157 -0
  381. package/components/routes/help/markdown/fr/retention.md +15 -0
  382. package/components/routes/help/markdown/fr/schema.md +20 -0
  383. package/components/routes/help/markdown/fr/templates.md +23 -0
  384. package/components/routes/help/markdown/fr/views.md +11 -0
  385. package/components/routes/hits/search/BundleParentMenu.tsx +73 -0
  386. package/components/routes/hits/search/BundleScroller.tsx +8 -0
  387. package/components/routes/hits/search/CustomSort.tsx +94 -0
  388. package/components/routes/hits/search/HitBrowser.tsx +318 -0
  389. package/components/routes/hits/search/HitContextMenu.tsx +260 -0
  390. package/components/routes/hits/search/HitQuery.tsx +268 -0
  391. package/components/routes/hits/search/InformationPane.tsx +430 -0
  392. package/components/routes/hits/search/SearchPane.tsx +291 -0
  393. package/components/routes/hits/search/ViewLink.tsx +96 -0
  394. package/components/routes/hits/search/grid/AddColumnModal.tsx +98 -0
  395. package/components/routes/hits/search/grid/ColumnHeader.tsx +70 -0
  396. package/components/routes/hits/search/grid/EnhancedCell.tsx +50 -0
  397. package/components/routes/hits/search/grid/HitGrid.tsx +342 -0
  398. package/components/routes/hits/search/grid/HitRow.tsx +121 -0
  399. package/components/routes/hits/search/shared/CustomSpan.tsx +54 -0
  400. package/components/routes/hits/search/shared/HitFilter.tsx +110 -0
  401. package/components/routes/hits/search/shared/HitSort.tsx +111 -0
  402. package/components/routes/hits/search/shared/QuerySettings.tsx +40 -0
  403. package/components/routes/hits/search/shared/SearchSpan.tsx +68 -0
  404. package/components/routes/hits/view/HitViewer.tsx +372 -0
  405. package/components/routes/hits/view/LeadRenderer.tsx +42 -0
  406. package/components/routes/home/AddNewCard.tsx +295 -0
  407. package/components/routes/home/AnalyticCard.tsx +68 -0
  408. package/components/routes/home/EntryWrapper.tsx +54 -0
  409. package/components/routes/home/ViewCard.tsx +96 -0
  410. package/components/routes/home/index.tsx +278 -0
  411. package/components/routes/overviews/OverviewCard.tsx +51 -0
  412. package/components/routes/overviews/OverviewEditor.tsx +102 -0
  413. package/components/routes/overviews/OverviewViewer.tsx +387 -0
  414. package/components/routes/overviews/Overviews.tsx +179 -0
  415. package/components/routes/overviews/markdownExtendedTokenProvider.ts +296 -0
  416. package/components/routes/overviews/startingTemplate.ts +40 -0
  417. package/components/routes/overviews/template/en.md +167 -0
  418. package/components/routes/overviews/template/fr.md +167 -0
  419. package/components/routes/settings/AdminSection.tsx +18 -0
  420. package/components/routes/settings/LocalSection.tsx +168 -0
  421. package/components/routes/settings/ProfileSection.tsx +138 -0
  422. package/components/routes/settings/SecuritySection.tsx +95 -0
  423. package/components/routes/settings/Settings.tsx +51 -0
  424. package/components/routes/settings/SettingsSection.tsx +28 -0
  425. package/components/routes/templates/TemplateCard.tsx +38 -0
  426. package/components/routes/templates/TemplateDnD.tsx +51 -0
  427. package/components/routes/templates/TemplateEditor.tsx +121 -0
  428. package/components/routes/templates/TemplateViewer.tsx +285 -0
  429. package/components/routes/templates/Templates.tsx +187 -0
  430. package/components/routes/views/ViewComposer.tsx +317 -0
  431. package/components/routes/views/Views.tsx +379 -0
  432. package/i18n.ts +50 -0
  433. package/index.tsx +19 -0
  434. package/locales/en/help/main.json +13 -0
  435. package/locales/en/help/search.json +186 -0
  436. package/locales/en/translation.json +799 -0
  437. package/locales/fr/help/main.json +13 -0
  438. package/locales/fr/help/search.json +186 -0
  439. package/locales/fr/translation.json +797 -0
  440. package/models/ActionTypes.d.ts +2 -1
  441. package/models/WithMetadata.d.ts +5 -4
  442. package/models/entities/HowlerUser.d.ts +2 -1
  443. package/models/entities/generated/Action.d.ts +2 -1
  444. package/models/entities/generated/Analytic.d.ts +4 -3
  445. package/models/entities/generated/Assemblyline.d.ts +9 -8
  446. package/models/entities/generated/Attachment.d.ts +2 -1
  447. package/models/entities/generated/Aws.d.ts +3 -2
  448. package/models/entities/generated/Cbs.d.ts +2 -1
  449. package/models/entities/generated/Cloud.d.ts +6 -5
  450. package/models/entities/generated/Container.d.ts +2 -1
  451. package/models/entities/generated/Destination.d.ts +6 -5
  452. package/models/entities/generated/Dns.d.ts +3 -2
  453. package/models/entities/generated/Dossier.d.ts +3 -2
  454. package/models/entities/generated/Elf.d.ts +4 -3
  455. package/models/entities/generated/Email.d.ts +9 -8
  456. package/models/entities/generated/Enrichment.d.ts +3 -2
  457. package/models/entities/generated/Faas.d.ts +2 -1
  458. package/models/entities/generated/File.d.ts +2 -1
  459. package/models/entities/generated/Geo.d.ts +2 -1
  460. package/models/entities/generated/Hit.d.ts +37 -36
  461. package/models/entities/generated/HitFile.d.ts +5 -4
  462. package/models/entities/generated/Howler.d.ts +9 -8
  463. package/models/entities/generated/HowlerDossier.d.ts +2 -1
  464. package/models/entities/generated/Http.d.ts +3 -2
  465. package/models/entities/generated/Image.d.ts +2 -1
  466. package/models/entities/generated/Indicator.d.ts +3 -2
  467. package/models/entities/generated/IndicatorFile.d.ts +5 -4
  468. package/models/entities/generated/Ingress.d.ts +2 -1
  469. package/models/entities/generated/Lead.d.ts +2 -1
  470. package/models/entities/generated/Mitre.d.ts +3 -2
  471. package/models/entities/generated/Observer.d.ts +4 -3
  472. package/models/entities/generated/Original.d.ts +4 -3
  473. package/models/entities/generated/Parent.d.ts +5 -4
  474. package/models/entities/generated/ParentParent.d.ts +6 -5
  475. package/models/entities/generated/Pivot.d.ts +3 -2
  476. package/models/entities/generated/Process.d.ts +7 -6
  477. package/models/entities/generated/ProcessParent.d.ts +7 -6
  478. package/models/entities/generated/Registry.d.ts +2 -1
  479. package/models/entities/generated/Request.d.ts +2 -1
  480. package/models/entities/generated/Response.d.ts +2 -1
  481. package/models/entities/generated/Sharepoint.d.ts +3 -2
  482. package/models/entities/generated/Source.d.ts +6 -5
  483. package/models/entities/generated/SourceOriginal.d.ts +4 -3
  484. package/models/entities/generated/Threat.d.ts +8 -7
  485. package/models/entities/generated/ThreatIndicator.d.ts +3 -2
  486. package/models/entities/generated/Tls.d.ts +3 -2
  487. package/models/entities/generated/User.d.ts +2 -1
  488. package/models/entities/generated/UserAgent.d.ts +3 -2
  489. package/models/entities/generated/UserUser.d.ts +2 -1
  490. package/models/entities/generated/View.d.ts +2 -1
  491. package/models/socket/HitUpdate.d.ts +2 -1
  492. package/package.json +604 -154
  493. package/plugins/HowlerPlugin.ts +375 -0
  494. package/plugins/store.ts +152 -0
  495. package/rest/AxiosClient.ts +81 -0
  496. package/rest/FetchClient.ts +27 -0
  497. package/rest/index.ts +12 -0
  498. package/setupTests.ts +17 -0
  499. package/tests/MockLocalStorage.ts +46 -0
  500. package/tests/server-handlers.ts +114 -0
  501. package/tests/server.ts +6 -0
  502. package/utils/Throttler.ts +43 -0
  503. package/utils/actionUtils.ts +112 -0
  504. package/utils/constants.tsx +131 -0
  505. package/utils/hit.json +30356 -0
  506. package/utils/hitFunctions.ts +10 -0
  507. package/utils/localStorage.ts +54 -0
  508. package/utils/menuUtils.ts +274 -0
  509. package/utils/sessionStorage.ts +59 -0
  510. package/utils/socketUtils.ts +11 -0
  511. package/utils/stringUtils.ts +57 -0
  512. package/utils/utils.ts +222 -0
  513. package/utils/xsrf.ts +17 -0
  514. package/Notification-BHyOHttL.js +0 -324
  515. package/TuiList-D7-CH2oS.js +0 -48
  516. package/api/action/execute.d.ts +0 -3
  517. package/api/action/execute.js +0 -5
  518. package/api/action/index.d.ts +0 -10
  519. package/api/action/index.js +0 -11
  520. package/api/action/operations.d.ts +0 -3
  521. package/api/action/operations.js +0 -5
  522. package/api/analytic/comments/index.d.ts +0 -13
  523. package/api/analytic/comments/index.js +0 -9
  524. package/api/analytic/comments/react.d.ts +0 -3
  525. package/api/analytic/comments/react.js +0 -6
  526. package/api/analytic/favourite.d.ts +0 -7
  527. package/api/analytic/favourite.js +0 -6
  528. package/api/analytic/index.d.ts +0 -12
  529. package/api/analytic/index.js +0 -12
  530. package/api/analytic/notebooks/index.d.ts +0 -10
  531. package/api/analytic/notebooks/index.js +0 -6
  532. package/api/analytic/owner.d.ts +0 -5
  533. package/api/analytic/owner.js +0 -5
  534. package/api/analytic/rules.d.ts +0 -3
  535. package/api/analytic/rules.js +0 -5
  536. package/api/auth/apikey.d.ts +0 -8
  537. package/api/auth/apikey.js +0 -6
  538. package/api/auth/index.d.ts +0 -4
  539. package/api/auth/index.js +0 -6
  540. package/api/auth/login.d.ts +0 -14
  541. package/api/auth/login.js +0 -7
  542. package/api/configs/index.d.ts +0 -3
  543. package/api/configs/index.js +0 -5
  544. package/api/dossier/hit.d.ts +0 -2
  545. package/api/dossier/hit.js +0 -4
  546. package/api/dossier/index.d.ts +0 -8
  547. package/api/dossier/index.js +0 -9
  548. package/api/help.d.ts +0 -55
  549. package/api/help.js +0 -5
  550. package/api/hit/assign.d.ts +0 -3
  551. package/api/hit/assign.js +0 -5
  552. package/api/hit/comments/index.d.ts +0 -13
  553. package/api/hit/comments/index.js +0 -9
  554. package/api/hit/comments/react.d.ts +0 -3
  555. package/api/hit/comments/react.js +0 -6
  556. package/api/hit/index.d.ts +0 -35
  557. package/api/hit/index.js +0 -12
  558. package/api/hit/labels.d.ts +0 -5
  559. package/api/hit/labels.js +0 -6
  560. package/api/hit/overwrite.d.ts +0 -3
  561. package/api/hit/overwrite.js +0 -5
  562. package/api/hit/transition.d.ts +0 -4
  563. package/api/hit/transition.js +0 -5
  564. package/api/index.d.ts +0 -142
  565. package/api/index.js +0 -21
  566. package/api/notebook/environments.d.ts +0 -10
  567. package/api/notebook/environments.js +0 -5
  568. package/api/notebook/index.d.ts +0 -14
  569. package/api/notebook/index.js +0 -6
  570. package/api/overview/index.d.ts +0 -6
  571. package/api/overview/index.js +0 -8
  572. package/api/search/action.d.ts +0 -4
  573. package/api/search/action.js +0 -5
  574. package/api/search/analytic.d.ts +0 -4
  575. package/api/search/analytic.js +0 -5
  576. package/api/search/count/hit.d.ts +0 -3
  577. package/api/search/count/hit.js +0 -5
  578. package/api/search/count/index.d.ts +0 -10
  579. package/api/search/count/index.js +0 -5
  580. package/api/search/dossier.d.ts +0 -4
  581. package/api/search/dossier.js +0 -5
  582. package/api/search/eql/hit.d.ts +0 -4
  583. package/api/search/eql/hit.js +0 -5
  584. package/api/search/facet/hit.d.ts +0 -5
  585. package/api/search/facet/hit.js +0 -5
  586. package/api/search/facet/index.d.ts +0 -13
  587. package/api/search/facet/index.js +0 -5
  588. package/api/search/fields/hit.d.ts +0 -3
  589. package/api/search/fields/hit.js +0 -5
  590. package/api/search/fields/index.d.ts +0 -19
  591. package/api/search/fields/index.js +0 -8
  592. package/api/search/fields/user.d.ts +0 -3
  593. package/api/search/fields/user.js +0 -5
  594. package/api/search/grouped/hit.d.ts +0 -4
  595. package/api/search/grouped/hit.js +0 -5
  596. package/api/search/grouped/index.d.ts +0 -25
  597. package/api/search/grouped/index.js +0 -6
  598. package/api/search/grouped/user.d.ts +0 -7
  599. package/api/search/grouped/user.js +0 -5
  600. package/api/search/histogram/hit.d.ts +0 -3
  601. package/api/search/histogram/hit.js +0 -5
  602. package/api/search/histogram/index.d.ts +0 -14
  603. package/api/search/histogram/index.js +0 -5
  604. package/api/search/hit.d.ts +0 -7
  605. package/api/search/hit.js +0 -7
  606. package/api/search/index.d.ts +0 -53
  607. package/api/search/index.js +0 -17
  608. package/api/search/overview.d.ts +0 -4
  609. package/api/search/overview.js +0 -5
  610. package/api/search/sigma/hit.d.ts +0 -4
  611. package/api/search/sigma/hit.js +0 -5
  612. package/api/search/template.d.ts +0 -4
  613. package/api/search/template.js +0 -5
  614. package/api/search/user.d.ts +0 -7
  615. package/api/search/user.js +0 -5
  616. package/api/search/view.d.ts +0 -4
  617. package/api/search/view.js +0 -5
  618. package/api/template/index.d.ts +0 -6
  619. package/api/template/index.js +0 -8
  620. package/api/user/avatar/index.d.ts +0 -2
  621. package/api/user/avatar/index.js +0 -5
  622. package/api/user/groups.d.ts +0 -6
  623. package/api/user/groups.js +0 -5
  624. package/api/user/index.d.ts +0 -10
  625. package/api/user/index.js +0 -9
  626. package/api/user/whoami.d.ts +0 -3
  627. package/api/user/whoami.js +0 -5
  628. package/api/view/favourite.d.ts +0 -7
  629. package/api/view/favourite.js +0 -6
  630. package/api/view/index.d.ts +0 -8
  631. package/api/view/index.js +0 -9
  632. package/assets/howler-ui.css +0 -21
  633. package/branding/AppBrand.d.ts +0 -85
  634. package/branding/AppBrand.js +0 -135
  635. package/branding/howler/favicon.svg +0 -38
  636. package/branding/howler/name-dark.svg +0 -21
  637. package/branding/howler/name-light.svg +0 -21
  638. package/branding/howler/noswoosh-dark.svg +0 -24
  639. package/branding/howler/noswoosh-light.svg +0 -28
  640. package/branding/howler/swoosh-dark.svg +0 -41
  641. package/branding/howler/swoosh-light.svg +0 -45
  642. package/commons/components/app/AppConfigs.d.ts +0 -137
  643. package/commons/components/app/AppConfigs.js +0 -1
  644. package/commons/components/app/AppConstants.d.ts +0 -10
  645. package/commons/components/app/AppConstants.js +0 -14
  646. package/commons/components/app/AppContexts.d.ts +0 -105
  647. package/commons/components/app/AppContexts.js +0 -23
  648. package/commons/components/app/AppDefaults.d.ts +0 -6
  649. package/commons/components/app/AppDefaults.js +0 -42
  650. package/commons/components/app/AppNotificationService.d.ts +0 -6
  651. package/commons/components/app/AppNotificationService.js +0 -1
  652. package/commons/components/app/AppProvider.d.ts +0 -15
  653. package/commons/components/app/AppProvider.js +0 -44
  654. package/commons/components/app/AppSearchService.d.ts +0 -21
  655. package/commons/components/app/AppSearchService.js +0 -1
  656. package/commons/components/app/AppSkeleton.d.ts +0 -5
  657. package/commons/components/app/AppSkeleton.js +0 -259
  658. package/commons/components/app/AppUserService.d.ts +0 -17
  659. package/commons/components/app/AppUserService.js +0 -1
  660. package/commons/components/app/hooks/index.d.ts +0 -18
  661. package/commons/components/app/hooks/index.js +0 -40
  662. package/commons/components/app/hooks/useApp.d.ts +0 -1
  663. package/commons/components/app/hooks/useApp.js +0 -8
  664. package/commons/components/app/hooks/useAppBanner.d.ts +0 -1
  665. package/commons/components/app/hooks/useAppBanner.js +0 -14
  666. package/commons/components/app/hooks/useAppBar.d.ts +0 -1
  667. package/commons/components/app/hooks/useAppBar.js +0 -8
  668. package/commons/components/app/hooks/useAppBarHeight.d.ts +0 -2
  669. package/commons/components/app/hooks/useAppBarHeight.js +0 -26
  670. package/commons/components/app/hooks/useAppBarScrollTrigger.d.ts +0 -1
  671. package/commons/components/app/hooks/useAppBarScrollTrigger.js +0 -10
  672. package/commons/components/app/hooks/useAppBreadcrumbs.d.ts +0 -1
  673. package/commons/components/app/hooks/useAppBreadcrumbs.js +0 -8
  674. package/commons/components/app/hooks/useAppConfigs.d.ts +0 -59
  675. package/commons/components/app/hooks/useAppConfigs.js +0 -39
  676. package/commons/components/app/hooks/useAppLanguage.d.ts +0 -6
  677. package/commons/components/app/hooks/useAppLanguage.js +0 -23
  678. package/commons/components/app/hooks/useAppLayout.d.ts +0 -1
  679. package/commons/components/app/hooks/useAppLayout.js +0 -8
  680. package/commons/components/app/hooks/useAppLeftNav.d.ts +0 -1
  681. package/commons/components/app/hooks/useAppLeftNav.js +0 -8
  682. package/commons/components/app/hooks/useAppLogo.d.ts +0 -1
  683. package/commons/components/app/hooks/useAppLogo.js +0 -11
  684. package/commons/components/app/hooks/useAppNotification.d.ts +0 -1
  685. package/commons/components/app/hooks/useAppNotification.js +0 -8
  686. package/commons/components/app/hooks/useAppQuickSearch.d.ts +0 -1
  687. package/commons/components/app/hooks/useAppQuickSearch.js +0 -8
  688. package/commons/components/app/hooks/useAppSearchService.d.ts +0 -2
  689. package/commons/components/app/hooks/useAppSearchService.js +0 -8
  690. package/commons/components/app/hooks/useAppSitemap.d.ts +0 -13
  691. package/commons/components/app/hooks/useAppSitemap.js +0 -60
  692. package/commons/components/app/hooks/useAppSwitcher.d.ts +0 -1
  693. package/commons/components/app/hooks/useAppSwitcher.js +0 -8
  694. package/commons/components/app/hooks/useAppTheme.d.ts +0 -8
  695. package/commons/components/app/hooks/useAppTheme.js +0 -20
  696. package/commons/components/app/hooks/useAppUser.d.ts +0 -2
  697. package/commons/components/app/hooks/useAppUser.js +0 -8
  698. package/commons/components/app/providers/AppBarProvider.d.ts +0 -10
  699. package/commons/components/app/providers/AppBarProvider.js +0 -35
  700. package/commons/components/app/providers/AppBreadcrumbsProvider.d.ts +0 -6
  701. package/commons/components/app/providers/AppBreadcrumbsProvider.js +0 -41
  702. package/commons/components/app/providers/AppLayoutProvider.d.ts +0 -6
  703. package/commons/components/app/providers/AppLayoutProvider.js +0 -95
  704. package/commons/components/app/providers/AppLeftNavProvider.d.ts +0 -6
  705. package/commons/components/app/providers/AppLeftNavProvider.js +0 -29
  706. package/commons/components/app/providers/AppNotificationProvider.d.ts +0 -6
  707. package/commons/components/app/providers/AppNotificationProvider.js +0 -33
  708. package/commons/components/app/providers/AppQuickSearchProvider.d.ts +0 -8
  709. package/commons/components/app/providers/AppQuickSearchProvider.js +0 -26
  710. package/commons/components/app/providers/AppSearchServiceProvider.d.ts +0 -6
  711. package/commons/components/app/providers/AppSearchServiceProvider.js +0 -49
  712. package/commons/components/app/providers/AppSnackbarProvider.d.ts +0 -3
  713. package/commons/components/app/providers/AppSnackbarProvider.js +0 -14
  714. package/commons/components/app/providers/AppSwitcherProvider.d.ts +0 -6
  715. package/commons/components/app/providers/AppSwitcherProvider.js +0 -15
  716. package/commons/components/app/providers/AppUserProvider.d.ts +0 -8
  717. package/commons/components/app/providers/AppUserProvider.js +0 -18
  718. package/commons/components/breadcrumbs/BreadcrumbIcon.d.ts +0 -6
  719. package/commons/components/breadcrumbs/BreadcrumbIcon.js +0 -16
  720. package/commons/components/breadcrumbs/BreadcrumbLastItem.d.ts +0 -7
  721. package/commons/components/breadcrumbs/BreadcrumbLastItem.js +0 -40
  722. package/commons/components/breadcrumbs/BreadcrumbLinkItem.d.ts +0 -7
  723. package/commons/components/breadcrumbs/BreadcrumbLinkItem.js +0 -44
  724. package/commons/components/breadcrumbs/BreadcrumbList.d.ts +0 -11
  725. package/commons/components/breadcrumbs/BreadcrumbList.js +0 -74
  726. package/commons/components/breadcrumbs/Breadcrumbs.d.ts +0 -4
  727. package/commons/components/breadcrumbs/Breadcrumbs.js +0 -45
  728. package/commons/components/display/AppAvatar.d.ts +0 -8
  729. package/commons/components/display/AppAvatar.js +0 -28
  730. package/commons/components/display/AppInfoPanel.d.ts +0 -5
  731. package/commons/components/display/AppInfoPanel.js +0 -33
  732. package/commons/components/display/AppListEmpty.d.ts +0 -2
  733. package/commons/components/display/AppListEmpty.js +0 -8
  734. package/commons/components/display/AppToc.d.ts +0 -19
  735. package/commons/components/display/AppToc.js +0 -116
  736. package/commons/components/display/hooks/useAppColor.d.ts +0 -5
  737. package/commons/components/display/hooks/useAppColor.js +0 -15
  738. package/commons/components/leftnav/LeftNavDrawer.d.ts +0 -2
  739. package/commons/components/leftnav/LeftNavDrawer.js +0 -141
  740. package/commons/components/leftnav/LeftNavGroup.d.ts +0 -7
  741. package/commons/components/leftnav/LeftNavGroup.js +0 -125
  742. package/commons/components/leftnav/LeftNavItem.d.ts +0 -10
  743. package/commons/components/leftnav/LeftNavItem.js +0 -50
  744. package/commons/components/notification/FeedModels.d.ts +0 -64
  745. package/commons/components/notification/FeedModels.js +0 -91
  746. package/commons/components/notification/Notification.d.ts +0 -10
  747. package/commons/components/notification/Notification.js +0 -8
  748. package/commons/components/notification/elements/NotificationCloseButton.d.ts +0 -3
  749. package/commons/components/notification/elements/NotificationCloseButton.js +0 -8
  750. package/commons/components/notification/elements/NotificationContainer.d.ts +0 -16
  751. package/commons/components/notification/elements/NotificationContainer.js +0 -10
  752. package/commons/components/notification/elements/NotificationEndOfPage.d.ts +0 -5
  753. package/commons/components/notification/elements/NotificationEndOfPage.js +0 -41
  754. package/commons/components/notification/elements/NotificationError.d.ts +0 -2
  755. package/commons/components/notification/elements/NotificationError.js +0 -27
  756. package/commons/components/notification/elements/NotificationHeader.d.ts +0 -8
  757. package/commons/components/notification/elements/NotificationHeader.js +0 -41
  758. package/commons/components/notification/elements/NotificationItems.d.ts +0 -12
  759. package/commons/components/notification/elements/NotificationItems.js +0 -10
  760. package/commons/components/notification/elements/NotificationSkeleton.d.ts +0 -2
  761. package/commons/components/notification/elements/NotificationSkeleton.js +0 -54
  762. package/commons/components/notification/elements/NotificationTopNavButton.d.ts +0 -9
  763. package/commons/components/notification/elements/NotificationTopNavButton.js +0 -14
  764. package/commons/components/notification/elements/item/NotificationItem.d.ts +0 -5
  765. package/commons/components/notification/elements/item/NotificationItem.js +0 -10
  766. package/commons/components/notification/elements/item/NotificationItemAuthor.d.ts +0 -5
  767. package/commons/components/notification/elements/item/NotificationItemAuthor.js +0 -63
  768. package/commons/components/notification/elements/item/NotificationItemContent.d.ts +0 -3
  769. package/commons/components/notification/elements/item/NotificationItemContent.js +0 -9
  770. package/commons/components/notification/elements/item/NotificationItemDate.d.ts +0 -3
  771. package/commons/components/notification/elements/item/NotificationItemDate.js +0 -9
  772. package/commons/components/notification/elements/item/NotificationItemImage.d.ts +0 -4
  773. package/commons/components/notification/elements/item/NotificationItemImage.js +0 -20
  774. package/commons/components/notification/elements/item/NotificationItemTag.d.ts +0 -4
  775. package/commons/components/notification/elements/item/NotificationItemTag.js +0 -16
  776. package/commons/components/notification/elements/item/NotificationItemTitle.d.ts +0 -3
  777. package/commons/components/notification/elements/item/NotificationItemTitle.js +0 -8
  778. package/commons/components/notification/index.d.ts +0 -2
  779. package/commons/components/notification/index.js +0 -13
  780. package/commons/components/pages/PageCardCentered.d.ts +0 -5
  781. package/commons/components/pages/PageCardCentered.js +0 -35
  782. package/commons/components/pages/PageCenter.d.ts +0 -8
  783. package/commons/components/pages/PageCenter.js +0 -39
  784. package/commons/components/pages/PageContent.d.ts +0 -7
  785. package/commons/components/pages/PageContent.js +0 -11
  786. package/commons/components/pages/PageFullScreen.d.ts +0 -10
  787. package/commons/components/pages/PageFullScreen.js +0 -57
  788. package/commons/components/pages/PageFullWidth.d.ts +0 -11
  789. package/commons/components/pages/PageFullWidth.js +0 -18
  790. package/commons/components/pages/PageHeader.d.ts +0 -23
  791. package/commons/components/pages/PageHeader.js +0 -83
  792. package/commons/components/pages/hooks/usePageProps.d.ts +0 -24
  793. package/commons/components/pages/hooks/usePageProps.js +0 -28
  794. package/commons/components/search/AppSearch.d.ts +0 -1
  795. package/commons/components/search/AppSearch.js +0 -211
  796. package/commons/components/search/AppSearchInput.d.ts +0 -11
  797. package/commons/components/search/AppSearchInput.js +0 -68
  798. package/commons/components/search/AppSearchResult.d.ts +0 -4
  799. package/commons/components/search/AppSearchResult.js +0 -43
  800. package/commons/components/topnav/AppBar.d.ts +0 -5
  801. package/commons/components/topnav/AppBar.js +0 -119
  802. package/commons/components/topnav/AppName.d.ts +0 -4
  803. package/commons/components/topnav/AppName.js +0 -52
  804. package/commons/components/topnav/AppSwitcher.d.ts +0 -2
  805. package/commons/components/topnav/AppSwitcher.js +0 -76
  806. package/commons/components/topnav/Notifications.d.ts +0 -2
  807. package/commons/components/topnav/Notifications.js +0 -19
  808. package/commons/components/topnav/ThemeSelection.d.ts +0 -2
  809. package/commons/components/topnav/ThemeSelection.js +0 -89
  810. package/commons/components/topnav/ThemeSelectionIcon.d.ts +0 -2
  811. package/commons/components/topnav/ThemeSelectionIcon.js +0 -31
  812. package/commons/components/topnav/UserProfile.d.ts +0 -5
  813. package/commons/components/topnav/UserProfile.js +0 -144
  814. package/commons/components/utils/hooks/useClipboard.d.ts +0 -3
  815. package/commons/components/utils/hooks/useClipboard.js +0 -31
  816. package/commons/components/utils/hooks/useEnv.d.ts +0 -1
  817. package/commons/components/utils/hooks/useEnv.js +0 -14
  818. package/commons/components/utils/hooks/useFullscreenStatus.d.ts +0 -2
  819. package/commons/components/utils/hooks/useFullscreenStatus.js +0 -37
  820. package/commons/components/utils/hooks/useGravatar.d.ts +0 -2
  821. package/commons/components/utils/hooks/useGravatar.js +0 -11
  822. package/commons/components/utils/hooks/useLocalStorage.d.ts +0 -12
  823. package/commons/components/utils/hooks/useLocalStorage.js +0 -50
  824. package/commons/components/utils/hooks/useLocalStorageItem.d.ts +0 -14
  825. package/commons/components/utils/hooks/useLocalStorageItem.js +0 -31
  826. package/commons/components/utils/hooks/useThemeBuilder.d.ts +0 -7
  827. package/commons/components/utils/hooks/useThemeBuilder.js +0 -61
  828. package/commons/components/utils/keyboard.d.ts +0 -30
  829. package/commons/components/utils/keyboard.js +0 -70
  830. package/components/app/App.d.ts +0 -3
  831. package/components/app/App.js +0 -342
  832. package/components/app/AppContainer.d.ts +0 -3
  833. package/components/app/AppContainer.js +0 -12
  834. package/components/app/drawers/ApiKeyDrawer.d.ts +0 -6
  835. package/components/app/drawers/ApiKeyDrawer.js +0 -143
  836. package/components/app/drawers/AppDrawerType.d.ts +0 -6
  837. package/components/app/drawers/AppDrawerType.js +0 -1
  838. package/components/app/drawers/AssignUserDrawer.d.ts +0 -9
  839. package/components/app/drawers/AssignUserDrawer.js +0 -104
  840. package/components/app/drawers/ViewGroupsDrawer.d.ts +0 -7
  841. package/components/app/drawers/ViewGroupsDrawer.js +0 -11
  842. package/components/app/hooks/useMatchers.d.ts +0 -9
  843. package/components/app/hooks/useMatchers.js +0 -84
  844. package/components/app/hooks/useTitle.d.ts +0 -2
  845. package/components/app/hooks/useTitle.js +0 -64
  846. package/components/app/providers/AnalyticProvider.d.ts +0 -10
  847. package/components/app/providers/AnalyticProvider.js +0 -63
  848. package/components/app/providers/ApiConfigProvider.d.ts +0 -9
  849. package/components/app/providers/ApiConfigProvider.js +0 -24
  850. package/components/app/providers/AppDrawerProvider.d.ts +0 -10
  851. package/components/app/providers/AppDrawerProvider.js +0 -38
  852. package/components/app/providers/AvatarProvider.d.ts +0 -7
  853. package/components/app/providers/AvatarProvider.js +0 -32
  854. package/components/app/providers/CustomPluginProvider.d.ts +0 -3
  855. package/components/app/providers/CustomPluginProvider.js +0 -16
  856. package/components/app/providers/FavouritesProvider.d.ts +0 -4
  857. package/components/app/providers/FavouritesProvider.js +0 -136
  858. package/components/app/providers/FieldProvider.d.ts +0 -9
  859. package/components/app/providers/FieldProvider.js +0 -22
  860. package/components/app/providers/HitProvider.d.ts +0 -22
  861. package/components/app/providers/HitProvider.js +0 -103
  862. package/components/app/providers/HitSearchProvider.d.ts +0 -27
  863. package/components/app/providers/HitSearchProvider.js +0 -188
  864. package/components/app/providers/LocalStorageProvider.d.ts +0 -13
  865. package/components/app/providers/LocalStorageProvider.js +0 -49
  866. package/components/app/providers/ModalProvider.d.ts +0 -16
  867. package/components/app/providers/ModalProvider.js +0 -34
  868. package/components/app/providers/OverviewProvider.d.ts +0 -13
  869. package/components/app/providers/OverviewProvider.js +0 -68
  870. package/components/app/providers/ParameterProvider.d.ts +0 -26
  871. package/components/app/providers/ParameterProvider.js +0 -166
  872. package/components/app/providers/SocketProvider.d.ts +0 -57
  873. package/components/app/providers/SocketProvider.js +0 -175
  874. package/components/app/providers/UserListProvider.d.ts +0 -12
  875. package/components/app/providers/UserListProvider.js +0 -40
  876. package/components/app/providers/ViewProvider.d.ts +0 -23
  877. package/components/app/providers/ViewProvider.js +0 -163
  878. package/components/elements/Comment.d.ts +0 -17
  879. package/components/elements/Comment.js +0 -258
  880. package/components/elements/EditRow.d.ts +0 -14
  881. package/components/elements/EditRow.js +0 -208
  882. package/components/elements/PluginChip.d.ts +0 -9
  883. package/components/elements/PluginChip.js +0 -24
  884. package/components/elements/PluginTypography.d.ts +0 -9
  885. package/components/elements/PluginTypography.js +0 -24
  886. package/components/elements/ThemedEditor.d.ts +0 -3
  887. package/components/elements/ThemedEditor.js +0 -119
  888. package/components/elements/UserList.d.ts +0 -9
  889. package/components/elements/UserList.js +0 -67
  890. package/components/elements/addons/buttons/CustomButton.d.ts +0 -12
  891. package/components/elements/addons/buttons/CustomButton.js +0 -59
  892. package/components/elements/addons/buttons/CustomIconButton.d.ts +0 -15
  893. package/components/elements/addons/buttons/CustomIconButton.js +0 -81
  894. package/components/elements/addons/buttons/index.d.ts +0 -3
  895. package/components/elements/addons/buttons/index.js +0 -8
  896. package/components/elements/addons/layout/FlexOne.d.ts +0 -4
  897. package/components/elements/addons/layout/FlexOne.js +0 -9
  898. package/components/elements/addons/layout/FlexPort.d.ts +0 -12
  899. package/components/elements/addons/layout/FlexPort.js +0 -32
  900. package/components/elements/addons/layout/FlexVertical.d.ts +0 -8
  901. package/components/elements/addons/layout/FlexVertical.js +0 -23
  902. package/components/elements/addons/layout/vsbox/VSBox.d.ts +0 -16
  903. package/components/elements/addons/layout/vsbox/VSBox.js +0 -31
  904. package/components/elements/addons/layout/vsbox/VSBoxContent.d.ts +0 -4
  905. package/components/elements/addons/layout/vsbox/VSBoxContent.js +0 -8
  906. package/components/elements/addons/layout/vsbox/VSBoxElement.d.ts +0 -8
  907. package/components/elements/addons/layout/vsbox/VSBoxElement.js +0 -33
  908. package/components/elements/addons/layout/vsbox/VSBoxHeader.d.ts +0 -5
  909. package/components/elements/addons/layout/vsbox/VSBoxHeader.js +0 -36
  910. package/components/elements/addons/lists/TuiList.d.ts +0 -8
  911. package/components/elements/addons/lists/TuiList.js +0 -8
  912. package/components/elements/addons/lists/TuiListBase.d.ts +0 -10
  913. package/components/elements/addons/lists/TuiListBase.js +0 -82
  914. package/components/elements/addons/lists/TuiListElement.d.ts +0 -9
  915. package/components/elements/addons/lists/TuiListElement.js +0 -8
  916. package/components/elements/addons/lists/TuiListMenu.d.ts +0 -49
  917. package/components/elements/addons/lists/TuiListMenu.js +0 -45
  918. package/components/elements/addons/lists/TuiListProvider.d.ts +0 -22
  919. package/components/elements/addons/lists/TuiListProvider.js +0 -125
  920. package/components/elements/addons/lists/hooks/useTuiListKeyboard.d.ts +0 -5
  921. package/components/elements/addons/lists/hooks/useTuiListKeyboard.js +0 -43
  922. package/components/elements/addons/lists/index.d.ts +0 -19
  923. package/components/elements/addons/lists/index.js +0 -7
  924. package/components/elements/addons/lists/table/TuiTable.d.ts +0 -14
  925. package/components/elements/addons/lists/table/TuiTable.js +0 -114
  926. package/components/elements/addons/lists/table/TuiTableBody.d.ts +0 -14
  927. package/components/elements/addons/lists/table/TuiTableBody.js +0 -47
  928. package/components/elements/addons/lists/table/TuiTableHead.d.ts +0 -8
  929. package/components/elements/addons/lists/table/TuiTableHead.js +0 -21
  930. package/components/elements/addons/lists/table/TuiTableHeader.d.ts +0 -6
  931. package/components/elements/addons/lists/table/TuiTableHeader.js +0 -11
  932. package/components/elements/addons/lists/table/TuiTableLayout.d.ts +0 -12
  933. package/components/elements/addons/lists/table/TuiTableLayout.js +0 -47
  934. package/components/elements/addons/lists/table/index.d.ts +0 -15
  935. package/components/elements/addons/lists/table/index.js +0 -4
  936. package/components/elements/addons/search/SearchPagination.d.ts +0 -9
  937. package/components/elements/addons/search/SearchPagination.js +0 -17
  938. package/components/elements/addons/search/SearchTotal.d.ts +0 -8
  939. package/components/elements/addons/search/SearchTotal.js +0 -27
  940. package/components/elements/addons/search/phrase/Phrase.d.ts +0 -19
  941. package/components/elements/addons/search/phrase/Phrase.js +0 -137
  942. package/components/elements/addons/search/phrase/PhraseConsumer.d.ts +0 -13
  943. package/components/elements/addons/search/phrase/PhraseConsumer.js +0 -30
  944. package/components/elements/addons/search/phrase/PhraseLexer.d.ts +0 -26
  945. package/components/elements/addons/search/phrase/PhraseLexer.js +0 -121
  946. package/components/elements/addons/search/phrase/index.d.ts +0 -40
  947. package/components/elements/addons/search/phrase/index.js +0 -49
  948. package/components/elements/addons/search/phrase/word/WordLexer.d.ts +0 -5
  949. package/components/elements/addons/search/phrase/word/WordLexer.js +0 -11
  950. package/components/elements/addons/search/phrase/word/WordSuggester.d.ts +0 -6
  951. package/components/elements/addons/search/phrase/word/WordSuggester.js +0 -11
  952. package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.d.ts +0 -7
  953. package/components/elements/addons/search/phrase/word/consumers/WhitespaceConsumer.js +0 -20
  954. package/components/elements/addons/search/phrase/word/consumers/WordConsumer.d.ts +0 -7
  955. package/components/elements/addons/search/phrase/word/consumers/WordConsumer.js +0 -20
  956. package/components/elements/display/ActionButton.d.ts +0 -8
  957. package/components/elements/display/ActionButton.js +0 -36
  958. package/components/elements/display/Classification.d.ts +0 -3
  959. package/components/elements/display/Classification.js +0 -31
  960. package/components/elements/display/DocumentationButton.d.ts +0 -3
  961. package/components/elements/display/DocumentationButton.js +0 -36
  962. package/components/elements/display/DynamicTabs.d.ts +0 -8
  963. package/components/elements/display/DynamicTabs.js +0 -26
  964. package/components/elements/display/HandlebarsMarkdown.d.ts +0 -9
  965. package/components/elements/display/HandlebarsMarkdown.js +0 -77
  966. package/components/elements/display/HowlerAvatar.d.ts +0 -6
  967. package/components/elements/display/HowlerAvatar.js +0 -53
  968. package/components/elements/display/HowlerAvatarHeader.d.ts +0 -6
  969. package/components/elements/display/HowlerAvatarHeader.js +0 -30
  970. package/components/elements/display/HowlerCard.d.ts +0 -3
  971. package/components/elements/display/HowlerCard.js +0 -8
  972. package/components/elements/display/Image.d.ts +0 -3
  973. package/components/elements/display/Image.js +0 -45
  974. package/components/elements/display/ItemManager.d.ts +0 -25
  975. package/components/elements/display/ItemManager.js +0 -119
  976. package/components/elements/display/Markdown.d.ts +0 -10
  977. package/components/elements/display/Markdown.js +0 -156
  978. package/components/elements/display/Modal.d.ts +0 -3
  979. package/components/elements/display/Modal.js +0 -39
  980. package/components/elements/display/Notebook.d.ts +0 -4
  981. package/components/elements/display/Notebook.js +0 -9
  982. package/components/elements/display/QueryResultText.d.ts +0 -6
  983. package/components/elements/display/QueryResultText.js +0 -28
  984. package/components/elements/display/TextDivider.d.ts +0 -3
  985. package/components/elements/display/TextDivider.js +0 -42
  986. package/components/elements/display/TypingIndicator.d.ts +0 -2
  987. package/components/elements/display/TypingIndicator.js +0 -44
  988. package/components/elements/display/UserPageWrapper.d.ts +0 -6
  989. package/components/elements/display/UserPageWrapper.js +0 -11
  990. package/components/elements/display/features/DevelopmentBanner.d.ts +0 -3
  991. package/components/elements/display/features/DevelopmentBanner.js +0 -19
  992. package/components/elements/display/features/DevelopmentIcon.d.ts +0 -3
  993. package/components/elements/display/features/DevelopmentIcon.js +0 -17
  994. package/components/elements/display/handlebars/helpers.d.ts +0 -12
  995. package/components/elements/display/handlebars/helpers.js +0 -229
  996. package/components/elements/display/icons/BundleButton.d.ts +0 -6
  997. package/components/elements/display/icons/BundleButton.js +0 -70
  998. package/components/elements/display/icons/Iconified.d.ts +0 -9
  999. package/components/elements/display/icons/Iconified.js +0 -14
  1000. package/components/elements/display/icons/SocketBadge.d.ts +0 -5
  1001. package/components/elements/display/icons/SocketBadge.js +0 -79
  1002. package/components/elements/display/json/JSONViewer.d.ts +0 -8
  1003. package/components/elements/display/json/JSONViewer.js +0 -86
  1004. package/components/elements/display/markdownPlugins/tabs.d.ts +0 -3
  1005. package/components/elements/display/markdownPlugins/tabs.js +0 -66
  1006. package/components/elements/display/modals/ConfirmDeleteModal.d.ts +0 -5
  1007. package/components/elements/display/modals/ConfirmDeleteModal.js +0 -24
  1008. package/components/elements/display/modals/ConfirmNotebookModal.d.ts +0 -5
  1009. package/components/elements/display/modals/ConfirmNotebookModal.js +0 -24
  1010. package/components/elements/display/modals/CreateActionModal.d.ts +0 -5
  1011. package/components/elements/display/modals/CreateActionModal.js +0 -54
  1012. package/components/elements/display/modals/LoginErrorModal.d.ts +0 -5
  1013. package/components/elements/display/modals/LoginErrorModal.js +0 -24
  1014. package/components/elements/display/modals/RationaleModal.d.ts +0 -5
  1015. package/components/elements/display/modals/RationaleModal.js +0 -50
  1016. package/components/elements/hit/HitActions.d.ts +0 -6
  1017. package/components/elements/hit/HitActions.js +0 -255
  1018. package/components/elements/hit/HitBanner.d.ts +0 -15
  1019. package/components/elements/hit/HitBanner.js +0 -330
  1020. package/components/elements/hit/HitBannerTooltip.d.ts +0 -6
  1021. package/components/elements/hit/HitBannerTooltip.js +0 -39
  1022. package/components/elements/hit/HitCard.d.ts +0 -7
  1023. package/components/elements/hit/HitCard.js +0 -33
  1024. package/components/elements/hit/HitComments.d.ts +0 -11
  1025. package/components/elements/hit/HitComments.js +0 -280
  1026. package/components/elements/hit/HitDetails.d.ts +0 -5
  1027. package/components/elements/hit/HitDetails.js +0 -238
  1028. package/components/elements/hit/HitLabels.d.ts +0 -6
  1029. package/components/elements/hit/HitLabels.js +0 -210
  1030. package/components/elements/hit/HitLayout.d.ts +0 -5
  1031. package/components/elements/hit/HitLayout.js +0 -9
  1032. package/components/elements/hit/HitNotebooks.d.ts +0 -8
  1033. package/components/elements/hit/HitNotebooks.js +0 -213
  1034. package/components/elements/hit/HitOutline.d.ts +0 -9
  1035. package/components/elements/hit/HitOutline.js +0 -43
  1036. package/components/elements/hit/HitOverview.d.ts +0 -6
  1037. package/components/elements/hit/HitOverview.js +0 -35
  1038. package/components/elements/hit/HitQuickSearch.d.ts +0 -8
  1039. package/components/elements/hit/HitQuickSearch.js +0 -118
  1040. package/components/elements/hit/HitRelated.d.ts +0 -6
  1041. package/components/elements/hit/HitRelated.js +0 -10
  1042. package/components/elements/hit/HitShortcuts.d.ts +0 -5
  1043. package/components/elements/hit/HitShortcuts.js +0 -9
  1044. package/components/elements/hit/HitSummary.d.ts +0 -11
  1045. package/components/elements/hit/HitSummary.js +0 -234
  1046. package/components/elements/hit/HitWorklog.d.ts +0 -10
  1047. package/components/elements/hit/HitWorklog.js +0 -163
  1048. package/components/elements/hit/actions/ButtonActions.d.ts +0 -12
  1049. package/components/elements/hit/actions/ButtonActions.js +0 -215
  1050. package/components/elements/hit/actions/DropdownActions.d.ts +0 -12
  1051. package/components/elements/hit/actions/DropdownActions.js +0 -98
  1052. package/components/elements/hit/actions/SharedComponents.d.ts +0 -18
  1053. package/components/elements/hit/actions/SharedComponents.js +0 -27
  1054. package/components/elements/hit/aggregate/HitGraph.d.ts +0 -5
  1055. package/components/elements/hit/aggregate/HitGraph.js +0 -321
  1056. package/components/elements/hit/elements/Assigned.d.ts +0 -9
  1057. package/components/elements/hit/elements/Assigned.js +0 -65
  1058. package/components/elements/hit/elements/EscalationChip.d.ts +0 -9
  1059. package/components/elements/hit/elements/EscalationChip.js +0 -24
  1060. package/components/elements/hit/elements/HitTimestamp.d.ts +0 -8
  1061. package/components/elements/hit/elements/HitTimestamp.js +0 -73
  1062. package/components/elements/hit/outlines/DefaultOutline.d.ts +0 -12
  1063. package/components/elements/hit/outlines/DefaultOutline.js +0 -77
  1064. package/components/elements/hit/outlines/al/AssemblyLineRules.d.ts +0 -5
  1065. package/components/elements/hit/outlines/al/AssemblyLineRules.js +0 -87
  1066. package/components/elements/hit/related/PivotLink.d.ts +0 -10
  1067. package/components/elements/hit/related/PivotLink.js +0 -49
  1068. package/components/elements/hit/related/RelatedIcon.d.ts +0 -8
  1069. package/components/elements/hit/related/RelatedIcon.js +0 -50
  1070. package/components/elements/hit/related/RelatedLink.d.ts +0 -8
  1071. package/components/elements/hit/related/RelatedLink.js +0 -42
  1072. package/components/elements/view/ViewTitle.d.ts +0 -10
  1073. package/components/elements/view/ViewTitle.js +0 -45
  1074. package/components/hooks/useHitActions.d.ts +0 -14
  1075. package/components/hooks/useHitActions.js +0 -229
  1076. package/components/hooks/useHitSelection.d.ts +0 -8
  1077. package/components/hooks/useHitSelection.js +0 -86
  1078. package/components/hooks/useMyApi.d.ts +0 -10
  1079. package/components/hooks/useMyApi.js +0 -49
  1080. package/components/hooks/useMyChart.d.ts +0 -275
  1081. package/components/hooks/useMyChart.js +0 -131
  1082. package/components/hooks/useMyLocalStorage.d.ts +0 -17
  1083. package/components/hooks/useMyLocalStorage.js +0 -19
  1084. package/components/hooks/useMyPreferences.d.ts +0 -3
  1085. package/components/hooks/useMyPreferences.js +0 -272
  1086. package/components/hooks/useMySearch.d.ts +0 -4
  1087. package/components/hooks/useMySearch.js +0 -59
  1088. package/components/hooks/useMySitemap.d.ts +0 -3
  1089. package/components/hooks/useMySitemap.js +0 -206
  1090. package/components/hooks/useMySnackbar.d.ts +0 -8
  1091. package/components/hooks/useMySnackbar.js +0 -56
  1092. package/components/hooks/useMyTheme.d.ts +0 -3
  1093. package/components/hooks/useMyTheme.js +0 -30
  1094. package/components/hooks/useMyUser.d.ts +0 -4
  1095. package/components/hooks/useMyUser.js +0 -31
  1096. package/components/hooks/useMyUserFunctions.d.ts +0 -118
  1097. package/components/hooks/useMyUserFunctions.js +0 -143
  1098. package/components/hooks/useMyUserList.d.ts +0 -4
  1099. package/components/hooks/useMyUserList.js +0 -12
  1100. package/components/hooks/useMyUtils.d.ts +0 -4
  1101. package/components/hooks/useMyUtils.js +0 -18
  1102. package/components/hooks/useScrollRestoration.d.ts +0 -7
  1103. package/components/hooks/useScrollRestoration.js +0 -25
  1104. package/components/logins/Login.d.ts +0 -2
  1105. package/components/logins/Login.js +0 -47
  1106. package/components/logins/auth/OAuthLogin.d.ts +0 -6
  1107. package/components/logins/auth/OAuthLogin.js +0 -40
  1108. package/components/logins/auth/UserPassLogin.d.ts +0 -2
  1109. package/components/logins/auth/UserPassLogin.js +0 -51
  1110. package/components/logins/hooks/useLogin.d.ts +0 -7
  1111. package/components/logins/hooks/useLogin.js +0 -87
  1112. package/components/routes/404.d.ts +0 -3
  1113. package/components/routes/404.js +0 -16
  1114. package/components/routes/ErrorBoundary.d.ts +0 -14
  1115. package/components/routes/ErrorBoundary.js +0 -32
  1116. package/components/routes/ErrorOccured.d.ts +0 -3
  1117. package/components/routes/ErrorOccured.js +0 -20
  1118. package/components/routes/Logout.d.ts +0 -3
  1119. package/components/routes/Logout.js +0 -46
  1120. package/components/routes/action/edit/ActionEditor.d.ts +0 -14
  1121. package/components/routes/action/edit/ActionEditor.js +0 -275
  1122. package/components/routes/action/shared/ActionReportDisplay.d.ts +0 -7
  1123. package/components/routes/action/shared/ActionReportDisplay.js +0 -51
  1124. package/components/routes/action/shared/OperationEntry.d.ts +0 -13
  1125. package/components/routes/action/shared/OperationEntry.js +0 -84
  1126. package/components/routes/action/shared/OperationStep.d.ts +0 -11
  1127. package/components/routes/action/shared/OperationStep.js +0 -151
  1128. package/components/routes/action/useMyActionFunctions.d.ts +0 -19
  1129. package/components/routes/action/useMyActionFunctions.js +0 -201
  1130. package/components/routes/action/view/ActionDetails.d.ts +0 -2
  1131. package/components/routes/action/view/ActionDetails.js +0 -177
  1132. package/components/routes/action/view/ActionSearch.d.ts +0 -3
  1133. package/components/routes/action/view/ActionSearch.js +0 -214
  1134. package/components/routes/action/view/Integrations.d.ts +0 -3
  1135. package/components/routes/action/view/Integrations.js +0 -34
  1136. package/components/routes/admin/users/UserEditor.d.ts +0 -3
  1137. package/components/routes/admin/users/UserEditor.js +0 -57
  1138. package/components/routes/admin/users/UserSearch.d.ts +0 -3
  1139. package/components/routes/admin/users/UserSearch.js +0 -179
  1140. package/components/routes/advanced/QueryBuilder.d.ts +0 -3
  1141. package/components/routes/advanced/QueryBuilder.js +0 -497
  1142. package/components/routes/advanced/QueryEditor.d.ts +0 -14
  1143. package/components/routes/advanced/QueryEditor.js +0 -117
  1144. package/components/routes/advanced/RuleModal.d.ts +0 -7
  1145. package/components/routes/advanced/RuleModal.js +0 -189
  1146. package/components/routes/advanced/eqlCompletionProvider.d.ts +0 -3
  1147. package/components/routes/advanced/eqlCompletionProvider.js +0 -81
  1148. package/components/routes/advanced/eqlTokenProvider.d.ts +0 -8
  1149. package/components/routes/advanced/eqlTokenProvider.js +0 -84
  1150. package/components/routes/advanced/historyCompletionProvider.d.ts +0 -3
  1151. package/components/routes/advanced/historyCompletionProvider.js +0 -51
  1152. package/components/routes/advanced/luceneCompletionProvider.d.ts +0 -3
  1153. package/components/routes/advanced/luceneCompletionProvider.js +0 -91
  1154. package/components/routes/advanced/luceneTokenProvider.d.ts +0 -9
  1155. package/components/routes/advanced/luceneTokenProvider.js +0 -101
  1156. package/components/routes/advanced/yamlCompletionProvider.d.ts +0 -3
  1157. package/components/routes/advanced/yamlCompletionProvider.js +0 -50
  1158. package/components/routes/analytics/AnalyticComments.d.ts +0 -7
  1159. package/components/routes/analytics/AnalyticComments.js +0 -190
  1160. package/components/routes/analytics/AnalyticDetails.d.ts +0 -2
  1161. package/components/routes/analytics/AnalyticDetails.js +0 -254
  1162. package/components/routes/analytics/AnalyticHitComments.d.ts +0 -6
  1163. package/components/routes/analytics/AnalyticHitComments.js +0 -71
  1164. package/components/routes/analytics/AnalyticNotebooks.d.ts +0 -7
  1165. package/components/routes/analytics/AnalyticNotebooks.js +0 -138
  1166. package/components/routes/analytics/AnalyticOverview.d.ts +0 -7
  1167. package/components/routes/analytics/AnalyticOverview.js +0 -103
  1168. package/components/routes/analytics/AnalyticOverviews.d.ts +0 -6
  1169. package/components/routes/analytics/AnalyticOverviews.js +0 -72
  1170. package/components/routes/analytics/AnalyticSearch.d.ts +0 -3
  1171. package/components/routes/analytics/AnalyticSearch.js +0 -233
  1172. package/components/routes/analytics/AnalyticTemplates.d.ts +0 -6
  1173. package/components/routes/analytics/AnalyticTemplates.js +0 -70
  1174. package/components/routes/analytics/RuleView.d.ts +0 -7
  1175. package/components/routes/analytics/RuleView.js +0 -74
  1176. package/components/routes/analytics/TriageSettings.d.ts +0 -7
  1177. package/components/routes/analytics/TriageSettings.js +0 -104
  1178. package/components/routes/analytics/widgets/Assessment.d.ts +0 -5
  1179. package/components/routes/analytics/widgets/Assessment.js +0 -58
  1180. package/components/routes/analytics/widgets/Created.d.ts +0 -5
  1181. package/components/routes/analytics/widgets/Created.js +0 -52
  1182. package/components/routes/analytics/widgets/Detection.d.ts +0 -6
  1183. package/components/routes/analytics/widgets/Detection.js +0 -11
  1184. package/components/routes/analytics/widgets/Escalation.d.ts +0 -6
  1185. package/components/routes/analytics/widgets/Escalation.js +0 -51
  1186. package/components/routes/analytics/widgets/Stacked.d.ts +0 -7
  1187. package/components/routes/analytics/widgets/Stacked.js +0 -87
  1188. package/components/routes/analytics/widgets/Status.d.ts +0 -5
  1189. package/components/routes/analytics/widgets/Status.js +0 -21
  1190. package/components/routes/dossiers/DossierCard.d.ts +0 -8
  1191. package/components/routes/dossiers/DossierCard.js +0 -24
  1192. package/components/routes/dossiers/DossierEditor.d.ts +0 -2
  1193. package/components/routes/dossiers/DossierEditor.js +0 -198
  1194. package/components/routes/dossiers/Dossiers.d.ts +0 -2
  1195. package/components/routes/dossiers/Dossiers.js +0 -146
  1196. package/components/routes/dossiers/LeadEditor.d.ts +0 -13
  1197. package/components/routes/dossiers/LeadEditor.js +0 -119
  1198. package/components/routes/dossiers/LeadForm.d.ts +0 -8
  1199. package/components/routes/dossiers/LeadForm.js +0 -98
  1200. package/components/routes/dossiers/PivotForm.d.ts +0 -13
  1201. package/components/routes/dossiers/PivotForm.js +0 -278
  1202. package/components/routes/help/ActionDocumentation.d.ts +0 -8
  1203. package/components/routes/help/ActionDocumentation.js +0 -62
  1204. package/components/routes/help/ActionIntroductionDocumentation.d.ts +0 -3
  1205. package/components/routes/help/ActionIntroductionDocumentation.js +0 -103
  1206. package/components/routes/help/ApiDocumentation.d.ts +0 -3
  1207. package/components/routes/help/ApiDocumentation.js +0 -139
  1208. package/components/routes/help/AuthDocumentation.d.ts +0 -3
  1209. package/components/routes/help/AuthDocumentation.js +0 -20
  1210. package/components/routes/help/BundleDocumentation.d.ts +0 -3
  1211. package/components/routes/help/BundleDocumentation.js +0 -84
  1212. package/components/routes/help/ClientDocumentation.d.ts +0 -3
  1213. package/components/routes/help/ClientDocumentation.js +0 -20
  1214. package/components/routes/help/Help.d.ts +0 -2
  1215. package/components/routes/help/Help.js +0 -61
  1216. package/components/routes/help/HitBannerDocumentation.d.ts +0 -3
  1217. package/components/routes/help/HitBannerDocumentation.js +0 -62
  1218. package/components/routes/help/HitDocumentation.d.ts +0 -3
  1219. package/components/routes/help/HitDocumentation.js +0 -83
  1220. package/components/routes/help/HitLabelsDocumentation.d.ts +0 -3
  1221. package/components/routes/help/HitLabelsDocumentation.js +0 -46
  1222. package/components/routes/help/HitLinksDocumentation.d.ts +0 -3
  1223. package/components/routes/help/HitLinksDocumentation.js +0 -56
  1224. package/components/routes/help/HitSchemaDocumentation.d.ts +0 -3
  1225. package/components/routes/help/HitSchemaDocumentation.js +0 -159
  1226. package/components/routes/help/NotebookDocumentation.d.ts +0 -3
  1227. package/components/routes/help/NotebookDocumentation.js +0 -19
  1228. package/components/routes/help/OverviewDocumentation.d.ts +0 -3
  1229. package/components/routes/help/OverviewDocumentation.js +0 -15
  1230. package/components/routes/help/RetentionDocumentation.d.ts +0 -3
  1231. package/components/routes/help/RetentionDocumentation.js +0 -48
  1232. package/components/routes/help/SearchDocumentation.d.ts +0 -3
  1233. package/components/routes/help/SearchDocumentation.js +0 -515
  1234. package/components/routes/help/TemplateDocumentation.d.ts +0 -3
  1235. package/components/routes/help/TemplateDocumentation.js +0 -60
  1236. package/components/routes/help/ViewDocumentation.d.ts +0 -3
  1237. package/components/routes/help/ViewDocumentation.js +0 -29
  1238. package/components/routes/help/components/HelpTabs.d.ts +0 -6
  1239. package/components/routes/help/components/HelpTabs.js +0 -40
  1240. package/components/routes/help/markdown/en/actionIntroduction.md.js +0 -1
  1241. package/components/routes/help/markdown/en/authentication.md.js +0 -1
  1242. package/components/routes/help/markdown/en/bundles.md.js +0 -1
  1243. package/components/routes/help/markdown/en/client.md.js +0 -1
  1244. package/components/routes/help/markdown/en/links.md.js +0 -1
  1245. package/components/routes/help/markdown/en/notebook.md.js +0 -1
  1246. package/components/routes/help/markdown/en/retention.md.js +0 -1
  1247. package/components/routes/help/markdown/en/schema.md.js +0 -1
  1248. package/components/routes/help/markdown/en/templates.md.js +0 -1
  1249. package/components/routes/help/markdown/en/views.md.js +0 -1
  1250. package/components/routes/help/markdown/fr/actionIntroduction.md.js +0 -1
  1251. package/components/routes/help/markdown/fr/authentication.md.js +0 -1
  1252. package/components/routes/help/markdown/fr/bundles.md.js +0 -1
  1253. package/components/routes/help/markdown/fr/client.md.js +0 -1
  1254. package/components/routes/help/markdown/fr/links.md.js +0 -1
  1255. package/components/routes/help/markdown/fr/notebook.md.js +0 -1
  1256. package/components/routes/help/markdown/fr/retention.md.js +0 -1
  1257. package/components/routes/help/markdown/fr/schema.md.js +0 -1
  1258. package/components/routes/help/markdown/fr/templates.md.js +0 -1
  1259. package/components/routes/help/markdown/fr/views.md.js +0 -1
  1260. package/components/routes/hits/search/BundleParentMenu.d.ts +0 -6
  1261. package/components/routes/hits/search/BundleParentMenu.js +0 -54
  1262. package/components/routes/hits/search/BundleScroller.d.ts +0 -2
  1263. package/components/routes/hits/search/BundleScroller.js +0 -9
  1264. package/components/routes/hits/search/CustomSort.d.ts +0 -2
  1265. package/components/routes/hits/search/CustomSort.js +0 -88
  1266. package/components/routes/hits/search/HitBrowser.d.ts +0 -3
  1267. package/components/routes/hits/search/HitBrowser.js +0 -258
  1268. package/components/routes/hits/search/HitContextMenu.d.ts +0 -7
  1269. package/components/routes/hits/search/HitContextMenu.js +0 -209
  1270. package/components/routes/hits/search/HitQuery.d.ts +0 -9
  1271. package/components/routes/hits/search/HitQuery.js +0 -237
  1272. package/components/routes/hits/search/InformationPane.d.ts +0 -5
  1273. package/components/routes/hits/search/InformationPane.js +0 -377
  1274. package/components/routes/hits/search/SearchPane.d.ts +0 -3
  1275. package/components/routes/hits/search/SearchPane.js +0 -222
  1276. package/components/routes/hits/search/ViewLink.d.ts +0 -2
  1277. package/components/routes/hits/search/ViewLink.js +0 -77
  1278. package/components/routes/hits/search/grid/AddColumnModal.d.ts +0 -8
  1279. package/components/routes/hits/search/grid/AddColumnModal.js +0 -92
  1280. package/components/routes/hits/search/grid/ColumnHeader.d.ts +0 -8
  1281. package/components/routes/hits/search/grid/ColumnHeader.js +0 -70
  1282. package/components/routes/hits/search/grid/EnhancedCell.d.ts +0 -8
  1283. package/components/routes/hits/search/grid/EnhancedCell.js +0 -50
  1284. package/components/routes/hits/search/grid/HitGrid.d.ts +0 -3
  1285. package/components/routes/hits/search/grid/HitGrid.js +0 -274
  1286. package/components/routes/hits/search/grid/HitRow.d.ts +0 -10
  1287. package/components/routes/hits/search/grid/HitRow.js +0 -102
  1288. package/components/routes/hits/search/shared/CustomSpan.d.ts +0 -2
  1289. package/components/routes/hits/search/shared/CustomSpan.js +0 -54
  1290. package/components/routes/hits/search/shared/HitFilter.d.ts +0 -4
  1291. package/components/routes/hits/search/shared/HitFilter.js +0 -99
  1292. package/components/routes/hits/search/shared/HitSort.d.ts +0 -4
  1293. package/components/routes/hits/search/shared/HitSort.js +0 -91
  1294. package/components/routes/hits/search/shared/QuerySettings.d.ts +0 -6
  1295. package/components/routes/hits/search/shared/QuerySettings.js +0 -41
  1296. package/components/routes/hits/search/shared/SearchSpan.d.ts +0 -5
  1297. package/components/routes/hits/search/shared/SearchSpan.js +0 -59
  1298. package/components/routes/hits/view/HitViewer.d.ts +0 -7
  1299. package/components/routes/hits/view/HitViewer.js +0 -336
  1300. package/components/routes/hits/view/LeadRenderer.d.ts +0 -7
  1301. package/components/routes/hits/view/LeadRenderer.js +0 -34
  1302. package/components/routes/home/AddNewCard.d.ts +0 -7
  1303. package/components/routes/home/AddNewCard.js +0 -216
  1304. package/components/routes/home/AnalyticCard.d.ts +0 -7
  1305. package/components/routes/home/AnalyticCard.js +0 -43
  1306. package/components/routes/home/EntryWrapper.d.ts +0 -7
  1307. package/components/routes/home/EntryWrapper.js +0 -58
  1308. package/components/routes/home/ViewCard.d.ts +0 -7
  1309. package/components/routes/home/ViewCard.js +0 -64
  1310. package/components/routes/home/index.d.ts +0 -3
  1311. package/components/routes/home/index.js +0 -244
  1312. package/components/routes/overviews/OverviewCard.d.ts +0 -8
  1313. package/components/routes/overviews/OverviewCard.js +0 -25
  1314. package/components/routes/overviews/OverviewEditor.d.ts +0 -12
  1315. package/components/routes/overviews/OverviewEditor.js +0 -81
  1316. package/components/routes/overviews/OverviewViewer.d.ts +0 -2
  1317. package/components/routes/overviews/OverviewViewer.js +0 -316
  1318. package/components/routes/overviews/Overviews.d.ts +0 -2
  1319. package/components/routes/overviews/Overviews.js +0 -148
  1320. package/components/routes/overviews/markdownExtendedTokenProvider.d.ts +0 -3
  1321. package/components/routes/overviews/markdownExtendedTokenProvider.js +0 -262
  1322. package/components/routes/overviews/startingTemplate.d.ts +0 -1
  1323. package/components/routes/overviews/startingTemplate.js +0 -36
  1324. package/components/routes/overviews/template/en.md.js +0 -1
  1325. package/components/routes/overviews/template/fr.md.js +0 -1
  1326. package/components/routes/settings/AdminSection.d.ts +0 -3
  1327. package/components/routes/settings/AdminSection.js +0 -13
  1328. package/components/routes/settings/LocalSection.d.ts +0 -3
  1329. package/components/routes/settings/LocalSection.js +0 -127
  1330. package/components/routes/settings/ProfileSection.d.ts +0 -10
  1331. package/components/routes/settings/ProfileSection.js +0 -98
  1332. package/components/routes/settings/SecuritySection.d.ts +0 -10
  1333. package/components/routes/settings/SecuritySection.js +0 -71
  1334. package/components/routes/settings/Settings.d.ts +0 -3
  1335. package/components/routes/settings/Settings.js +0 -56
  1336. package/components/routes/settings/SettingsSection.d.ts +0 -7
  1337. package/components/routes/settings/SettingsSection.js +0 -22
  1338. package/components/routes/templates/TemplateCard.d.ts +0 -7
  1339. package/components/routes/templates/TemplateCard.js +0 -26
  1340. package/components/routes/templates/TemplateDnD.d.ts +0 -8
  1341. package/components/routes/templates/TemplateDnD.js +0 -44
  1342. package/components/routes/templates/TemplateEditor.d.ts +0 -9
  1343. package/components/routes/templates/TemplateEditor.js +0 -104
  1344. package/components/routes/templates/TemplateViewer.d.ts +0 -2
  1345. package/components/routes/templates/TemplateViewer.js +0 -219
  1346. package/components/routes/templates/Templates.d.ts +0 -2
  1347. package/components/routes/templates/Templates.js +0 -156
  1348. package/components/routes/views/ViewComposer.d.ts +0 -3
  1349. package/components/routes/views/ViewComposer.js +0 -276
  1350. package/components/routes/views/Views.d.ts +0 -2
  1351. package/components/routes/views/Views.js +0 -301
  1352. package/hit-CQYBTSKb.js +0 -7
  1353. package/i18n.d.ts +0 -3
  1354. package/i18n.js +0 -1909
  1355. package/images/doggie.png +0 -0
  1356. package/index-BPPnUdfP.js +0 -1157
  1357. package/index.d.ts +0 -0
  1358. package/index.js +0 -13
  1359. package/locales/en/help/main.json.d.ts +0 -16
  1360. package/locales/en/help/search.json.d.ts +0 -189
  1361. package/locales/en/translation.json.d.ts +0 -802
  1362. package/locales/fr/help/main.json.d.ts +0 -16
  1363. package/locales/fr/help/search.json.d.ts +0 -189
  1364. package/locales/fr/translation.json.d.ts +0 -800
  1365. package/manifest.json +0 -16
  1366. package/plugins/HowlerPlugin.d.ts +0 -114
  1367. package/plugins/HowlerPlugin.js +0 -276
  1368. package/plugins/store.d.ts +0 -95
  1369. package/plugins/store.js +0 -105
  1370. package/rest/AxiosClient.d.ts +0 -10
  1371. package/rest/AxiosClient.js +0 -68
  1372. package/rest/FetchClient.d.ts +0 -7
  1373. package/rest/FetchClient.js +0 -19
  1374. package/rest/index.d.ts +0 -6
  1375. package/rest/index.js +0 -1
  1376. package/robots.txt +0 -3
  1377. package/scripts/background.js +0 -14
  1378. package/serve.json +0 -14
  1379. package/setupTests.d.ts +0 -0
  1380. package/tests/MockLocalStorage.d.ts +0 -5
  1381. package/tests/server-handlers.d.ts +0 -5
  1382. package/tests/server.d.ts +0 -3
  1383. package/utils/Throttler.d.ts +0 -9
  1384. package/utils/Throttler.js +0 -43
  1385. package/utils/actionUtils.d.ts +0 -31
  1386. package/utils/actionUtils.js +0 -41
  1387. package/utils/constants.d.ts +0 -79
  1388. package/utils/constants.js +0 -131
  1389. package/utils/hit.json.d.ts +0 -30359
  1390. package/utils/hitFunctions.d.ts +0 -2
  1391. package/utils/hitFunctions.js +0 -12
  1392. package/utils/localStorage.d.ts +0 -21
  1393. package/utils/localStorage.js +0 -35
  1394. package/utils/menuUtils.d.ts +0 -89
  1395. package/utils/menuUtils.js +0 -247
  1396. package/utils/sessionStorage.d.ts +0 -7
  1397. package/utils/sessionStorage.js +0 -50
  1398. package/utils/socketUtils.d.ts +0 -8
  1399. package/utils/socketUtils.js +0 -6
  1400. package/utils/stringUtils.d.ts +0 -8
  1401. package/utils/stringUtils.js +0 -52
  1402. package/utils/utils.d.ts +0 -33
  1403. package/utils/utils.js +0 -193
  1404. package/utils/xsrf.d.ts +0 -2
  1405. package/utils/xsrf.js +0 -12
@@ -1,20 +0,0 @@
1
- import { jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import PageCenter from "../../../commons/components/pages/PageCenter.js";
3
- import Markdown from "../../elements/display/Markdown.js";
4
- import { useScrollRestoration } from "../../hooks/useScrollRestoration.js";
5
- import { useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
6
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
7
- const AUTH_EN = '<!-- docs/ingestion/authentication.md -->\n\n# Howler Authentication\n\nHowler\'s API supports a number of authentication approaches when accessing the API. This document will outline the\ndifferent approaches, and explain how to use each of them.\n\n## Types of Authentication\n\nThere are four methods of authentication one can use to connect to the howler API:\n\n1. Username and Password\n2. Username and API Key\n3. Username and app token (after login)\n4. OAuth Access Token\n\nWe will outline the use case for each authentication type next.\n\n### Username/Password Authentication\n\nUsername and password authentication is the simplest and least secure method of authentication. Unlikely to be enabled\nin a production environment, it allows users to easily connect to the Howler API and make changes as the given user,\nwithout having to worry about creating API keys or using an OAuth provider like Keycloak or Azure. Users can connect\nusing username and password authentication in one of two ways:\n\n#### Direct Call to the Requisite Endpoint (Password)\n\nThis is far and away the simplest method. Simply add a basic Authorization header to the HTTP request you want to\nmake, and everything is taken care of:\n\n```bash\necho -n "user:user" | base64 -w0\n# -> dXNlcjp1c2Vy\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic dXNlcjp1c2Vy\n```\n\n#### Exchanging for an App Token (Password)\n\nThis is a slightly more complex approach, but carries the benefit of not exposing the username and password on every\nrequest. You can leverage the `v1/auth/login` endpoint to exchange your username and password for an app token. The\ntoken works similarly to an OAuth access token - you provide it with each subsequent request, and it authenticates you\nuntil the token expires.\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "user": "user",\n "password": "user"\n}\n```\n\nWill return something like:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "app_token": "user:5791a142067745c3af51d6596da7da8f86357a9fa92ad78d1ce118ea7d89d34e",\n "provider": null,\n "refresh_token": null\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nUsing this token in another API call:\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer user:5791a142067745c3af51d6596da7da8f86357a9fa92ad78d1ce118ea7d89d34e\n```\n\n### Username/API Key Authentication\n\nThe username and API Key authentication works largely the same as username/password from the perspective of the client.\nOn the server side, however, API keys have several key advantages. Firstly, they can easily be revoked by the user.\nSecondly, their privileges can be limited, allowing only a subset of permissions.\n\nThere are two methods of authentication, mirroring the username and password:\n\n#### Direct Call to the Requisite Endpoint (API Key)\n\nSimply add a basic Authorization header containing the username and API key to the HTTP request you want to make, and\neverything is taken care of:\n\n```bash\n# note the format is <username>:<apikeyname>:<secret>\necho -n "user:devkey:user" | base64 -w0\n# -> dXNlcjpkZXZrZXk6dXNlcg==\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic dXNlcjpkZXZrZXk6dXNlcg==\n```\n\n#### Exchanging for an App Token (API Key)\n\nYou can also leverage the `v1/auth/login` endpoint to exchange your username and API key for an app token. The\ntoken works similarly to an OAuth access token - you provide it with each subsequent request, and it authenticates you\nuntil the token expires.\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "user": "user",\n "apikey": "devkey:user"\n}\n```\n\nWill return something like:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "app_token": "user:f220eb76ff8404abfece8c0c2f3368c7d89618c776bedcd3a506843dc4a952e4",\n "provider": null,\n "refresh_token": null\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nUsing this token in another API call:\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer user:f220eb76ff8404abfece8c0c2f3368c7d89618c776bedcd3a506843dc4a952e4\n```\n\nNote that when logging in using an api key, the permissions of the api key continue to apply. So if you try and access\nan endpoint that requires the "write" permission with an API key that only has read permission, this will cause a 403\nForbidden error.\n\n### Access Token Authentication\n\nIn addition to the authentication methods provided internally by Howler, you can also authenticate with an external\nOAuth provider like Azure or Keycloak. To do this, you must obtain an access token from one of these providers. In\norder to get an access token, there are generally two flows - On-Behalf-Of, or the user login flow (see [here](https://www.rfc-editor.org/rfc/rfc6749#section-4.1) for a rundown\nof that). In the case of Howler, the `v1/auth/login` endpoint is used for step D & E in the linked user login flow, and\nit returns the following:\n\n```json\n{\n "api_response": {\n "app_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyIn0",\n "provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNoIn0"\n }\n}\n```\n\nIn this case, the `app_token` is the JSON Web Token the application uses as an access token. Similarly, the\n`refresh_token` is another JWT that is used to refresh the access token if needed. Finally, the `provider` field\noutlines which provider this access token corresponds to.\n\nOnce you have that access token, you can simply pass it along in the Authorization header:\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyIn0\n```\n\nHowler will automatically detect this is a JWT, and treat it as such. If the token is valid, the user will be\nauthenticated.\n\nIn order to refresh an expired access token, you can use the following API call:\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "oauth_provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNoIn0"\n}\n```\n\nAnd you\'ll get something like this back:\n\n```json\n{\n "api_response": {\n "app_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMiJ9",\n "provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNodG9rZW4yIn0"\n }\n}\n```\n\n## Impersonation\n\nThe final important bit of the authentication flow is the impersonation functionality. In order for a service account\nor other user to impersonate you (i.e. to create alerts on your behalf), Howler allows users to provide a second API key\nin order to authenticate as another user.\n\nBefore you use another user\'s API key to authenticate as them, it\'s important that the API key you\'re using has been\nmarked as valid for impersonation - check with the user that provided it. If it has, you can use it by, formating your\nrequest as follows:\n\n```bash\n# Your credentials\necho -n "admin:devkey:admin" | base64 -w0\n# -> YWRtaW46ZGV2a2V5OmFkbWlu\n\n# Their credentials\necho -n "user:impersonate_admin:user" | base64 -w0\n# -> dXNlcjppbXBlcnNvbmF0ZV9hZG1pbjp1c2Vy\n```\n\n```alert\nAny form of authentication can be used by the impersonator, but validated API keys are the only permitted\nauthentication method for the person you\'re impersonating.\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic YWRtaW46ZGV2a2V5OmFkbWlu\nX-Impersonating: Basic dXNlcjppbXBlcnNvbmF0ZV9hZG1pbjp1c2Vy\n```\n\nIf set up correctly, the result will look like:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "avatar": null,\n "classification": "TLP:W",\n "email": "user@howler.cyber.gc.ca",\n "groups": ["USERS"],\n "is_active": true,\n "is_admin": false,\n "name": "User",\n "roles": ["user"],\n "username": "user"\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nNote that the server returned this as if you were `user`, NOT `admin`. It is clearly marked in the logs, however, that you are making the request:\n\n```log\n22/12/05 14:15:02 INFO howler.api.security | Authenticating user for path /api/v1/user/whoami/\n22/12/05 14:15:03 WARNING howler.api.security | admin is impersonating user\n22/12/05 14:15:03 INFO howler.api.security | Logged in as user from 127.0.0.1\n22/12/05 14:15:03 INFO howler.api | GET /api/v1/user/whoami/ - 200\n```\n';
8
- const AUTH_FR = '<!-- docs/ingestion/authentication.fr.md -->\n\n# Authentification de Howler\n\nL\'API de Howler prend en charge un certain nombre d\'approches d\'authentification lors de l\'accès à l\'API. Ce document présente les\ndifférentes approches et explique comment utiliser chacune d\'entre elles.\n\n## Types d\'authentification\n\nIl existe quatre méthodes d\'authentification que l\'on peut utiliser pour se connecter à l\'API howler:\n\n1. Nom d\'utilisateur et mot de passe\n2. Nom d\'utilisateur et clé API\n3. Nom d\'utilisateur et clé d\'application (après connexion)\n4. Jeton d\'accès OAuth\n\nNous allons maintenant présenter les cas d\'utilisation de chaque type d\'authentification.\n\n### Authentification par nom d\'utilisateur/mot de passe\n\nL\'authentification par nom d\'utilisateur et mot de passe est la méthode d\'authentification la plus simple et la moins sûre. Il est peu probable qu\'elle soit activée\ndans un environnement de production, elle permet aux utilisateurs de se connecter facilement à l\'API Howler et d\'effectuer des modifications en tant qu\'utilisateur donné,\nsans avoir à se soucier de créer des clés API ou d\'utiliser un fournisseur OAuth comme Keycloak ou Azure. Les utilisateurs peuvent se connecter\nen utilisant l\'authentification par nom d\'utilisateur et mot de passe de l\'une des deux manières suivantes :\n\n#### Appel direct au point de terminaison requis (mot de passe)\n\nC\'est de loin la méthode la plus simple. Il suffit d\'ajouter un en-tête d\'autorisation de base à la requête HTTP que vous souhaitez effectuer, et tout est pris en charge.\nque vous voulez faire, et tout est pris en charge:\n\n```bash\necho -n "user:user" | base64 -w0\n# -> dXNlcjp1c2Vy\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic dXNlcjp1c2Vy\n```\n\n#### Échange contre un jeton d\'application (mot de passe)\n\nIl s\'agit d\'une approche un peu plus complexe, mais qui présente l\'avantage de ne pas exposer le nom d\'utilisateur et le mot de passe à chaque demande.\nà chaque requête. Vous pouvez utiliser le point de terminaison `v1/auth/login` pour échanger votre nom d\'utilisateur et votre mot de passe contre un jeton d\'application. Le jeton\nfonctionne de la même manière qu\'un jeton d\'accès OAuth - vous le fournissez à chaque requête ultérieure, et il vous authentifie jusqu\'à ce que le jeton expire.\njusqu\'à ce que le jeton expire.\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "user": "user",\n "password": "user"\n}\n```\n\nLe résultat sera quelque chose comme:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "app_token": "user:5791a142067745c3af51d6596da7da8f86357a9fa92ad78d1ce118ea7d89d34e",\n "provider": null,\n "refresh_token": null\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nUtilisation de ce jeton dans un autre appel d\'API:\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer user:5791a142067745c3af51d6596da7da8f86357a9fa92ad78d1ce118ea7d89d34e\n```\n\n### Authentification par nom d\'utilisateur/clé API\n\nL\'authentification par nom d\'utilisateur et clé API fonctionne en grande partie de la même manière que l\'authentification par nom d\'utilisateur/mot de passe du point de vue du client.\nDu côté du serveur, cependant, les clés API présentent plusieurs avantages essentiels. Tout d\'abord, elles peuvent être facilement révoquées par l\'utilisateur.\nDeuxièmement, leurs privilèges peuvent être limités, n\'autorisant qu\'un sous-ensemble de permissions.\n\nIl existe deux méthodes d\'authentification, reflétant le nom d\'utilisateur et le mot de passe:\n\n#### Appel direct au point de terminaison requis (clé API)\n\nIl suffit d\'ajouter un en-tête d\'autorisation de base contenant le nom d\'utilisateur et la clé API à la requête HTTP que vous souhaitez effectuer, et\ntout est pris en charge:\n\n```bash\n# note the format is <username>:<apikeyname>:<secret>\necho -n "user:devkey:user" | base64 -w0\n# -> dXNlcjpkZXZrZXk6dXNlcg==\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic dXNlcjpkZXZrZXk6dXNlcg==\n```\n\n#### Échange contre un jeton d\'application (clé API)\n\nVous pouvez également utiliser le point de terminaison `v1/auth/login` pour échanger votre nom d\'utilisateur et votre clé API contre un jeton d\'application. Le jeton\nfonctionne de la même manière qu\'un jeton d\'accès OAuth - vous le fournissez à chaque demande ultérieure, et il vous authentifie jusqu\'à ce que le jeton expire.\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "user": "user",\n "apikey": "devkey:user"\n}\n```\n\nLe résultat sera quelque chose comme:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "app_token": "user:f220eb76ff8404abfece8c0c2f3368c7d89618c776bedcd3a506843dc4a952e4",\n "provider": null,\n "refresh_token": null\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nUtilisation de ce jeton dans un autre appel d\'API:\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer user:f220eb76ff8404abfece8c0c2f3368c7d89618c776bedcd3a506843dc4a952e4\n```\n\nNotez que lorsque vous vous connectez à l\'aide d\'une clé d\'@cccsaurora/howler-ui/api, les autorisations de la clé d\'@cccsaurora/howler-ui/api continuent de s\'appliquer. Ainsi, si vous essayez d\'accéder à\nà un point d\'accès qui requiert l\'autorisation "write" avec une clé API qui n\'a que l\'autorisation "read", cela provoquera une erreur 403\nForbidden (Interdit).\n\n### Authentification par jeton d\'accès\n\nEn plus des méthodes d\'authentification fournies en interne par Howler, vous pouvez également vous authentifier avec un fournisseur OAuth externe comme Azure ou Keycloak.\nPour ce faire, vous devez obtenir un jeton d\'accès auprès de l\'un de ces fournisseurs.\nPour obtenir un jeton d\'accès, il y a généralement deux flux - On-Behalf-Of, ou le flux de connexion de l\'utilisateur (voir [ici](https://www.rfc-editor.org/rfc/rfc6749#section-4.1) pour un récapitulatif\nde cela). Dans le cas de Howler, le point de terminaison `v1/auth/login` est utilisé pour les étapes D & E du flux de connexion de l\'utilisateur, et\nil renvoie ce qui suit:\n\n```json\n{\n "api_response": {\n "app_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyIn0",\n "provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNoIn0"\n }\n}\n```\n\nDans ce cas, le `app_token` est le Web Token JSON que l\'application utilise comme jeton d\'accès. De la même manière, le\n`refresh_token` est un autre JWT qui est utilisé pour rafraîchir le jeton d\'accès si nécessaire. Enfin, le champ `provider` (fournisseur)\nindique à quel fournisseur correspond ce jeton d\'accès.\n\nUne fois que vous avez ce jeton d\'accès, vous pouvez simplement le transmettre dans l\'en-tête Authorization :\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyIn0\n```\n\nHowler détectera automatiquement qu\'il s\'agit d\'un JWT et le traitera comme tel. Si le jeton est valide, l\'utilisateur sera\nauthentifié.\n\nAfin de rafraîchir un jeton d\'accès expiré, vous pouvez utiliser l\'appel API suivant:\n\n```http\nPOST $CURRENT_URL/api/v1/auth/login/\nContent-Type: application/json\n\n{\n "oauth_provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNoIn0"\n}\n```\n\nEt vous obtiendrez quelque chose comme ceci en retour:\n\n```json\n{\n "api_response": {\n "app_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMiJ9",\n "provider": "keycloak",\n "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNodG9rZW4yIn0"\n }\n}\n```\n\n## Impersonation\n\nLe dernier élément important du flux d\'authentification est la fonctionnalité d\'usurpation d\'identité. Pour qu\'un compte de service\nou un autre utilisateur puisse se faire passer pour vous (c\'est-à-dire créer des alertes en votre nom), Howler permet aux utilisateurs de fournir une deuxième clé API\nafin de s\'authentifier en tant qu\'autre utilisateur.\n\nAvant d\'utiliser la clé API d\'un autre utilisateur pour vous authentifier en tant que lui, il est important que la clé API que vous utilisez ait été\nmarquée comme valide pour l\'usurpation d\'identité - vérifiez auprès de l\'utilisateur qui l\'a fournie. Si c\'est le cas, vous pouvez l\'utiliser en formulant votre requête\ncomme suit:\n\n```bash\n# Your credentials\necho -n "admin:devkey:admin" | base64 -w0\n# -> YWRtaW46ZGV2a2V5OmFkbWlu\n\n# Their credentials\necho -n "user:impersonate_admin:user" | base64 -w0\n# -> dXNlcjppbXBlcnNvbmF0ZV9hZG1pbjp1c2Vy\n```\n\n```alert\nToute forme d\'authentification peut être utilisée par l\'usurpateur, mais les clés API validées sont la seule méthode d\'authentification autorisée pour la personne dont vous usurpez l\'identité.\n```\n\n```http\nGET $CURRENT_URL/api/v1/user/whoami\nAuthorization: Basic YWRtaW46ZGV2a2V5OmFkbWlu\nX-Impersonating: Basic dXNlcjppbXBlcnNvbmF0ZV9hZG1pbjp1c2Vy\n```\n\nSi la configuration est correcte, le résultat sera le suivant:\n\n```json\n{\n "api_error_message": "",\n "api_response": {\n "avatar": null,\n "classification": "TLP:W",\n "email": "user@howler.cyber.gc.ca",\n "groups": ["USERS"],\n "is_active": true,\n "is_admin": false,\n "name": "User",\n "roles": ["user"],\n "username": "user"\n },\n "api_server_version": "0.0.0.dev0",\n "api_status_code": 200\n}\n```\n\nNotez que le serveur a renvoyé cette requête comme si vous étiez `user`, PAS `admin`. Il est cependant clairement indiqué dans les logs que c\'est vous qui faites la requête:\n\n```log\n22/12/05 14:15:02 INFO howler.api.security | Authenticating user for path /api/v1/user/whoami/\n22/12/05 14:15:03 WARNING howler.api.security | admin is impersonating user\n22/12/05 14:15:03 INFO howler.api.security | Logged in as user from 127.0.0.1\n22/12/05 14:15:03 INFO howler.api | GET /api/v1/user/whoami/ - 200\n```\n';
9
- const AuthDocumentation = () => {
10
- const { i18n } = useTranslation();
11
- useScrollRestoration();
12
- const md = useMemo(
13
- () => (i18n.language === "en" ? AUTH_EN : AUTH_FR).replace(/\$CURRENT_URL/g, window.location.origin),
14
- [i18n.language]
15
- );
16
- return /* @__PURE__ */ jsx(PageCenter, { margin: 4, width: "100%", textAlign: "left", children: /* @__PURE__ */ jsx(Markdown, { md }) });
17
- };
18
- export {
19
- AuthDocumentation as default
20
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const BundleDocumentation: FC;
3
- export default BundleDocumentation;
@@ -1,84 +0,0 @@
1
- import { jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import Markdown from "../../elements/display/Markdown.js";
3
- import { useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
4
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
5
- const BUNDLES_EN = '<!-- docs/ingestion/bundles.md -->\n\n# Howler Hit Bundles\n\nHit bundles can be used to easily package together a large number of similar alerts, allowing analysts to easily triage them as a single incident. For example, consider a single computer that repeatedly makes a network call to `baddomain.ru` - while an alert may be generated for every instance of this computer hitting that domain, it makes sense for analysts to treat all these alerts as a single case.\n\n## Creating bundles through the Howler Client\n\nThere are a couple of ways to create a bundle through the howler client:\n\n```python\nfrom howler_client import get_client\n\nhowler = get_client("https://howler.dev.analysis.cyber.gc.ca")\n\n"""Creating a howler bundle and the hits at the same time"""\nhowler.bundle.create(\n # First argument is the bundle hit\n {\n "howler.analytic": "example-test",\n "howler.score": 0\n },\n # Second argument is a hit or list of hits to include in the bundle\n [\n {\n "howler.analytic": "example-test",\n "howler.score": 0\n },\n {\n "howler.analytic": "example-test",\n "howler.score": 0\n }\n ]\n)\n\n"""Creating a howler bundle from existing hits"""\nhowler.bundle.create(\n {\n "howler.analytic": "example-test",\n "howler.score": 0,\n "howler.hits": ["YcUsL8QsjmwwIdstieROk", "6s7MztwuSvz6tM0PgGJhvz"]\n },\n # Note: In future releases, you won\'t need to include this argument\n []\n)\n\n\n"""Creating from a map"""\nbundle_hit = {\n "score": 0,\n "bundle": True\n}\n\nmap = {\n "score": ["howler.score"],\n "bundle": ["howler.is_bundle"]\n}\n\nhowler.bundle.create_from_map("example-test", bundle_hit, map, [{"score": 0}])\n```\n\n## Viewing bundles on the Howler UI\n\nIn order to view created bundles on the Howler UI, you can use the query `howler.is_bundle:true`. This will provide a list of created bundles you can look through.\n\nClicking on a bundle will open up a slightly different search UI to normal. In this case, we automatically filter the search results to include only hits that are included in the bundle. To make this obvious, the header representing the bundle will appear above the search bar.\n\nYou can continue to filter through hits using the same queries as usual, and view them as usual. When triaging a bundle, assessing it will apply this assessment to all hits in the bundle, **except those that have already been triaged**. That is, if the bundle is open, all open hits will be assessed when you assess it.\n\nBundles also have a **Summary** tab not available for regular hits. This summary tab will aid you in aggregating data about all the hits in the bundle. Simply open the tab and click "Create Summary". Note that this may take some time, as a large number of queries are being run to aggregate the data.\n';
6
- const BUNDLES_FR = `<!-- docs/ingestion/bundles.fr.md -->
7
-
8
- # Les groupes des hits Howler
9
-
10
- Les groupes des hits peuvent être utilisés pour regrouper facilement un grand nombre d'alertes similaires, ce qui permet aux analystes de les traiter comme un seul incident. Prenons l'exemple d'un ordinateur qui effectue à plusieurs reprises un appel réseau vers \`baddomain.ru\` - bien qu'une alerte puisse être générée pour chaque cas où cet ordinateur accède à ce domaine, il est logique que les analystes traitent toutes ces alertes comme un seul et même cas.
11
-
12
- ## Création de groupes via le client Howler
13
-
14
- Il y a plusieurs façons de créer un groupe via le client Howler:
15
-
16
- \`\`\`python
17
- from howler_client import get_client
18
-
19
- howler = get_client("https://howler.dev.analysis.cyber.gc.ca")
20
-
21
- """Création simultanée d'un groupe howler et de hits"""
22
- howler.bundle.create(
23
- # Le premier argument est le hit de l'offre groupée
24
- {
25
- "howler.analytic": "example-test",
26
- "howler.score": 0
27
- },
28
- # Le deuxième argument est un hit ou une liste de hits à inclure dans l'offre groupée.
29
- [
30
- {
31
- "howler.analytic": "example-test",
32
- "howler.score": 0
33
- },
34
- {
35
- "howler.analytic": "example-test",
36
- "howler.score": 0
37
- }
38
- ]
39
- )
40
-
41
- """Création d'un groupe howler à partir de hits existants"""
42
- howler.bundle.create(
43
- {
44
- "howler.analytic": "example-test",
45
- "howler.score": 0,
46
- "howler.hits": ["YcUsL8QsjmwwIdstieROk", "6s7MztwuSvz6tM0PgGJhvz"]
47
- },
48
- # Noter: Dans les prochaines versions, vous n'aurez plus besoin d'inclure cet argument.
49
- []
50
- )
51
-
52
-
53
- """Création à partir d'une carte"""
54
- bundle_hit = {
55
- "score": 0,
56
- "bundle": True
57
- }
58
-
59
- map = {
60
- "score": ["howler.score"],
61
- "bundle": ["howler.is_bundle"]
62
- }
63
-
64
- howler.bundle.create_from_map("example-test", bundle_hit, map, [{"score": 0}])
65
- \`\`\`
66
-
67
- ## Visualiser les groupes sur l'interface utilisateur de Howler
68
-
69
- Afin de visualiser les groupes créés sur l'interface utilisateur de Howler, vous pouvez utiliser la requête \`howler.is_bundle:true\`. Cela fournira une liste de groupes créés que vous pourrez consulter.
70
-
71
- En cliquant sur un groupe, vous ouvrirez une interface de recherche légèrement différente de l'interface normale. Dans ce cas, nous filtrons automatiquement les résultats de la recherche pour n'inclure que les résultats inclus dans le groupe. Pour que cela soit évident, l'en-tête représentant le groupe apparaît au-dessus de la barre de recherche.
72
-
73
- Vous pouvez continuer à filtrer les résultats en utilisant les mêmes requêtes que d'habitude et à les visualiser comme d'habitude. Lors du triage d'un groupe, son évaluation s'appliquera à tous les hits du groupe, **sauf ceux qui ont déjà été triés**. En d'autres termes, si le groupe est ouvert, tous les hits ouverts seront évalués lorsque vous l'évaluerez.
74
-
75
- Les groupes disposent également d'un onglet **Résumé** qui n'est pas disponible pour les hits ordinaires. Cet onglet vous aidera à regrouper les données relatives à tous les résultats du groupe. Il suffit d'ouvrir l'onglet et de cliquer sur "Créer un sommaire". Notez que cette opération peut prendre un certain temps, car un grand nombre de requêtes sont exécutées pour agréger les données.
76
- `;
77
- const BundleDocumentation = () => {
78
- const { i18n } = useTranslation();
79
- const md = useMemo(() => i18n.language === "en" ? BUNDLES_EN : BUNDLES_FR, [i18n.language]);
80
- return /* @__PURE__ */ jsx(Markdown, { md });
81
- };
82
- export {
83
- BundleDocumentation as default
84
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const ClientDocumentation: FC;
3
- export default ClientDocumentation;
@@ -1,20 +0,0 @@
1
- import { jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import PageCenter from "../../../commons/components/pages/PageCenter.js";
3
- import Markdown from "../../elements/display/Markdown.js";
4
- import { useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
5
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
6
- import { useScrollRestoration } from "../../hooks/useScrollRestoration.js";
7
- const CLIENT_EN = '# Howler Client Documentation\n\nThis documentation will outline how to interact with the howler API using the howler client in both Java and python development environments. We will outline the basic process of creating a new hit in each environment as well as searching howler for hits matching your query.\n\n## Getting started\n\n### Installation\n\nIn order to use the howler client, you need to list it as a dependency in your project.\n\n#### **Python**\n\nSimply install through pip:\n\n```bash\npip install howler-client\n```\n\nYou can also add it to your requirements.txt, or whatever dependency management system you use.\n\n### Authentication\n\nAs outlined in the [Authentication Documentation](/help/auth), there\'s a number of ways users can choose to authenticate. In order to interface with the howler client, however, the suggested flow is to use an API key. So before we start, let\'s generate a key.\n\n1. Open the Howler UI you\'d like to interface with.\n2. Log in, then click your profile in the top right.\n3. Under user menu, click Settings.\n4. Under User Security, press the (+) icon on the API Keys row.\n5. Name your key, and give it the requisite permissions.\n6. Press Create, and copy the supplied string somewhere safe. **You will not see this string again.**\n\nThis API Key will be supplied to your code later on.\n\n## Python Client\n\nIn order to connect with howler using the python client, there is a fairly simple process to follow:\n\n```python\nfrom howler_client import get_client\n\nUSERNAME = \'user\' # Obtain this from the user settings page of the Howler UI\nAPIKEY = \'@cccsaurora/howler-ui/apikey_name:apikey_data\'\n\napikey = (USERNAME, APIKEY)\n\nhowler = get_client("$CURRENT_URL", apikey=apikey)\n```\n\n```alert\nYou can skip generating an API Key and providing it if you\'re executing this code within HOGWARTS (i.e., on jupyterhub or airflow). OBO will handle authentication for you!\n```\n\nThat\'s it! You can now use the `howler` object to interact with the server. So what does that actually look like?\n\n### Creating hits in Python\n\nFor the python client, you can create hits using either the `howler.hit.create` or `howler.hit.create_from_map` functions.\n\n#### `create`\n\nThis function takes in a single argument - either a single hit, or a list of them, conforming to the [Howler Schema](/help/hit?tab=schema). Here is a simple example:\n\n```python\n# Some bogus data in the Howler Schema format\nexample_hit = {\n "howler": {\n "analytic": "example",\n "score": 10.0\n },\n "event": {\n "reason": "Example hit"\n }\n}\n\nhowler.hit.create(example_hit)\n```\n\nYou can also ingest data in a flat format:\n\n```python\nexample_hit = {\n "howler.analytic": "example",\n "howler.score": 10.0,\n "event.reason": "Example hit"\n}\n\nhowler.hit.create(example_hit)\n```\n\n#### `create_from_map`\n\nThis function takes in three arguments:\n\n- `tool name`: The name of the analytic creating the hit\n- `map`: A mapping between the raw data you have and the howler schema\n - The format is a dictionary where the keys are the flattened path of the raw data, and the values are a list of flattened paths for Howler\'s fields where the data will be copied into.\n- `documents`: The raw data you want to add to howler\n\nHere is a simple example:\n\n```python\n# The mapping from our data to howler\'s schema\nhwl_map = {\n "file.sha256": ["file.hash.sha256", "howler.hash"],\n "file.name": ["file.name"],\n "src_ip": ["source.ip", "related.ip"],\n "dest_ip": ["destination.ip", "related.ip"],\n "time.created": ["event.start"],\n}\n\n# Some bogus data in a custom format we want to add to howler\nexample_hit = {\n "src_ip": "0.0.0.0",\n "dest_ip": "8.8.8.8",\n "file": {\n "name": "hello.exe",\n "sha256": sha256(str("hello.exe").encode()).hexdigest()\n },\n "time": {\n "created": datetime.now().isoformat()\n },\n}\n\n# Note that the third argument is of type list!\nhowler.hit.create_from_map("example_ingestor", hwl_map, [example_hit])\n```\n\n### Querying Hits\n\nQuerying hits using the howler python client is done using the `howler.search.hit` function. It has a number of required and optional arguments:\n\n- Required:\n - `query`: lucene query (string)\n- Optional:\n - `filters`: Additional lucene queries used to filter the data (list of strings)\n - `fl`: List of fields to return (comma separated string of fields)\n - `offset`: Offset at which the query items should start (integer)\n - `rows`: Number of records to return (integer)\n - `sort`: Field used for sorting with direction (string: ex. \'id desc\')\n - `timeout`: Max amount of milliseconds the query will run (integer)\n - `use_archive`: Also query the archive\n - `track_total_hits`: Number of hits to track (default: 10k)\n\nHere are some example queries:\n\n```python\n# Search for all hits created by assemblyline, show the first 50, and return only their ids\nhowler.search.hit("howler.analytic:assemblyline", fl="howler.id", rows=50)\n\n# Search for all resolved hits created in the last five days, returning their id and the analytic that created them. Show only ten, offset by 40\nhowler.search.hit("howler.status:resolved", filters=[\'event.created:[now-5d TO now]\'] fl="howler.id,howler.analytic", rows=10, offset=40)\n\n# Search for all hits, timeout if the query takes more than 100ms\nhowler.search.hit("howler.id:*", track_total_hits=100000000, timeout=100, use_archive=True)\n```\n\n### Updating Hits\n\nIn order to update hits, there are a number of supported functions:\n\n- `howler.hit.update(...)`\n- `howler.hit.update_by_query(...)`\n- `howler.hit.overwrite(...)`\n\n#### `update()`\n\nIf you want to update a hit in a transactional way, you can use the following code:\n\n```python\nhit_to_update = client.search.hit("howler.id:*", rows=1, sort="event.created desc")["items"][0]\n\nresult = client.hit.update(hit_to_update["howler"]["id"], [(UPDATE_SET, "howler.score", hit_to_update["howler"]["score"] + 100)])\n```\n\nThe following operations can be run to update a hit.\n\n**List Operations:**\n\n- `UPDATE_APPEND`: Used to append a value to a given list\n- `UPDATE_APPEND_IF_MISSING`: Used to append a value to a given list if the value isn\'t already in the list\n- `UPDATE_REMOVE`: Will remove a given value from a list\n\n**Numeric Operations:**\n\n- `UPDATE_DEC`: Decrement a numeric value by the specified amount\n- `UPDATE_INC`: Increment a numeric value by the specified amount\n- `UPDATE_MAX`: Will set a numeric value to the maximum of the existing value and the specified value\n- `UPDATE_MIN`: Will set a numeric value to the minimum of the existing value and the specified value\n\n**Multipurpose Operations:**\n\n- `UPDATE_SET`: Set a field\'s value to the given value\n- `UPDATE_DELETE`: Will delete a given field\'s value\n\n#### `update_by_query()`\n\nThis function allows you to update a large number of hits by a query:\n\n```python\nclient.hit.update_by_query(f\'howler.analytic:"Example Alert"\', [(UPDATE_INC, "howler.score", 100)])\n```\n\nThe same operations as in `update()` can be used.\n\n### `overwrite()`\n\nThis function allows you to directly overwrite a hit with a partial hit object. This is the most easy to use, but loses some of the validation and additional processing of the update functions.\n\n```python\nhit_to_update = client.search.hit("howler.id:*", rows=1, sort="event.created desc")["items"][0]\n\nresult = client.hit.overwrite(hit_to_update["howler"]["id"], {"source.ip": "127.0.0.1", "destination.ip": "8.8.8.8"})\n```\n';
8
- const CLIENT_FR = '# Documentation du client Howler\n\nCette documentation explique comment interagir avec l\'API howler en utilisant le client howler dans les environnements de développement Java et Python. Nous décrirons le processus de base de la création d\'un nouveau hit dans chaque environnement ainsi que la recherche dans howler des hits correspondant à votre requête.\n\n## Mise en route\n\n### Installation\n\nAfin d\'utiliser le client howler, vous devez le lister comme une dépendance dans votre projet.\n\n#### **Python**\n\nIl suffit de l\'installer à l\'aide de pip:\n\n```bash\npip install howler-client\n```\n\nVous pouvez également l\'ajouter à votre requirements.txt, ou à tout autre système de gestion des dépendances que vous utilisez.\n\n### Authentification\n\nComme indiqué dans la [Documentation sur l\'authentification](/help/auth), les utilisateurs peuvent s\'authentifier de différentes manières. Pour interfacer avec le client howler, cependant, le flux suggéré est d\'utiliser une clé API. Avant de commencer, générons une clé.\n\n1. Ouvrez l\'interface utilisateur Howler avec laquelle vous souhaitez vous interfacer.\n2. Connectez-vous, puis cliquez sur votre profil en haut à droite.\n3. Dans le menu utilisateur, cliquez sur Paramètres.\n4. Sous Sécurité de l\'utilisateur, appuyez sur l\'icône (+) sur la ligne Clés API.\n5. Nommez votre clé et donnez-lui les autorisations nécessaires.\n6. Appuyez sur Create (Créer) et copiez la chaîne fournie dans un endroit sûr. \\*\\*Vous ne reverrez plus cette chaîne.\n\nCette clé API sera fournie à votre code par la suite.\n\n## Client Python\n\nPour se connecter à howler en utilisant le client python, il y a un processus assez simple à suivre:\n\n```python\nfrom howler_client import get_client\n\nUSERNAME = \'user\' # Obtenez-le à partir de la page des paramètres de l\'utilisateur de l\'interface utilisateur de Howler.\nAPIKEY = \'@cccsaurora/howler-ui/apikey_name:apikey_data\'\n\napikey = (USERNAME, APIKEY)\n\nhowler = get_client("$CURRENT_URL", apikey=apikey)\n```\n\nVoilà, c\'est fait ! Vous pouvez maintenant utiliser l\'objet `howler` pour interagir avec le serveur. A quoi cela ressemble-t-il en réalité?\n\n### Créer des hits en Python\n\nPour le client python, vous pouvez créer des hits en utilisant les fonctions `howler.hit.create` ou `howler.hit.create_from_map`.\n\n#### `create`\n\nCette fonction prend un seul argument - soit un hit unique, soit une liste de hits, conforme au [Howler Schema] (/help/hit?tab=schema). Voici un exemple simple :\n\n```python\n# Quelques données bidons au format Howler Schema\nexemple_hit = {\n "howler" : {\n "analytic" : "exemple",\n "score" : 10.0\n },\n "event" : {\n "reason" : "Exemple hit"\n }\n}\n\nhowler.hit.create(example_hit)\n```\n\nVous pouvez également ingérer des données dans un format plat :\n\n```python\nexample_hit = {\n "howler.analytic": "example",\n "howler.score": 10.0,\n "event.reason": "Example hit"\n}\n\nhowler.hit.create(example_hit)\n```\n\n#### `create_from_map`\n\nThis function takes in three arguments:\n\n- `tool name`: Le nom de l\'outil d\'analyse qui crée le hit\n- `map`: Une correspondance entre les données brutes que vous avez et le schéma howler\n - Le format est un dictionnaire où les clés sont le chemin aplati des données brutes, et les valeurs sont une liste de chemins aplatis pour les champs de Howler dans lesquels les données seront copiées.\n- `documents`: Les données brutes que vous voulez ajouter à Howler.\n\nVoici un exemple simple:\n\n```python\n# La correspondance entre nos données et le schéma de Howler\nhwl_map = {\n "file.sha256": ["file.hash.sha256", "howler.hash"],\n "file.name": ["file.name"],\n "src_ip": ["source.ip", "related.ip"],\n "dest_ip": ["destination.ip", "related.ip"],\n "time.created": ["event.start"],\n}\n\n# Quelques fausses données dans un format personnalisé que nous voulons ajouter à howler\nexample_hit = {\n "src_ip": "0.0.0.0",\n "dest_ip": "8.8.8.8",\n "file": {\n "name": "hello.exe",\n "sha256": sha256(str("hello.exe").encode()).hexdigest()\n },\n "time": {\n "created": datetime.now().isoformat()\n },\n}\n\n# Notez que le troisième argument est de type liste!\nhowler.hit.create_from_map("example_ingestor", hwl_map, [example_hit])\n```\n\n### Interroger les hits en Python\n\nL\'interrogation des hits avec le client python howler se fait en utilisant la fonction `howler.search.hit`. Elle possède un certain nombre d\'arguments obligatoires et optionnels:\n\n- Obligatoire:\n - `query`: requête lucene (chaîne)\n- Facultatif: `filters`: requête lucene (chaîne):\n - `filters`: Requêtes lucene additionnelles utilisées pour filtrer les données (liste de chaînes)\n - `fl`: Liste des champs à retourner (chaîne de champs séparés par des virgules)\n - `offset`: Offset auquel les éléments de la requête doivent commencer (entier)\n - `rows`: Nombre d\'enregistrements à retourner (entier)\n - `sort`: Champ utilisé pour le tri avec direction (chaîne: ex. \'id desc\')\n - `timeout`: Nombre maximum de millisecondes d\'exécution de la requête (entier)\n - `use_archive`: Interroge également l\'archive\n - `track_total_hits`: Nombre de hits à suivre (par défaut: 10k)\n\nVoici quelques exemples de requêtes:\n\n```python\n# Rechercher tous les hits créés par assemblyline, afficher les 50 premiers et ne renvoyer que leurs identifiants.\nhowler.search.hit("howler.analytic:assemblyline", fl="howler.id", rows=50)\n\n# Recherche de toutes les occurrences résolues créées au cours des cinq derniers jours, avec indication de leur identifiant et de l\'analyste qui les a créées. N\'en afficher que dix, décalés de 40\nhowler.search.hit("howler.status:resolved", filters=[\'event.created:[now-5d TO now]\'] fl="howler.id,howler.analytic", rows=10, offset=40)\n\n# Recherche de tous les résultats, délai d\'attente si la requête prend plus de 100 ms\nhowler.search.hit("howler.id:*", track_total_hits=100000000, timeout=100, use_archive=True)\n```\n\n### Mise à jour des résultats\n\nAfin de mettre à jour les hits, il existe un certain nombre de fonctions supportées :\n\n- `howler.hit.update(...)`\n- `howler.hit.update_by_query(...)`\n- `howler.hit.overwrite(...)`\n\n#### `update()`\n\nSi vous souhaitez mettre à jour un hit de manière transactionnelle, vous pouvez utiliser le code suivant:\n\n```python\nhit_to_update = client.search.hit("howler.id:*", rows=1, sort="event.created desc")["items"][0]\n\nresult = client.hit.update(hit_to_update["howler"]["id"], [(UPDATE_SET, "howler.score", hit_to_update["howler"]["score"] + 100)])\n```\n\nLes opérations suivantes peuvent être exécutées pour mettre à jour un résultat.\n\n**Opérations de liste:**\n\n- `UPDATE_APPEND` : Utilisé pour ajouter une valeur à une liste donnée\n- `UPDATE_APPEND_IF_MISSING` : Utilisé pour ajouter une valeur à une liste donnée si la valeur n\'est pas déjà dans la liste.\n- `UPDATE_REMOVE` : Supprime une valeur donnée d\'une liste\n\n**Opérations numériques:**\n\n- `UPDATE_DEC` : Diminue une valeur numérique de la quantité spécifiée.\n- `UPDATE_INC` : Incrémente une valeur numérique de la quantité spécifiée.\n- `UPDATE_MAX` : Fixe une valeur numérique au maximum de la valeur existante et de la valeur spécifiée.\n- `UPDATE_MIN` : Fixe une valeur numérique au minimum de la valeur existante et de la valeur spécifiée.\n\n**Opérations polyvalentes:**\n\n- `UPDATE_SET` : Fixe la valeur d\'un champ à la valeur donnée.\n- `UPDATE_DELETE` : Supprime la valeur d\'un champ donné\n\n#### `update_by_query()`\n\nCette fonction vous permet de mettre à jour un grand nombre d\'occurrences à l\'aide d\'une requête :\n\n```python\nclient.hit.update_by_query(f\'howler.analytic : "Exemple d\\\'analytic"\', [(UPDATE_INC, "howler.score", 100)])\n```\n\nLes mêmes opérations que dans `update()` peuvent être utilisées.\n\n### `overwrite()`\n\nCette fonction vous permet d\'écraser directement un hit avec un objet hit partiel. C\'est la plus facile à utiliser, mais elle perd une partie de la validation et du traitement supplémentaire des fonctions de mise à jour.\n\n```python\nhit_to_update = client.search.hit("howler.id:*", rows=1, sort="event.created desc")["items"][0]\n\nresult = client.hit.overwrite(hit_to_update["howler"]["id"], {"source.ip" : "127.0.0.1", “destination.ip” : "8.8.8.8"})\n```\n';
9
- const ClientDocumentation = () => {
10
- const { i18n } = useTranslation();
11
- useScrollRestoration();
12
- const md = useMemo(
13
- () => (i18n.language === "en" ? CLIENT_EN : CLIENT_FR).replace(/\$CURRENT_URL/g, window.location.origin),
14
- [i18n.language]
15
- );
16
- return /* @__PURE__ */ jsx(PageCenter, { margin: 4, width: "100%", textAlign: "left", children: /* @__PURE__ */ jsx(Markdown, { md }) });
17
- };
18
- export {
19
- ClientDocumentation as default
20
- };
@@ -1,2 +0,0 @@
1
- declare const HelpDashboard: () => import("react/jsx-runtime").JSX.Element;
2
- export default HelpDashboard;
@@ -1,61 +0,0 @@
1
- import { jsx, jsxs } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import { HelpCenter, OpenInNew } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/@mui+icons-material@5.18.0_@mui+material@5.18.0_@emotion+react@11.14.0_@types+react@18._b9cf98cd2d466d3b4f338d38bc895c0b/node_modules/@mui/icons-material/esm/index.js";
3
- import { Stack, Typography, Divider, Grid, Card, CardHeader, IconButton, CardContent, CardActions, Button } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/@mui+material@5.18.0_@emotion+react@11.14.0_@types+react@18.3.23_react@18.3.1__@emotion_19a5ee0476da228d66b5ad5c143bb0c3/node_modules/@mui/material/index.js";
4
- import PageCenter from "../../../commons/components/pages/PageCenter.js";
5
- import useMyPreferences from "../../hooks/useMyPreferences.js";
6
- import { useScrollRestoration } from "../../hooks/useScrollRestoration.js";
7
- import howlerPluginStore from "../../../plugins/store.js";
8
- import { useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
9
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
10
- import { usePluginStore } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-pluggable@0.4.3_react@18.3.1/node_modules/react-pluggable/dist/react-pluggable.esm.js";
11
- import { Link } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-router-dom@6.30.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.js";
12
- const HelpDashboard = () => {
13
- const { t } = useTranslation(["translation", "helpMain"]);
14
- const { leftnav } = useMyPreferences();
15
- const pluginStore = usePluginStore();
16
- useScrollRestoration();
17
- const tabs = useMemo(
18
- () => ({
19
- "help.hit": ["schema", "header", "bundle", "links"],
20
- "help.actions": ["introduction", ...howlerPluginStore.operations]
21
- }),
22
- []
23
- );
24
- const links = useMemo(
25
- () => leftnav.elements.find((el) => el.type === "group" && el.element.id === "help").element.items.filter((_item) => _item.id !== "help.main"),
26
- [leftnav.elements]
27
- );
28
- return /* @__PURE__ */ jsx(PageCenter, { margin: 4, width: "100%", maxWidth: "1750px", textAlign: "left", children: /* @__PURE__ */ jsxs(Stack, { spacing: 1, children: [
29
- /* @__PURE__ */ jsxs(Typography, { variant: "h3", sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [
30
- /* @__PURE__ */ jsx(HelpCenter, { fontSize: "inherit", sx: { mr: 1 } }),
31
- /* @__PURE__ */ jsx("span", { children: t("page.help.title") })
32
- ] }),
33
- /* @__PURE__ */ jsx(Divider, { sx: (theme) => ({ marginLeft: `${theme.spacing(1)} !important` }) }),
34
- /* @__PURE__ */ jsx(Grid, { container: true, spacing: 1, sx: { pr: 1 }, children: links.map((link) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, md: 3, sx: { display: "flex" }, children: /* @__PURE__ */ jsxs(Card, { sx: { flex: 1, display: "flex", flexDirection: "column" }, children: [
35
- /* @__PURE__ */ jsx(
36
- CardHeader,
37
- {
38
- title: /* @__PURE__ */ jsxs(
39
- Stack,
40
- {
41
- direction: "row",
42
- alignItems: "center",
43
- sx: { "& svg": { fontSize: "inherit" }, "& > span": { ml: 1 } },
44
- children: [
45
- link.icon,
46
- /* @__PURE__ */ jsx("span", { children: t(link.i18nKey) }),
47
- /* @__PURE__ */ jsx(IconButton, { component: Link, to: link.route, sx: { ml: "auto" }, children: /* @__PURE__ */ jsx(OpenInNew, { color: "primary", fontSize: "inherit" }) })
48
- ]
49
- }
50
- )
51
- }
52
- ),
53
- /* @__PURE__ */ jsx(CardContent, { sx: { flex: 1 }, children: /* @__PURE__ */ jsx(Typography, { children: t(`helpMain:${link.i18nKey}.description`) }) }),
54
- tabs[link.id] && /* @__PURE__ */ jsx(CardActions, { children: tabs[link.id].map((tab) => /* @__PURE__ */ jsx(Button, { size: "small", component: Link, to: `${link.route}?tab=${tab}`, children: tab }, tab)) })
55
- ] }) }, link.id)) }),
56
- howlerPluginStore.plugins.map((plugin) => pluginStore.executeFunction(`${plugin}.help`))
57
- ] }) });
58
- };
59
- export {
60
- HelpDashboard as default
61
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const HitBannerDocumentation: FC;
3
- export default HitBannerDocumentation;
@@ -1,62 +0,0 @@
1
- import { jsxs, Fragment, jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import { Typography, Divider, CardContent } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/@mui+material@5.18.0_@emotion+react@11.14.0_@types+react@18.3.23_react@18.3.1__@emotion_19a5ee0476da228d66b5ad5c143bb0c3/node_modules/@mui/material/index.js";
3
- import HowlerCard from "../../elements/display/HowlerCard.js";
4
- import JSONViewer from "../../elements/display/json/JSONViewer.js";
5
- import HitBanner from "../../elements/hit/HitBanner.js";
6
- import { HitLayout } from "../../elements/hit/HitLayout.js";
7
- import { useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
8
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
9
- const HitBannerDocumentation = () => {
10
- const { t } = useTranslation();
11
- const dummyHit = useMemo(
12
- () => ({
13
- timestamp: "2023-02-11T15:10:31.585826Z",
14
- howler: {
15
- id: "howler.id",
16
- analytic: "howler.analytic",
17
- detection: "howler.detection",
18
- assignment: "howler.assignment",
19
- hash: "howler.hash",
20
- outline: {
21
- threat: "howler.outline.threat",
22
- target: "howler.outline.target",
23
- indicators: ["howler.outline.indicators"],
24
- summary: "howler.outline.summary"
25
- },
26
- escalation: "howler.escalation",
27
- status: "howler.status"
28
- },
29
- event: {
30
- created: "2023-02-11T15:10:31.585826Z",
31
- provider: "event.provider"
32
- },
33
- organization: {
34
- id: "organization.id",
35
- name: "organization.name"
36
- },
37
- threat: {
38
- tactic: {
39
- id: "threat.tactic.id",
40
- name: "threat.tactic.name"
41
- },
42
- technique: {
43
- id: "threat.technique.id",
44
- name: "threat.technique.name"
45
- }
46
- }
47
- }),
48
- []
49
- );
50
- return /* @__PURE__ */ jsxs(Fragment, { children: [
51
- /* @__PURE__ */ jsx("h1", { children: t("help.hit.banner.title") }),
52
- /* @__PURE__ */ jsx(Typography, { variant: "body1", children: t("help.hit.banner.description") }),
53
- /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", sx: { my: 2 } }),
54
- /* @__PURE__ */ jsx(HowlerCard, { sx: { mb: 2 }, children: /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx(HitBanner, { hit: dummyHit, layout: HitLayout.COMFY }) }) }),
55
- /* @__PURE__ */ jsx(Typography, { variant: "body1", children: t("help.hit.banner.json") }),
56
- /* @__PURE__ */ jsx(Divider, { orientation: "horizontal", sx: { my: 2 } }),
57
- /* @__PURE__ */ jsx(JSONViewer, { data: dummyHit })
58
- ] });
59
- };
60
- export {
61
- HitBannerDocumentation as default
62
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const HitDocumentation: FC;
3
- export default HitDocumentation;
@@ -1,83 +0,0 @@
1
- import { jsx, jsxs } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import { useTheme, useMediaQuery, Stack, Tab, Typography, Box } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/@mui+material@5.18.0_@emotion+react@11.14.0_@types+react@18.3.23_react@18.3.1__@emotion_19a5ee0476da228d66b5ad5c143bb0c3/node_modules/@mui/material/index.js";
3
- import PageCenter from "../../../commons/components/pages/PageCenter.js";
4
- import { useScrollRestoration } from "../../hooks/useScrollRestoration.js";
5
- import { useState, useCallback } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
6
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
7
- import { useSearchParams } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-router-dom@6.30.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.js";
8
- import BundleDocumentation from "./BundleDocumentation.js";
9
- import HelpTabs from "./components/HelpTabs.js";
10
- import HitBannerDocumentation from "./HitBannerDocumentation.js";
11
- import HitLabelsDocumentation from "./HitLabelsDocumentation.js";
12
- import HitLinksDocumentation from "./HitLinksDocumentation.js";
13
- import HitSchemaDocumentation from "./HitSchemaDocumentation.js";
14
- const HitDocumentation = () => {
15
- const { t } = useTranslation();
16
- const theme = useTheme();
17
- const useHorizontal = useMediaQuery(theme.breakpoints.down(1700));
18
- useScrollRestoration();
19
- const [searchParams, setSearchParams] = useSearchParams();
20
- const [tab, setTab] = useState(searchParams.get("tab") ?? "schema");
21
- const onChange = useCallback(
22
- (_tab) => {
23
- setTab(_tab);
24
- searchParams.set("tab", _tab);
25
- setSearchParams(new URLSearchParams(searchParams));
26
- },
27
- [searchParams, setSearchParams]
28
- );
29
- return /* @__PURE__ */ jsx(PageCenter, { margin: 4, width: "100%", maxWidth: "1750px", textAlign: "left", children: /* @__PURE__ */ jsxs(Stack, { sx: { flexDirection: useHorizontal ? "column" : "row", "& h1": { mt: 0 } }, children: [
30
- /* @__PURE__ */ jsxs(HelpTabs, { value: tab, children: [
31
- /* @__PURE__ */ jsx(
32
- Tab,
33
- {
34
- label: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: t("help.hit.schema.title") }),
35
- value: "schema",
36
- onClick: () => onChange("schema")
37
- }
38
- ),
39
- /* @__PURE__ */ jsx(
40
- Tab,
41
- {
42
- label: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: t("help.hit.banner.title") }),
43
- value: "header",
44
- onClick: () => onChange("header")
45
- }
46
- ),
47
- /* @__PURE__ */ jsx(
48
- Tab,
49
- {
50
- label: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: t("help.hit.bundle.title") }),
51
- value: "bundle",
52
- onClick: () => onChange("bundle")
53
- }
54
- ),
55
- /* @__PURE__ */ jsx(
56
- Tab,
57
- {
58
- label: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: t("help.hit.links.title") }),
59
- value: "links",
60
- onClick: () => onChange("links")
61
- }
62
- ),
63
- /* @__PURE__ */ jsx(
64
- Tab,
65
- {
66
- label: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: t("help.hit.labels.title") }),
67
- value: "labels",
68
- onClick: () => onChange("labels")
69
- }
70
- )
71
- ] }),
72
- /* @__PURE__ */ jsx(Box, { children: {
73
- bundle: () => /* @__PURE__ */ jsx(BundleDocumentation, {}),
74
- header: () => /* @__PURE__ */ jsx(HitBannerDocumentation, {}),
75
- links: () => /* @__PURE__ */ jsx(HitLinksDocumentation, {}),
76
- labels: () => /* @__PURE__ */ jsx(HitLabelsDocumentation, {}),
77
- schema: () => /* @__PURE__ */ jsx(HitSchemaDocumentation, {})
78
- }[tab]() })
79
- ] }) });
80
- };
81
- export {
82
- HitDocumentation as default
83
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const HitLabelsDocumentation: FC;
3
- export default HitLabelsDocumentation;
@@ -1,46 +0,0 @@
1
- import { jsxs, jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
3
- import { Stack, TableContainer, Paper, Table, TableHead, TableRow, TableCell, TableBody, Chip } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/@mui+material@5.18.0_@emotion+react@11.14.0_@types+react@18.3.23_react@18.3.1__@emotion_19a5ee0476da228d66b5ad5c143bb0c3/node_modules/@mui/material/index.js";
4
- import { capitalize } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/lodash.js";
5
- import { LABEL_TYPES } from "../../../utils/constants.js";
6
- const HitLabelsDocumentation = () => {
7
- const { t } = useTranslation();
8
- return /* @__PURE__ */ jsxs(Stack, { children: [
9
- /* @__PURE__ */ jsx("h1", { children: t("help.hit.labels.title") }),
10
- /* @__PURE__ */ jsx(TableContainer, { component: Paper, children: /* @__PURE__ */ jsxs(Table, { children: [
11
- /* @__PURE__ */ jsx(TableHead, { children: /* @__PURE__ */ jsxs(TableRow, { children: [
12
- /* @__PURE__ */ jsx(TableCell, { children: t("page.documentation.labels.name") }),
13
- /* @__PURE__ */ jsx(TableCell, { children: t("page.documentation.labels.description") }),
14
- /* @__PURE__ */ jsx(TableCell, { children: t("page.documentation.labels.example") })
15
- ] }) }),
16
- /* @__PURE__ */ jsx(TableBody, { children: Object.entries(LABEL_TYPES).map(([label, details]) => /* @__PURE__ */ jsxs(TableRow, { children: [
17
- /* @__PURE__ */ jsx(TableCell, { children: capitalize(label) }),
18
- /* @__PURE__ */ jsx(TableCell, { children: t(`hit.label.category.${label}`).replace(/.+ - /, "") }),
19
- /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(
20
- Chip,
21
- {
22
- icon: (details == null ? void 0 : details.icon) ?? void 0,
23
- variant: "filled",
24
- size: "small",
25
- label,
26
- sx: [
27
- {
28
- mr: 1,
29
- mb: 1
30
- },
31
- (details == null ? void 0 : details.color) && {
32
- "&, & svg": {
33
- color: (theme) => theme.palette.getContrastText(details.color) + " !important"
34
- },
35
- backgroundColor: details.color
36
- }
37
- ]
38
- }
39
- ) })
40
- ] }, label)) })
41
- ] }) })
42
- ] });
43
- };
44
- export {
45
- HitLabelsDocumentation as default
46
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const HitLinksDocumentation: FC;
3
- export default HitLinksDocumentation;
@@ -1,56 +0,0 @@
1
- import { jsx } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js";
2
- import Markdown from "../../elements/display/Markdown.js";
3
- import { useContext, useMemo } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js";
4
- import { useTranslation } from "/home/runner/work/howler/howler/ui/node_modules/.pnpm/react-i18next@14.1.3_i18next@23.16.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-i18next/dist/es/index.js";
5
- import { ApiConfigContext } from "../../app/providers/ApiConfigProvider.js";
6
- const LINKS_EN = '# Hit Links\n\nIn order to facilitate the addition of additional tools one can use to triage a hit, Howler allows users to specify a set of links, along with a title and icon to show. This documentation will walk you through how to use these links.\n\n## Specification\n\nIn order to add links, you can use the `howler.links` field. This field takes in a list of objects with three keys:\n\n```python\nhit = {\n "howler.links": [\n {\n "title": "Link Title with Internal Image",\n "href": "https://example.com",\n # Note that this specifies another application, not an image link\n "icon": "superset",\n },\n {\n "title": "Link Title with External Image",\n "href": "https://www.britannica.com/animal/goose-bird",\n # Note that this specifies an image link. We don\'t provide hosting, so you\'ll need to host it somewhere else!\n "icon": "https://cdn.britannica.com/76/76076-050-39DDCBA1/goose-Canada-North-America.jpg",\n },\n ]\n}\n```\n\nNote the icon can either be:\n\n1. A name identifying a linked application (from the app switcher), to use its icon\n2. An external URL\n\nIf you\'d like to use a linked app, the following values are currently supported:\n\n$APP_LIST\n\nUsing any of these values will automatically use the corresponding icon. No need to host your own!\n';
7
- const LINKS_FR = `# Liens du hit
8
-
9
- Afin de faciliter l'ajout d'outils supplémentaires que l'on peut utiliser pour suivre un hit, Howler permet aux utilisateurs de spécifier un ensemble de liens, ainsi qu'un titre et une icône à afficher. Cette documentation vous expliquera comment utiliser ces liens.
10
-
11
- ## Specification
12
-
13
- Afin d'ajouter des liens, vous pouvez utiliser le champ \`howler.links\`. Ce champ contient une liste d'objets avec trois clés :
14
-
15
- \`\`\`python
16
- hit = {
17
- "howler.links": [
18
- {
19
- "title": "Titre du lien avec image interne",
20
- "href": "https://example.com",
21
- # Notez qu'il s'agit d'une autre application, et non d'un lien vers une image.
22
- "icon": "superset",
23
- },
24
- {
25
- "title": "Titre du lien avec image externe",
26
- "href": "https://www.britannica.com/animal/goose-bird",
27
- # Notez qu'il s'agit d'un lien vers une image. Nous ne fournissons pas d'hébergement, vous devrez donc l'héberger ailleurs !
28
- "icon": "https://cdn.britannica.com/76/76076-050-39DDCBA1/goose-Canada-North-America.jpg",
29
- },
30
- ]
31
- }
32
- \`\`\`
33
-
34
- Notez que l'icône peut être soit :
35
-
36
- 1. Un nom identifiant une application liée (à partir du sélecteur d'applications), afin d'utiliser son icône.
37
- 2. Une URL externe
38
-
39
- Si vous souhaitez utiliser une application liée, les valeurs suivantes sont actuellement prises en charge :
40
-
41
- $APP_LIST
42
-
43
- L'utilisation de l'une de ces valeurs entraîne automatiquement l'utilisation de l'icône correspondante. Inutile d'héberger la vôtre !
44
- `;
45
- const HitLinksDocumentation = () => {
46
- const { i18n } = useTranslation();
47
- const { config } = useContext(ApiConfigContext);
48
- const md = useMemo(() => {
49
- const appList = config.configuration.ui.apps.map((a) => `- \`${a.name.toLowerCase()}\``).join("\n");
50
- return (i18n.language === "en" ? LINKS_EN : LINKS_FR).replace("$APP_LIST", appList);
51
- }, [config.configuration.ui.apps, i18n.language]);
52
- return /* @__PURE__ */ jsx(Markdown, { md });
53
- };
54
- export {
55
- HitLinksDocumentation as default
56
- };
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- declare const HitSchemaDocumentation: FC;
3
- export default HitSchemaDocumentation;