@cccsaurora/howler-ui 2.18.0-dev.766 → 2.18.0-dev.771
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.
- package/api/index.d.ts +0 -2
- package/api/index.js +2 -4
- package/api/search/facet/hit.d.ts +3 -1
- package/api/search/facet/index.d.ts +1 -3
- package/api/search/index.d.ts +1 -2
- package/api/search/index.js +1 -2
- package/commons/components/leftnav/LeftNavDrawer.js +1 -1
- package/components/app/App.js +8 -36
- package/components/app/hooks/useMatchers.d.ts +1 -1
- package/components/app/hooks/useMatchers.js +11 -23
- package/components/app/hooks/useMatchers.test.js +22 -22
- package/components/app/hooks/useTitle.js +3 -3
- package/components/app/providers/FavouritesProvider.js +2 -2
- package/components/app/providers/HitProvider.d.ts +22 -0
- package/components/app/providers/{RecordProvider.js → HitProvider.js} +41 -41
- package/components/app/providers/{RecordSearchProvider.d.ts → HitSearchProvider.d.ts} +6 -6
- package/components/app/providers/{RecordSearchProvider.js → HitSearchProvider.js} +17 -12
- package/components/app/providers/{RecordSearchProvider.test.js → HitSearchProvider.test.js} +71 -52
- package/components/app/providers/ModalProvider.d.ts +0 -1
- package/components/app/providers/ParameterProvider.d.ts +2 -9
- package/components/app/providers/ParameterProvider.js +240 -165
- package/components/app/providers/ParameterProvider.test.js +94 -346
- package/components/app/providers/UserListProvider.js +8 -28
- package/components/elements/PluginTypography.d.ts +1 -2
- package/components/elements/PluginTypography.js +2 -3
- package/components/elements/UserList.d.ts +2 -5
- package/components/elements/UserList.js +8 -18
- package/components/elements/addons/search/phrase/Phrase.js +1 -1
- package/components/elements/display/ChipPopper.d.ts +1 -1
- package/components/elements/display/HowlerCard.js +1 -1
- package/components/elements/display/Modal.js +0 -2
- package/components/elements/display/icons/BundleButton.d.ts +6 -0
- package/components/elements/display/icons/BundleButton.js +32 -0
- package/components/elements/hit/HitActions.js +4 -4
- package/components/elements/hit/HitBanner.d.ts +0 -1
- package/components/elements/hit/HitBanner.js +49 -29
- package/components/elements/hit/HitCard.d.ts +0 -2
- package/components/elements/hit/HitCard.js +7 -7
- package/components/elements/{record/RecordComments.d.ts → hit/HitComments.d.ts} +4 -5
- package/components/elements/{record/RecordComments.js → hit/HitComments.js} +28 -29
- package/components/elements/{ObjectDetails.js → hit/HitDetails.js} +17 -17
- package/components/elements/hit/HitLabels.js +2 -2
- package/components/elements/hit/HitLinks.js +1 -1
- package/components/elements/hit/HitOutline.d.ts +0 -1
- package/components/elements/hit/HitOutline.js +3 -3
- package/components/elements/hit/{HitPreview.d.ts → HitQuickSearch.d.ts} +3 -3
- package/components/elements/hit/{HitPreview.js → HitQuickSearch.js} +4 -10
- package/components/elements/hit/HitRelated.d.ts +6 -0
- package/components/elements/hit/HitRelated.js +7 -0
- package/components/elements/hit/HitSummary.d.ts +1 -2
- package/components/elements/hit/HitSummary.js +5 -6
- package/components/elements/{record/RecordWorklog.d.ts → hit/HitWorklog.d.ts} +3 -4
- package/components/elements/{record/RecordWorklog.js → hit/HitWorklog.js} +13 -15
- package/components/elements/hit/aggregate/HitGraph.js +8 -8
- package/components/elements/hit/outlines/DefaultOutline.js +1 -1
- package/components/elements/view/ViewTitle.d.ts +0 -1
- package/components/elements/view/ViewTitle.js +2 -9
- package/components/hooks/useHitActions.d.ts +1 -1
- package/components/hooks/useHitActions.js +4 -4
- package/components/hooks/{useRecordSelection.d.ts → useHitSelection.d.ts} +2 -2
- package/components/hooks/{useRecordSelection.js → useHitSelection.js} +33 -12
- package/components/hooks/useMyPreferences.js +1 -10
- package/components/hooks/useMySearch.js +2 -2
- package/components/hooks/useMySitemap.js +1 -4
- package/components/hooks/useMyTheme.js +2 -9
- package/components/routes/action/edit/ActionEditor.js +2 -2
- package/components/routes/action/view/ActionSearch.js +1 -1
- package/components/routes/advanced/QueryBuilder.js +1 -1
- package/components/routes/advanced/QueryEditor.js +3 -3
- package/components/routes/advanced/historyCompletionProvider.js +3 -3
- package/components/routes/analytics/AnalyticDetails.js +2 -2
- package/components/routes/analytics/AnalyticSearch.js +1 -1
- package/components/routes/dossiers/DossierEditor.js +2 -2
- package/components/routes/dossiers/DossierEditor.test.js +1 -1
- package/components/routes/help/ApiDocumentation.js +1 -1
- package/components/routes/help/BundleDocumentation.d.ts +3 -0
- package/components/routes/help/BundleDocumentation.js +12 -0
- package/components/routes/help/HitBannerDocumentation.js +0 -1
- package/components/routes/help/HitDocumentation.js +3 -1
- package/components/routes/help/markdown/en/bundles.md.js +1 -0
- package/components/routes/help/markdown/fr/bundles.md.js +1 -0
- package/components/routes/hits/search/BundleParentMenu.d.ts +6 -0
- package/components/routes/hits/search/BundleParentMenu.js +32 -0
- package/components/routes/hits/search/BundleScroller.d.ts +2 -0
- package/components/routes/hits/search/BundleScroller.js +6 -0
- package/components/routes/hits/search/{RecordBrowser.js → HitBrowser.js} +9 -9
- package/components/{elements/record/RecordContextMenu.d.ts → routes/hits/search/HitContextMenu.d.ts} +3 -3
- package/components/routes/hits/search/HitContextMenu.js +227 -0
- package/components/{elements/record/RecordContextMenu.test.js → routes/hits/search/HitContextMenu.test.js} +39 -94
- package/components/routes/hits/search/{RecordQuery.d.ts → HitQuery.d.ts} +2 -2
- package/components/routes/hits/search/{RecordQuery.js → HitQuery.js} +6 -6
- package/components/routes/hits/search/InformationPane.d.ts +0 -1
- package/components/routes/hits/search/InformationPane.js +60 -47
- package/components/routes/hits/search/LayoutSettings.js +3 -3
- package/components/routes/hits/search/QuerySettings.js +1 -2
- package/components/routes/hits/search/QuerySettings.test.js +9 -14
- package/components/routes/hits/search/SearchPane.js +49 -26
- package/components/routes/hits/search/ViewLink.js +3 -3
- package/components/routes/hits/search/ViewLink.test.js +8 -8
- package/components/routes/hits/search/grid/AddColumnModal.js +4 -5
- package/components/routes/hits/search/grid/EnhancedCell.d.ts +1 -2
- package/components/routes/hits/search/grid/EnhancedCell.js +2 -2
- package/components/routes/hits/search/grid/HitGrid.js +18 -20
- package/components/routes/hits/search/grid/{RecordRow.d.ts → HitRow.d.ts} +2 -3
- package/components/routes/hits/search/grid/{RecordRow.js → HitRow.js} +8 -10
- package/components/routes/hits/view/HitViewer.js +13 -12
- package/components/routes/home/ViewCard.js +41 -47
- package/components/{elements/MarkdownEditor.js → routes/overviews/OverviewEditor.js} +3 -3
- package/components/routes/overviews/OverviewViewer.js +2 -2
- package/components/routes/views/ViewComposer.js +19 -46
- package/locales/en/translation.json +3 -109
- package/locales/fr/translation.json +3 -107
- package/models/WithMetadata.d.ts +1 -2
- package/models/entities/generated/{ThreatEnrichment.d.ts → Enrichment.d.ts} +1 -1
- package/models/entities/generated/Hit.d.ts +0 -1
- package/models/entities/generated/Howler.d.ts +4 -0
- package/models/entities/generated/Rule.d.ts +10 -2
- package/models/entities/generated/Threat.d.ts +2 -2
- package/models/entities/generated/View.d.ts +0 -1
- package/package.json +3 -21
- package/plugins/clue/components/ClueTypography.js +2 -2
- package/plugins/clue/utils.d.ts +1 -2
- package/tests/mocks.d.ts +1 -11
- package/tests/mocks.js +7 -12
- package/tests/server-handlers.js +1 -6
- package/tests/utils.d.ts +0 -4
- package/tests/utils.js +0 -20
- package/utils/constants.d.ts +3 -4
- package/utils/constants.js +0 -6
- package/utils/hitFunctions.d.ts +1 -2
- package/utils/hitFunctions.js +4 -4
- package/utils/viewUtils.js +0 -3
- package/api/search/case.d.ts +0 -4
- package/api/search/case.js +0 -8
- package/api/v2/case/index.d.ts +0 -8
- package/api/v2/case/index.js +0 -20
- package/api/v2/case/items.d.ts +0 -6
- package/api/v2/case/items.js +0 -18
- package/api/v2/index.d.ts +0 -4
- package/api/v2/index.js +0 -6
- package/api/v2/search/facet.d.ts +0 -3
- package/api/v2/search/facet.js +0 -12
- package/api/v2/search/index.d.ts +0 -5
- package/api/v2/search/index.js +0 -24
- package/components/app/providers/RecordProvider.d.ts +0 -23
- package/components/elements/ContextMenu.d.ts +0 -56
- package/components/elements/ContextMenu.js +0 -109
- package/components/elements/ContextMenu.test.js +0 -215
- package/components/elements/ObjectDetails.d.ts +0 -6
- package/components/elements/case/CaseCard.d.ts +0 -12
- package/components/elements/case/CaseCard.js +0 -42
- package/components/elements/case/CasePreview.d.ts +0 -6
- package/components/elements/case/CasePreview.js +0 -17
- package/components/elements/case/StatusIcon.d.ts +0 -5
- package/components/elements/case/StatusIcon.js +0 -13
- package/components/elements/hit/elements/AnalyticLink.d.ts +0 -9
- package/components/elements/hit/elements/AnalyticLink.js +0 -22
- package/components/elements/hit/related/RelatedRecords.js +0 -63
- package/components/elements/observable/ObservableCard.d.ts +0 -6
- package/components/elements/observable/ObservableCard.js +0 -22
- package/components/elements/observable/ObservablePreview.d.ts +0 -6
- package/components/elements/observable/ObservablePreview.js +0 -12
- package/components/elements/record/RecordContextMenu.js +0 -256
- package/components/elements/record/RecordContextMenu.test.d.ts +0 -1
- package/components/elements/record/RecordRelated.d.ts +0 -7
- package/components/elements/record/RecordRelated.js +0 -34
- package/components/hooks/useRelatedRecords.d.ts +0 -13
- package/components/hooks/useRelatedRecords.js +0 -32
- package/components/routes/cases/CaseViewer.d.ts +0 -2
- package/components/routes/cases/CaseViewer.js +0 -22
- package/components/routes/cases/Cases.d.ts +0 -2
- package/components/routes/cases/Cases.js +0 -148
- package/components/routes/cases/constants.d.ts +0 -6
- package/components/routes/cases/constants.js +0 -6
- package/components/routes/cases/detail/AlertPanel.d.ts +0 -6
- package/components/routes/cases/detail/AlertPanel.js +0 -33
- package/components/routes/cases/detail/CaseAssets.d.ts +0 -11
- package/components/routes/cases/detail/CaseAssets.js +0 -104
- package/components/routes/cases/detail/CaseAssets.test.d.ts +0 -1
- package/components/routes/cases/detail/CaseAssets.test.js +0 -167
- package/components/routes/cases/detail/CaseDashboard.d.ts +0 -7
- package/components/routes/cases/detail/CaseDashboard.js +0 -66
- package/components/routes/cases/detail/CaseDetails.d.ts +0 -6
- package/components/routes/cases/detail/CaseDetails.js +0 -61
- package/components/routes/cases/detail/CaseOverview.d.ts +0 -7
- package/components/routes/cases/detail/CaseOverview.js +0 -43
- package/components/routes/cases/detail/CaseSidebar.d.ts +0 -8
- package/components/routes/cases/detail/CaseSidebar.js +0 -107
- package/components/routes/cases/detail/CaseSidebar.test.d.ts +0 -1
- package/components/routes/cases/detail/CaseSidebar.test.js +0 -246
- package/components/routes/cases/detail/CaseTask.d.ts +0 -11
- package/components/routes/cases/detail/CaseTask.js +0 -57
- package/components/routes/cases/detail/CaseTimeline.d.ts +0 -12
- package/components/routes/cases/detail/CaseTimeline.js +0 -106
- package/components/routes/cases/detail/CaseTimeline.test.d.ts +0 -1
- package/components/routes/cases/detail/CaseTimeline.test.js +0 -320
- package/components/routes/cases/detail/ItemPage.d.ts +0 -6
- package/components/routes/cases/detail/ItemPage.js +0 -99
- package/components/routes/cases/detail/RelatedCasePanel.d.ts +0 -6
- package/components/routes/cases/detail/RelatedCasePanel.js +0 -34
- package/components/routes/cases/detail/TaskPanel.d.ts +0 -7
- package/components/routes/cases/detail/TaskPanel.js +0 -52
- package/components/routes/cases/detail/aggregates/CaseAggregate.d.ts +0 -11
- package/components/routes/cases/detail/aggregates/CaseAggregate.js +0 -24
- package/components/routes/cases/detail/aggregates/SourceAggregate.d.ts +0 -6
- package/components/routes/cases/detail/aggregates/SourceAggregate.js +0 -26
- package/components/routes/cases/detail/assets/Asset.d.ts +0 -14
- package/components/routes/cases/detail/assets/Asset.js +0 -12
- package/components/routes/cases/detail/assets/Asset.test.d.ts +0 -1
- package/components/routes/cases/detail/assets/Asset.test.js +0 -72
- package/components/routes/cases/detail/sidebar/CaseFolder.d.ts +0 -20
- package/components/routes/cases/detail/sidebar/CaseFolder.js +0 -83
- package/components/routes/cases/detail/sidebar/CaseFolder.test.d.ts +0 -1
- package/components/routes/cases/detail/sidebar/CaseFolder.test.js +0 -295
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.d.ts +0 -34
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +0 -103
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.d.ts +0 -1
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.test.js +0 -363
- package/components/routes/cases/detail/sidebar/FolderEntry.d.ts +0 -25
- package/components/routes/cases/detail/sidebar/FolderEntry.js +0 -88
- package/components/routes/cases/detail/sidebar/FolderEntry.test.d.ts +0 -1
- package/components/routes/cases/detail/sidebar/FolderEntry.test.js +0 -206
- package/components/routes/cases/detail/sidebar/RootDropZone.d.ts +0 -5
- package/components/routes/cases/detail/sidebar/RootDropZone.js +0 -33
- package/components/routes/cases/detail/sidebar/types.d.ts +0 -9
- package/components/routes/cases/detail/sidebar/utils.d.ts +0 -3
- package/components/routes/cases/detail/sidebar/utils.js +0 -29
- package/components/routes/cases/detail/sidebar/utils.test.d.ts +0 -1
- package/components/routes/cases/detail/sidebar/utils.test.js +0 -82
- package/components/routes/cases/hooks/useCase.d.ts +0 -13
- package/components/routes/cases/hooks/useCase.js +0 -51
- package/components/routes/cases/modals/AddToCaseModal.d.ts +0 -7
- package/components/routes/cases/modals/AddToCaseModal.js +0 -59
- package/components/routes/cases/modals/AddToCaseModal.test.d.ts +0 -1
- package/components/routes/cases/modals/AddToCaseModal.test.js +0 -313
- package/components/routes/cases/modals/CaseRecordRow.d.ts +0 -9
- package/components/routes/cases/modals/CaseRecordRow.js +0 -15
- package/components/routes/cases/modals/CreateCaseModal.d.ts +0 -7
- package/components/routes/cases/modals/CreateCaseModal.js +0 -55
- package/components/routes/cases/modals/CreateCaseModal.test.d.ts +0 -1
- package/components/routes/cases/modals/CreateCaseModal.test.js +0 -358
- package/components/routes/cases/modals/RenameItemModal.d.ts +0 -9
- package/components/routes/cases/modals/RenameItemModal.js +0 -48
- package/components/routes/cases/modals/ResolveModal.d.ts +0 -7
- package/components/routes/cases/modals/ResolveModal.js +0 -115
- package/components/routes/cases/modals/ResolveModal.test.d.ts +0 -1
- package/components/routes/cases/modals/ResolveModal.test.js +0 -384
- package/components/routes/cases/modals/hooks.d.ts +0 -7
- package/components/routes/cases/modals/hooks.js +0 -44
- package/components/routes/cases/modals/types.d.ts +0 -5
- package/components/routes/cases/search/CaseAssigneeFilter.d.ts +0 -6
- package/components/routes/cases/search/CaseAssigneeFilter.js +0 -33
- package/components/routes/cases/search/CaseAssigneeFilter.test.d.ts +0 -1
- package/components/routes/cases/search/CaseAssigneeFilter.test.js +0 -127
- package/components/routes/cases/search/CaseDateFilter.d.ts +0 -13
- package/components/routes/cases/search/CaseDateFilter.js +0 -26
- package/components/routes/cases/search/CaseDateFilter.test.d.ts +0 -1
- package/components/routes/cases/search/CaseDateFilter.test.js +0 -115
- package/components/routes/cases/search/CaseStatusFilter.d.ts +0 -6
- package/components/routes/cases/search/CaseStatusFilter.js +0 -13
- package/components/routes/cases/search/CaseStatusFilter.test.d.ts +0 -1
- package/components/routes/cases/search/CaseStatusFilter.test.js +0 -86
- package/components/routes/hits/search/shared/IndexPicker.d.ts +0 -2
- package/components/routes/hits/search/shared/IndexPicker.js +0 -20
- package/components/routes/observables/ObservableViewer.d.ts +0 -7
- package/components/routes/observables/ObservableViewer.js +0 -27
- package/models/entities/generated/AttachmentsFile.d.ts +0 -12
- package/models/entities/generated/Case.d.ts +0 -28
- package/models/entities/generated/DestinationOriginal.d.ts +0 -19
- package/models/entities/generated/EmailAttachment.d.ts +0 -8
- package/models/entities/generated/EmailParent.d.ts +0 -19
- package/models/entities/generated/Enrichments.d.ts +0 -7
- package/models/entities/generated/EnrichmentsIndicator.d.ts +0 -21
- package/models/entities/generated/HttpResponse.d.ts +0 -11
- package/models/entities/generated/Item.d.ts +0 -9
- package/models/entities/generated/Observable.d.ts +0 -85
- package/models/entities/generated/ObservableCloud.d.ts +0 -20
- package/models/entities/generated/ObservableDestination.d.ts +0 -23
- package/models/entities/generated/ObservableEmail.d.ts +0 -30
- package/models/entities/generated/ObservableFile.d.ts +0 -36
- package/models/entities/generated/ObservableHowler.d.ts +0 -43
- package/models/entities/generated/ObservableHttp.d.ts +0 -11
- package/models/entities/generated/ObservableObserver.d.ts +0 -21
- package/models/entities/generated/ObservableOrganization.d.ts +0 -7
- package/models/entities/generated/ObservableProcess.d.ts +0 -34
- package/models/entities/generated/ObservableSource.d.ts +0 -23
- package/models/entities/generated/ObservableThreat.d.ts +0 -21
- package/models/entities/generated/ObservableTls.d.ts +0 -12
- package/models/entities/generated/ObserverIngress.d.ts +0 -9
- package/models/entities/generated/Task.d.ts +0 -10
- package/utils/typeUtils.d.ts +0 -7
- package/utils/typeUtils.js +0 -27
- /package/components/app/providers/{RecordSearchProvider.test.d.ts → HitSearchProvider.test.d.ts} +0 -0
- /package/components/elements/hit/{related/RelatedRecords.d.ts → HitDetails.d.ts} +0 -0
- /package/components/routes/hits/search/{RecordBrowser.d.ts → HitBrowser.d.ts} +0 -0
- /package/components/{elements/ContextMenu.test.d.ts → routes/hits/search/HitContextMenu.test.d.ts} +0 -0
- /package/components/{elements/MarkdownEditor.d.ts → routes/overviews/OverviewEditor.d.ts} +0 -0
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"analytic.notebook.error.minFields": "Nom et lien requis.",
|
|
14
14
|
"analytic.notebook.link": "Lien",
|
|
15
15
|
"analytic.notebook.name": "Nom",
|
|
16
|
-
"analytic.open": "Ouvrir l'analyse",
|
|
17
16
|
"any": "Tous",
|
|
18
17
|
"api.user.apikey.removed": "Clé API supprimée avec succès",
|
|
19
18
|
"api.user.apikey.updated": "Nouvelle clé API ajoutée avec succès.",
|
|
@@ -82,8 +81,6 @@
|
|
|
82
81
|
"comments.edit.stop": "Arrêter Modification",
|
|
83
82
|
"comments.edited": "Modifié",
|
|
84
83
|
"comments.quote": "Citation Réponse",
|
|
85
|
-
"complete": "Terminé",
|
|
86
|
-
"crisis": "Crise",
|
|
87
84
|
"custom": "Personnalisé",
|
|
88
85
|
"date.range.1.day": "Dernier jour",
|
|
89
86
|
"date.range.1.month": "Le dernier mois",
|
|
@@ -109,11 +106,8 @@
|
|
|
109
106
|
"drawer.expand": "Ouvrir le Menu",
|
|
110
107
|
"duplicates.omitted": "Certains doublons ont été omis.",
|
|
111
108
|
"edit": "Modifier",
|
|
112
|
-
"event.module": "Module d'événement",
|
|
113
|
-
"event.type": "Type d'événement",
|
|
114
109
|
"features.warning.description": "Cette fonctionnalité fait l'objet d'un développement actif et n'est pas encore achevée. Il est possible que vous rencontriez des problèmes ou de l'instabilité.",
|
|
115
110
|
"features.warning.title": "Fonctionnalité en développement actif",
|
|
116
|
-
"focus": "Focus principal",
|
|
117
111
|
"global": "Global",
|
|
118
112
|
"help.actions.introduction": "Introduction aux actions",
|
|
119
113
|
"help.hit.banner.description": "Voir l'exemple d'en-tête de résultat ci-dessous pour connaître les clés de résultat nécessaires pour le remplir correctement. Si vous avez d'autres questions, posez-les dans le réseau d'assistance HOWLER.",
|
|
@@ -170,20 +164,16 @@
|
|
|
170
164
|
"hit.header.assignment": "Affectation: {{user}}",
|
|
171
165
|
"hit.header.assignment.add": "Attribuer à un utilisateur",
|
|
172
166
|
"hit.header.assignment.change": "Changer l'affectation",
|
|
167
|
+
"hit.header.bundlesize": "{{hits}} hits",
|
|
173
168
|
"hit.header.escalation": "Niveau d'escalade: ",
|
|
174
169
|
"hit.header.indicators": "Indicateurs",
|
|
175
170
|
"hit.header.rationale": "Justification",
|
|
176
|
-
"hit.header.related": "{{count}} documrents associés",
|
|
177
171
|
"hit.header.scrutiny": "Examen minutieux: ",
|
|
178
172
|
"hit.header.status": "Statut: ",
|
|
179
173
|
"hit.header.summary": "Résumé",
|
|
180
174
|
"hit.header.target": "Cible",
|
|
181
175
|
"hit.header.threat": "Menace",
|
|
182
|
-
"hit.header.view.case": "Voir le cas {{id}}",
|
|
183
|
-
"hit.header.view.hit": "Voir l'alerte {{id}}",
|
|
184
|
-
"hit.header.view.observable": "Voir l'observable {{id}}",
|
|
185
176
|
"hit.header.votes": "Votes: ",
|
|
186
|
-
"hit.howler.related": "{{count}} enregistrements associés",
|
|
187
177
|
"hit.label": "Étiquettes",
|
|
188
178
|
"hit.label.category.assignments": "Catégorie : Affectation - Indique quel analyste ou quelle équipe d'analystes est chargé(e) de trier cette réponse positive.",
|
|
189
179
|
"hit.label.category.campaign": "Catégorie : Campagne - Identifie les campagnes en cours menées par des familles de logiciels malveillants ou des initiatives d'hameçonnage spécifiques. Elles ne doivent être considérées comme des attributions correctes que si le résultat positif est promu au rang de preuve.",
|
|
@@ -206,9 +196,9 @@
|
|
|
206
196
|
"hit.notebook.goTo": "Aller a Jupyterhub",
|
|
207
197
|
"hit.notebook.select": "Veuillez sélectionner un notebook",
|
|
208
198
|
"hit.notebook.tooltip": "Ouvrir dans Jupyterhub",
|
|
209
|
-
"hit.open": "Ouvrir hit",
|
|
210
199
|
"hit.overview.missing": "Aucune vue d'ensemble n'a été créée pour ce hit. Pour créer une vue d'ensemble, cliquez sur le bouton pour ajouter à droite.",
|
|
211
200
|
"hit.panel.aggregation.run": "Créer un sommaire",
|
|
201
|
+
"hit.panel.analytic.open": "Ouvrir l'analyse",
|
|
212
202
|
"hit.panel.bundles.open": "Groupes parentaux",
|
|
213
203
|
"hit.panel.bundles.open.prompt": "Ouvrir le groupe parent",
|
|
214
204
|
"hit.panel.close": "Fermer",
|
|
@@ -221,12 +211,9 @@
|
|
|
221
211
|
"hit.panel.exclude": "Exclure par",
|
|
222
212
|
"hit.panel.hit.noselection": "Aucun résultat n'a été sélectionné",
|
|
223
213
|
"hit.panel.include": "Inclure par",
|
|
214
|
+
"hit.panel.open": "Ouvrir hit",
|
|
224
215
|
"hit.panel.view.layout": "Modifier le panneau d'affichage",
|
|
225
216
|
"hit.quicksearch": "Recherche par affectation, analytique, détection ou état",
|
|
226
|
-
"hit.related.tab.case": "Cas",
|
|
227
|
-
"hit.related.tab.hit": "Alertes",
|
|
228
|
-
"hit.related.tab.links": "Liens",
|
|
229
|
-
"hit.related.tab.observable": "Observables",
|
|
230
217
|
"hit.search.aggregate.button": "Créer un sommaire",
|
|
231
218
|
"hit.search.button": "Effectuer une recherche",
|
|
232
219
|
"hit.search.custom": "Triage personnalisé",
|
|
@@ -235,8 +222,6 @@
|
|
|
235
222
|
"hit.search.filter.fields": "Paramètres",
|
|
236
223
|
"hit.search.filter.label": "Filtres de recherche",
|
|
237
224
|
"hit.search.filter.values": "Valeurs",
|
|
238
|
-
"hit.search.index.hit": "Hits",
|
|
239
|
-
"hit.search.index.observable": "Observables",
|
|
240
225
|
"hit.search.invalid": "Requête invalide",
|
|
241
226
|
"hit.search.keyboard": "Raccourcis clavier",
|
|
242
227
|
"hit.search.keyboard.no_shortcuts": "Pas de raccourcis",
|
|
@@ -310,31 +295,6 @@
|
|
|
310
295
|
"modal.action.empty": "Le nom de l'action ne peut pas être vide.",
|
|
311
296
|
"modal.action.label": "Nom de l'action",
|
|
312
297
|
"modal.action.title": "Enregistrer l'action",
|
|
313
|
-
"modal.cases.add_to_case": "Ajouter au cas",
|
|
314
|
-
"modal.cases.add_to_case.full_path": "Chemin complet : {{path}}",
|
|
315
|
-
"modal.cases.add_to_case.items_section": "Placement des alertes",
|
|
316
|
-
"modal.cases.add_to_case.path_invalid": "Le chemin ne doit pas commencer ou se terminer par un /",
|
|
317
|
-
"modal.cases.add_to_case.select_case": "Rechercher des cas",
|
|
318
|
-
"modal.cases.add_to_case.select_path": "Sélectionner le chemin du dossier",
|
|
319
|
-
"modal.cases.add_to_case.title": "Titre de l'élément",
|
|
320
|
-
"modal.cases.alerts.resolved": "Alertes résolues",
|
|
321
|
-
"modal.cases.create_case": "Créer un cas",
|
|
322
|
-
"modal.cases.create_case.escalation": "Escalade",
|
|
323
|
-
"modal.cases.create_case.full_path": "Chemin complet : {{path}}",
|
|
324
|
-
"modal.cases.create_case.item.path": "Chemin du dossier (optionnel)",
|
|
325
|
-
"modal.cases.create_case.item.title": "Titre de l'élément",
|
|
326
|
-
"modal.cases.create_case.items_section": "Placement des alertes",
|
|
327
|
-
"modal.cases.create_case.overview": "Vue d'ensemble du cas (Markdown, optionnel)",
|
|
328
|
-
"modal.cases.create_case.summary": "Résumé court du cas",
|
|
329
|
-
"modal.cases.create_case.title": "Titre du cas",
|
|
330
|
-
"modal.cases.rename_item": "Renommer l'élément",
|
|
331
|
-
"modal.cases.rename_item.error.empty": "Le nom ne peut pas être vide",
|
|
332
|
-
"modal.cases.rename_item.error.slash": "Le nom ne peut pas contenir '/'",
|
|
333
|
-
"modal.cases.rename_item.error.taken": "Un élément existe déjà à ce chemin",
|
|
334
|
-
"modal.cases.rename_item.folder_path": "Dossier : {{path}}",
|
|
335
|
-
"modal.cases.rename_item.new_name": "Nouveau nom",
|
|
336
|
-
"modal.cases.resolve": "Résoudre le cas",
|
|
337
|
-
"modal.cases.resolve.description": "Lors de la résolution d'un cas, vous devez soit évaluer toutes les alertes ouvertes, soit ajouter une évaluation aux alertes.",
|
|
338
298
|
"modal.confirm.delete.description": "Êtes-vous sûr de vouloir supprimer cet élément ?",
|
|
339
299
|
"modal.confirm.delete.title": "Confirmer la suppression",
|
|
340
300
|
"modal.rationale.description": "Fournissez une justification qui explique succinctement aux autres analystes les raisons pour lesquelles vous êtes confiant dans cette évaluation.",
|
|
@@ -356,8 +316,6 @@
|
|
|
356
316
|
"modal.rule.title": "Créer une nouvelle règle",
|
|
357
317
|
"no.data": "Aucune donnée",
|
|
358
318
|
"none": "Rien",
|
|
359
|
-
"normal": "Priorité normale",
|
|
360
|
-
"observable.open": "Ouvrir observable",
|
|
361
319
|
"on": "sur",
|
|
362
320
|
"open": "Ouvert",
|
|
363
321
|
"operations.add_label": "Ajouter un label",
|
|
@@ -377,49 +335,6 @@
|
|
|
377
335
|
"owner": "Propriétaire",
|
|
378
336
|
"page.404.description": "La page que vous recherchez est introuvable ...",
|
|
379
337
|
"page.404.title": "404: Introuvable",
|
|
380
|
-
"page.cases.assets": "Actifs",
|
|
381
|
-
"page.cases.assets.empty": "Aucun actif trouvé.",
|
|
382
|
-
"page.cases.assets.filter_by_type": "Filtrer par type :",
|
|
383
|
-
"page.cases.assets.seen_in": "Vu dans",
|
|
384
|
-
"page.cases.assets.type.hash": "Hachage",
|
|
385
|
-
"page.cases.assets.type.hosts": "Hôte",
|
|
386
|
-
"page.cases.assets.type.id": "Identifiant",
|
|
387
|
-
"page.cases.assets.type.ids": "Identifiant",
|
|
388
|
-
"page.cases.assets.type.ip": "IP",
|
|
389
|
-
"page.cases.assets.type.signature": "Signature",
|
|
390
|
-
"page.cases.assets.type.uri": "URI",
|
|
391
|
-
"page.cases.assets.type.user": "Utilisateur",
|
|
392
|
-
"page.cases.created": "Créé",
|
|
393
|
-
"page.cases.dashboard": "Tableau de bord",
|
|
394
|
-
"page.cases.dashboard.alerts": "Alertes",
|
|
395
|
-
"page.cases.dashboard.cases": "Cas connexes",
|
|
396
|
-
"page.cases.dashboard.duration": "Durée",
|
|
397
|
-
"page.cases.dashboard.indicators": "Indicateurs",
|
|
398
|
-
"page.cases.dashboard.target": "Cibles",
|
|
399
|
-
"page.cases.dashboard.tasks": "Tâches",
|
|
400
|
-
"page.cases.dashboard.threat": "Menaces",
|
|
401
|
-
"page.cases.detail.participants": "Participants",
|
|
402
|
-
"page.cases.detail.properties": "Propriétés",
|
|
403
|
-
"page.cases.detail.status": "Statut",
|
|
404
|
-
"page.cases.escalation": "Escalade",
|
|
405
|
-
"page.cases.folder.drop.root": "Déposer ici pour déplacer à la racine",
|
|
406
|
-
"page.cases.sidebar.folder.remove": "Supprimer le dossier",
|
|
407
|
-
"page.cases.sidebar.item.open": "Ouvrir l'élément",
|
|
408
|
-
"page.cases.sidebar.item.remove": "Supprimer l'élément",
|
|
409
|
-
"page.cases.sidebar.item.rename": "Renommer l'élément",
|
|
410
|
-
"page.cases.sources": "Sources",
|
|
411
|
-
"page.cases.status.in-progress": "En cours",
|
|
412
|
-
"page.cases.status.on-hold": "En attente",
|
|
413
|
-
"page.cases.status.open": "Ouvert",
|
|
414
|
-
"page.cases.status.resolved": "Résolu",
|
|
415
|
-
"page.cases.timeline": "Chronologie",
|
|
416
|
-
"page.cases.timeline.empty": "Aucun événement ne correspond aux filtres sélectionnés.",
|
|
417
|
-
"page.cases.timeline.filter.escalation": "Escalade",
|
|
418
|
-
"page.cases.timeline.filter.escalation.empty": "Aucun niveau d'escalade trouvé.",
|
|
419
|
-
"page.cases.timeline.filter.label": "Afficher uniquement",
|
|
420
|
-
"page.cases.timeline.filter.mitre": "MITRE ATT&CK",
|
|
421
|
-
"page.cases.timeline.filter.mitre.empty": "Aucune tactique ou technique trouvée.",
|
|
422
|
-
"page.cases.updated": "Mis à jour",
|
|
423
338
|
"page.dashboard.settings.edit": "Modifier le tableau de bord",
|
|
424
339
|
"page.dashboard.settings.refreshRate": "Fréquence de rafraîchissement",
|
|
425
340
|
"page.dashboard.title": "Tableau de bord",
|
|
@@ -491,8 +406,6 @@
|
|
|
491
406
|
"page.user.search.column.groups": "Groupes",
|
|
492
407
|
"page.user.search.column.username": "Nom d'utilisateur",
|
|
493
408
|
"page.user.search.prompt": "Rechercher par nom d'utilisateur, nom complet, e-mail ou groupe",
|
|
494
|
-
"pages.cases.detail.participants": "Participants",
|
|
495
|
-
"pages.cases.detail.status": "Statut",
|
|
496
409
|
"password": "Nouveau mot de passe",
|
|
497
410
|
"password.confirm": "Confirmer le mot de passe",
|
|
498
411
|
"password.match": "Le mot de passe et le mot de passe de confirmation doivent correspondre",
|
|
@@ -525,7 +438,6 @@
|
|
|
525
438
|
"route.actions.create": "Nouveau action",
|
|
526
439
|
"route.actions.edit": "Modifier",
|
|
527
440
|
"route.actions.execute": "Exécuter",
|
|
528
|
-
"route.actions.manager": "Gestionnaire d'actions",
|
|
529
441
|
"route.actions.name": "Nom de l'action",
|
|
530
442
|
"route.actions.open": "Ouvrir la requête",
|
|
531
443
|
"route.actions.operation.add": "Ajouter une nouvelle opération",
|
|
@@ -622,16 +534,6 @@
|
|
|
622
534
|
"route.analytics.triage.title": "Paramètres de triage",
|
|
623
535
|
"route.analytics.updated": "Analytic mis a jour!",
|
|
624
536
|
"route.analytics.view": "Voir l'analyse",
|
|
625
|
-
"route.cases": "Cas",
|
|
626
|
-
"route.cases.create": "Créer un cas",
|
|
627
|
-
"route.cases.filter.assignee": "Assigné",
|
|
628
|
-
"route.cases.filter.assignees": "Assignés",
|
|
629
|
-
"route.cases.filter.date": "Plage de dates",
|
|
630
|
-
"route.cases.filter.myself": "Moi-même",
|
|
631
|
-
"route.cases.filter.status": "Statut",
|
|
632
|
-
"route.cases.manager.search": "Rechercher des cas",
|
|
633
|
-
"route.cases.search.prompt": "Rechercher des cas par titre, résumé, description, participants ou détails des tâches",
|
|
634
|
-
"route.cases.view": "Voir le cas",
|
|
635
537
|
"route.clear": "Effacer la requête",
|
|
636
538
|
"route.dossiers": "Dossiers",
|
|
637
539
|
"route.dossiers.create": "Nouveau dossier",
|
|
@@ -691,7 +593,6 @@
|
|
|
691
593
|
"route.dossiers.search.prompt": "Recherche par titre, requête ou propriétaire.",
|
|
692
594
|
"route.dossiers.view": "Voir le dossier",
|
|
693
595
|
"route.help": "Aide",
|
|
694
|
-
"route.help.actions": "Documentation sur les actions",
|
|
695
596
|
"route.help.api": "Documentation de l'API",
|
|
696
597
|
"route.help.auth": "Authentification",
|
|
697
598
|
"route.help.bundles": "Groupes des hits",
|
|
@@ -755,7 +656,6 @@
|
|
|
755
656
|
"route.overviews.theme.dark": "Prévoyez en mode sombre",
|
|
756
657
|
"route.overviews.theme.light": "Prévoyez en mode clair",
|
|
757
658
|
"route.overviews.view": "Voir la vue d'ensemble",
|
|
758
|
-
"route.search": "Rechercher",
|
|
759
659
|
"route.templates": "Modèles",
|
|
760
660
|
"route.templates.analytic": "Choisir une analyse",
|
|
761
661
|
"route.templates.builtin": "Intégré",
|
|
@@ -766,7 +666,6 @@
|
|
|
766
666
|
"route.templates.detection": "Choisir une détection",
|
|
767
667
|
"route.templates.global": "Général",
|
|
768
668
|
"route.templates.manager.global": "Global",
|
|
769
|
-
"route.templates.manager.open": "Ouvrir la vue",
|
|
770
669
|
"route.templates.manager.personal": "Personnel",
|
|
771
670
|
"route.templates.manager.readonly": "Intégré",
|
|
772
671
|
"route.templates.manager.search": "Rechercher les modèles",
|
|
@@ -790,10 +689,8 @@
|
|
|
790
689
|
"route.views.manager.personal": "Personnel",
|
|
791
690
|
"route.views.manager.readonly": "Intégré",
|
|
792
691
|
"route.views.manager.search": "Rechercher les vues",
|
|
793
|
-
"route.views.name": "Nom de la vue",
|
|
794
692
|
"route.views.save": "Enregistrer cette requête comme vue",
|
|
795
693
|
"route.views.saved": "Vues épinglées",
|
|
796
|
-
"route.views.search.prompt": "Rechercher par nom, requête ou propriétaire.",
|
|
797
694
|
"route.views.show": "Voir les vues",
|
|
798
695
|
"route.views.update.success": "Vue actualisée.",
|
|
799
696
|
"rule.interval": "Intervalle d'exécution de la règle",
|
|
@@ -810,7 +707,6 @@
|
|
|
810
707
|
"search.result.showing": "Affichage de {{offset}} à {{length}} sur {{total}} articles",
|
|
811
708
|
"search.result.showing.single": "Aucun articles",
|
|
812
709
|
"search.total": "Il y a un total de {{count}} résultats correspondant à cette requête.",
|
|
813
|
-
"started": "Démarré",
|
|
814
710
|
"templates.edit.analytic": "Modifier modèle pour cette analyse",
|
|
815
711
|
"templates.edit.detection": "Modifier modèle pour cette détection",
|
|
816
712
|
"to": "à",
|
package/models/WithMetadata.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ import type { Overview } from './entities/generated/Overview';
|
|
|
4
4
|
import type { Template } from './entities/generated/Template';
|
|
5
5
|
|
|
6
6
|
export type WithMetadata<T> = T & {
|
|
7
|
-
__index?: string;
|
|
8
|
-
|
|
9
7
|
__analytic?: Analytic;
|
|
10
8
|
__overview?: Overview;
|
|
11
9
|
__template?: Template;
|
|
10
|
+
|
|
12
11
|
__dossiers?: Dossier[];
|
|
13
12
|
};
|
|
@@ -14,6 +14,8 @@ export interface Howler {
|
|
|
14
14
|
analytic: string;
|
|
15
15
|
assessment?: string;
|
|
16
16
|
assignment: string;
|
|
17
|
+
bundle_size?: number;
|
|
18
|
+
bundles?: string[];
|
|
17
19
|
comment?: HowlerComment[];
|
|
18
20
|
confidence?: number;
|
|
19
21
|
data?: string[];
|
|
@@ -22,8 +24,10 @@ export interface Howler {
|
|
|
22
24
|
escalation?: string;
|
|
23
25
|
expiry?: string;
|
|
24
26
|
hash: string;
|
|
27
|
+
hits?: string[];
|
|
25
28
|
id: string;
|
|
26
29
|
incidents?: Incident[];
|
|
30
|
+
is_bundle?: boolean;
|
|
27
31
|
labels?: Labels;
|
|
28
32
|
links?: Link[];
|
|
29
33
|
log?: Log[];
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* NOTE: This is an auto-generated file. Don't edit this manually.
|
|
3
3
|
*/
|
|
4
4
|
export interface Rule {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
author?: string;
|
|
6
|
+
category?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
license?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
reference?: string;
|
|
12
|
+
ruleset?: string;
|
|
13
|
+
uuid?: string;
|
|
14
|
+
version?: string;
|
|
7
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { Enrichment } from './Enrichment';
|
|
1
2
|
import type { Feed } from './Feed';
|
|
2
3
|
import type { Software } from './Software';
|
|
3
|
-
import type { ThreatEnrichment } from './ThreatEnrichment';
|
|
4
4
|
import type { ThreatGroup } from './ThreatGroup';
|
|
5
5
|
import type { ThreatIndicator } from './ThreatIndicator';
|
|
6
6
|
import type { ThreatTactic } from './ThreatTactic';
|
|
@@ -10,7 +10,7 @@ import type { ThreatTechnique } from './ThreatTechnique';
|
|
|
10
10
|
* NOTE: This is an auto-generated file. Don't edit this manually.
|
|
11
11
|
*/
|
|
12
12
|
export interface Threat {
|
|
13
|
-
enrichments?:
|
|
13
|
+
enrichments?: Enrichment[];
|
|
14
14
|
feed?: Feed;
|
|
15
15
|
framework?: string;
|
|
16
16
|
group?: ThreatGroup;
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@jsonforms/core": "^3.7.0",
|
|
25
25
|
"@jsonforms/material-renderers": "^3.7.0",
|
|
26
26
|
"@jsonforms/react": "^3.7.0",
|
|
27
|
-
"@microlink/react-json-view": "^1.31.
|
|
27
|
+
"@microlink/react-json-view": "^1.31.18",
|
|
28
28
|
"@monaco-editor/react": "^4.7.0",
|
|
29
29
|
"ajv": "^8.18.0",
|
|
30
30
|
"ajv-i18n": "^4.2.0",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"chartjs-adapter-dayjs-4": "^1.0.4",
|
|
35
35
|
"chartjs-plugin-zoom": "^2.2.0",
|
|
36
36
|
"dayjs": "^1.11.20",
|
|
37
|
-
"dompurify": "^3.
|
|
37
|
+
"dompurify": "^3.4.0",
|
|
38
38
|
"flat": "^6.0.1",
|
|
39
39
|
"fuse.js": "^7.3.0",
|
|
40
40
|
"handlebars": "^4.7.9",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"internal-slot": "1.0.7"
|
|
102
102
|
},
|
|
103
103
|
"type": "module",
|
|
104
|
-
"version": "2.18.0-dev.
|
|
104
|
+
"version": "2.18.0-dev.771",
|
|
105
105
|
"exports": {
|
|
106
106
|
"./i18n": "./i18n.js",
|
|
107
107
|
"./index.css": "./index.css",
|
|
@@ -148,11 +148,9 @@
|
|
|
148
148
|
"./components/routes/home": "./components/routes/home/index.js",
|
|
149
149
|
"./components/routes/dossiers/*": "./components/routes/dossiers/*.js",
|
|
150
150
|
"./components/routes/help/*": "./components/routes/help/*.js",
|
|
151
|
-
"./components/routes/observables/*": "./components/routes/observables/*.js",
|
|
152
151
|
"./components/routes/admin/*": "./components/routes/admin/*.js",
|
|
153
152
|
"./components/routes/action/*": "./components/routes/action/*.js",
|
|
154
153
|
"./components/routes/settings/*": "./components/routes/settings/*.js",
|
|
155
|
-
"./components/routes/cases/*": "./components/routes/cases/*.js",
|
|
156
154
|
"./components/routes/views/*": "./components/routes/views/*.js",
|
|
157
155
|
"./components/routes/overviews/*": "./components/routes/overviews/*.js",
|
|
158
156
|
"./components/routes/analytics/*": "./components/routes/analytics/*.js",
|
|
@@ -170,22 +168,12 @@
|
|
|
170
168
|
"./components/routes/action/shared/*": "./components/routes/action/shared/*.js",
|
|
171
169
|
"./components/routes/action/view/*": "./components/routes/action/view/*.js",
|
|
172
170
|
"./components/routes/action/view/markdown/*.md": "./components/routes/action/view/markdown/*.md.js",
|
|
173
|
-
"./components/routes/cases/modals/*": "./components/routes/cases/modals/*.js",
|
|
174
|
-
"./components/routes/cases/detail/*": "./components/routes/cases/detail/*.js",
|
|
175
|
-
"./components/routes/cases/search/*": "./components/routes/cases/search/*.js",
|
|
176
|
-
"./components/routes/cases/hooks/*": "./components/routes/cases/hooks/*.js",
|
|
177
|
-
"./components/routes/cases/detail/assets/*": "./components/routes/cases/detail/assets/*.js",
|
|
178
|
-
"./components/routes/cases/detail/sidebar/*": "./components/routes/cases/detail/sidebar/*.js",
|
|
179
|
-
"./components/routes/cases/detail/aggregates/*": "./components/routes/cases/detail/aggregates/*.js",
|
|
180
171
|
"./components/routes/overviews/template/*": "./components/routes/overviews/template/*.js",
|
|
181
172
|
"./components/routes/analytics/widgets/*": "./components/routes/analytics/widgets/*.js",
|
|
182
173
|
"./components/logins/auth/*": "./components/logins/auth/*.js",
|
|
183
174
|
"./components/logins/hooks/*": "./components/logins/hooks/*.js",
|
|
184
175
|
"./components/elements/hit/*": "./components/elements/hit/*.js",
|
|
185
176
|
"./components/elements/addons/*": "./components/elements/addons/*.js",
|
|
186
|
-
"./components/elements/record/*": "./components/elements/record/*.js",
|
|
187
|
-
"./components/elements/observable/*": "./components/elements/observable/*.js",
|
|
188
|
-
"./components/elements/case/*": "./components/elements/case/*.js",
|
|
189
177
|
"./components/elements/view/*": "./components/elements/view/*.js",
|
|
190
178
|
"./components/elements/display/*": "./components/elements/display/*.js",
|
|
191
179
|
"./components/elements/hit/aggregate/*": "./components/elements/hit/aggregate/*.js",
|
|
@@ -236,8 +224,6 @@
|
|
|
236
224
|
"./api/template": "./api/template/index.js",
|
|
237
225
|
"./api/analytic/*": "./api/analytic/*.js",
|
|
238
226
|
"./api/analytic": "./api/analytic/index.js",
|
|
239
|
-
"./api/v2/*": "./api/v2/*.js",
|
|
240
|
-
"./api/v2": "./api/v2/index.js",
|
|
241
227
|
"./api/auth/*": "./api/auth/*.js",
|
|
242
228
|
"./api/auth": "./api/auth/index.js",
|
|
243
229
|
"./api/user/*": "./api/user/*.js",
|
|
@@ -258,10 +244,6 @@
|
|
|
258
244
|
"./api/analytic/comments": "./api/analytic/comments/index.js",
|
|
259
245
|
"./api/analytic/notebooks/*": "./api/analytic/notebooks/*.js",
|
|
260
246
|
"./api/analytic/notebooks": "./api/analytic/notebooks/index.js",
|
|
261
|
-
"./api/v2/case/*": "./api/v2/case/*.js",
|
|
262
|
-
"./api/v2/case": "./api/v2/case/index.js",
|
|
263
|
-
"./api/v2/search/*": "./api/v2/search/*.js",
|
|
264
|
-
"./api/v2/search": "./api/v2/search/index.js",
|
|
265
247
|
"./api/user/avatar/*": "./api/user/avatar/*.js",
|
|
266
248
|
"./api/user/avatar": "./api/user/avatar/index.js",
|
|
267
249
|
"./api/search/count/*": "./api/search/count/*.js",
|
|
@@ -3,8 +3,8 @@ import EnrichedTypography from '@cccsaurora/clue-ui/components/EnrichedTypograph
|
|
|
3
3
|
import { Typography } from '@mui/material';
|
|
4
4
|
import { memo } from 'react';
|
|
5
5
|
import { useType } from '../utils';
|
|
6
|
-
const ClueTypography = ({ children, value, context, field,
|
|
7
|
-
const type = useType(
|
|
6
|
+
const ClueTypography = ({ children, value, context, field, hit, ...props }) => {
|
|
7
|
+
const type = useType(hit, field, value);
|
|
8
8
|
if (!type) {
|
|
9
9
|
return _jsx(Typography, { ...props, children: children ?? value });
|
|
10
10
|
}
|
package/plugins/clue/utils.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
|
|
2
|
-
|
|
3
|
-
export declare const useType: (hit?: Hit | Observable, field?: string, value?: string) => any;
|
|
2
|
+
export declare const useType: (hit?: Hit, field?: string, value?: string) => any;
|
package/tests/mocks.d.ts
CHANGED
|
@@ -7,17 +7,7 @@ export declare const setupContextSelectorMock: () => void;
|
|
|
7
7
|
* Sets up a mock for react-router-dom with common defaults
|
|
8
8
|
* @param options - Override specific router behavior
|
|
9
9
|
*/
|
|
10
|
-
export declare const setupReactRouterMock: () =>
|
|
11
|
-
mockSearchParams: URLSearchParams;
|
|
12
|
-
mockSetParams: import("vitest").Mock<(...args: any[]) => any>;
|
|
13
|
-
mockLocation: {
|
|
14
|
-
pathname: string;
|
|
15
|
-
search: string;
|
|
16
|
-
};
|
|
17
|
-
mockParams: {
|
|
18
|
-
id: any;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
10
|
+
export declare const setupReactRouterMock: () => void;
|
|
21
11
|
/**
|
|
22
12
|
* Sets up a mock localStorage instance
|
|
23
13
|
*/
|
package/tests/mocks.js
CHANGED
|
@@ -31,20 +31,15 @@ export const setupReactRouterMock = () => {
|
|
|
31
31
|
const mockSearchParams = vi.hoisted(() => new URLSearchParams());
|
|
32
32
|
const mockSetParams = vi.hoisted(() => vi.fn());
|
|
33
33
|
beforeAll(() => {
|
|
34
|
-
vi.mock('react-router-dom',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
useSearchParams: vi.fn(() => [mockSearchParams, mockSetParams]),
|
|
42
|
-
useNavigate: () => vi.fn()
|
|
43
|
-
};
|
|
44
|
-
});
|
|
34
|
+
vi.mock('react-router-dom', () => ({
|
|
35
|
+
Link: forwardRef(({ to, children, ...props }, ref) => (_jsx("a", { ref: ref, href: to, ...props, children: children }))),
|
|
36
|
+
useLocation: vi.fn(() => mockLocation),
|
|
37
|
+
useParams: vi.fn(() => mockParams),
|
|
38
|
+
useSearchParams: vi.fn(() => [mockSearchParams, mockSetParams]),
|
|
39
|
+
useNavigate: () => vi.fn()
|
|
40
|
+
}));
|
|
45
41
|
});
|
|
46
42
|
afterAll(() => vi.resetModules());
|
|
47
|
-
return { mockSearchParams, mockSetParams, mockLocation, mockParams };
|
|
48
43
|
};
|
|
49
44
|
/**
|
|
50
45
|
* Sets up a mock localStorage instance
|
package/tests/server-handlers.js
CHANGED
|
@@ -30,12 +30,7 @@ export const MOCK_RESPONSES = {
|
|
|
30
30
|
total: 1,
|
|
31
31
|
rows: 1
|
|
32
32
|
},
|
|
33
|
-
'/api/v1/analytic': [createMockAnalytic()]
|
|
34
|
-
'/api/v2/search/hit,observable': {
|
|
35
|
-
items: [],
|
|
36
|
-
total: 0,
|
|
37
|
-
rows: 0
|
|
38
|
-
}
|
|
33
|
+
'/api/v1/analytic': [createMockAnalytic()]
|
|
39
34
|
};
|
|
40
35
|
const handlers = [
|
|
41
36
|
...Object.entries(MOCK_RESPONSES).map(([path, data]) => http.all(path, async () => HttpResponse.json({ api_response: data }))),
|
package/tests/utils.d.ts
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import type { Action } from '@cccsaurora/howler-ui/models/entities/generated/Action';
|
|
2
2
|
import type { Analytic } from '@cccsaurora/howler-ui/models/entities/generated/Analytic';
|
|
3
|
-
import type { Case } from '@cccsaurora/howler-ui/models/entities/generated/Case';
|
|
4
3
|
import type { Dossier } from '@cccsaurora/howler-ui/models/entities/generated/Dossier';
|
|
5
4
|
import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
|
|
6
|
-
import type { Observable } from '@cccsaurora/howler-ui/models/entities/generated/Observable';
|
|
7
5
|
import type { Template } from '@cccsaurora/howler-ui/models/entities/generated/Template';
|
|
8
6
|
import type { View } from '@cccsaurora/howler-ui/models/entities/generated/View';
|
|
9
7
|
type RecursivePartial<T> = {
|
|
10
8
|
[P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial<U>[] : T[P] extends object | undefined ? RecursivePartial<T[P]> : T[P];
|
|
11
9
|
};
|
|
12
10
|
export declare const createMockHit: (overrides?: RecursivePartial<Hit>) => Hit;
|
|
13
|
-
export declare const createMockObservable: (overrides?: RecursivePartial<Observable>) => Observable;
|
|
14
11
|
export declare const createMockAnalytic: (overrides?: Partial<Analytic>) => Analytic;
|
|
15
12
|
export declare const createMockTemplate: (overrides?: Partial<Template>) => Template;
|
|
16
13
|
export declare const createMockAction: (overrides?: Partial<Action>) => Action;
|
|
17
14
|
export declare const createMockView: (overrides?: Partial<View>) => View;
|
|
18
|
-
export declare const createMockCase: (overrides?: Partial<Case>) => Case;
|
|
19
15
|
export declare const createMockDossier: (overrides?: Partial<Dossier>) => Dossier;
|
|
20
16
|
export {};
|
package/tests/utils.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
// Mock data factories
|
|
2
2
|
export const createMockHit = (overrides) => ({
|
|
3
|
-
...overrides,
|
|
4
|
-
__index: 'hit',
|
|
5
3
|
howler: {
|
|
6
4
|
id: 'test-hit-1',
|
|
7
5
|
analytic: 'test-analytic',
|
|
@@ -16,17 +14,6 @@ export const createMockHit = (overrides) => ({
|
|
|
16
14
|
...overrides?.event
|
|
17
15
|
}
|
|
18
16
|
});
|
|
19
|
-
export const createMockObservable = (overrides) => ({
|
|
20
|
-
...overrides,
|
|
21
|
-
__index: 'observable',
|
|
22
|
-
howler: {
|
|
23
|
-
id: 'test-observable-1',
|
|
24
|
-
analytic: 'test-analytic',
|
|
25
|
-
detection: 'Test Detection',
|
|
26
|
-
hash: '',
|
|
27
|
-
...overrides?.howler
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
17
|
export const createMockAnalytic = (overrides) => ({
|
|
31
18
|
analytic_id: 'test-analytic-id',
|
|
32
19
|
name: 'test-analytic',
|
|
@@ -65,13 +52,6 @@ export const createMockView = (overrides) => ({
|
|
|
65
52
|
},
|
|
66
53
|
...overrides
|
|
67
54
|
});
|
|
68
|
-
export const createMockCase = (overrides) => ({
|
|
69
|
-
case_id: 'test-case-id',
|
|
70
|
-
title: 'Test Case',
|
|
71
|
-
summary: 'Test case summary',
|
|
72
|
-
items: [],
|
|
73
|
-
...overrides
|
|
74
|
-
});
|
|
75
55
|
// Helper function to create mock dossiers
|
|
76
56
|
export const createMockDossier = (overrides) => ({
|
|
77
57
|
dossier_id: 'test-dossier-id',
|
package/utils/constants.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ export declare const VERSION: any;
|
|
|
5
5
|
export declare const MY_LOCAL_STORAGE_PREFIX = "howler.ui";
|
|
6
6
|
export declare const MY_SESSION_STORAGE_PREFIX = "howler.ui.cache";
|
|
7
7
|
export declare const ESCALATION_COLORS: {
|
|
8
|
-
alert:
|
|
9
|
-
evidence:
|
|
10
|
-
hit:
|
|
8
|
+
alert: string;
|
|
9
|
+
evidence: string;
|
|
10
|
+
hit: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const STATUS_COLORS: {
|
|
13
13
|
open: string;
|
|
@@ -74,7 +74,6 @@ export declare const RULE_INTERVALS: {
|
|
|
74
74
|
crontab: string;
|
|
75
75
|
}[];
|
|
76
76
|
export declare const DATE_RANGES: string[];
|
|
77
|
-
export declare const DATE_RANGE_LUCENE: Partial<Record<(typeof DATE_RANGES)[number], string>>;
|
|
78
77
|
interface LabelData {
|
|
79
78
|
icon?: ReactElement;
|
|
80
79
|
color?: string;
|
package/utils/constants.js
CHANGED
|
@@ -104,12 +104,6 @@ export const DATE_RANGES = [
|
|
|
104
104
|
'date.range.all',
|
|
105
105
|
'date.range.custom'
|
|
106
106
|
];
|
|
107
|
-
export const DATE_RANGE_LUCENE = {
|
|
108
|
-
'date.range.1.day': 'now-1d/d',
|
|
109
|
-
'date.range.3.day': 'now-3d/d',
|
|
110
|
-
'date.range.1.week': 'now-7d/d',
|
|
111
|
-
'date.range.1.month': 'now-1M/M'
|
|
112
|
-
};
|
|
113
107
|
export const LABEL_TYPES = {
|
|
114
108
|
insight: { icon: _jsx(PsychologyAlt, { fontSize: "small" }), color: '#FFFFFF' }, //brain icon
|
|
115
109
|
mitigation: { icon: _jsx(LocalPolice, { fontSize: "small" }), color: blue[600] }, //police badge
|
package/utils/hitFunctions.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import type { Hit } from '@cccsaurora/howler-ui/models/entities/generated/Hit';
|
|
2
|
-
|
|
3
|
-
export declare const getUserList: (record: Hit | Observable) => Set<string>;
|
|
2
|
+
export declare const getUserList: (hit: Hit) => Set<string>;
|
package/utils/hitFunctions.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export const getUserList = (
|
|
1
|
+
export const getUserList = (hit) => {
|
|
2
2
|
const ids = new Set();
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
if (hit) {
|
|
4
|
+
hit.howler?.log?.forEach(l => ids.add(l.user));
|
|
5
|
+
hit.howler?.comment?.forEach(c => ids.add(c.user), ids);
|
|
6
6
|
}
|
|
7
7
|
return ids;
|
|
8
8
|
};
|
package/utils/viewUtils.js
CHANGED