Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
3fd870e
create alerts feature
denar50 Dec 16, 2025
8e75c38
create `securitySolutionRulesV3`
denar50 Dec 16, 2025
ec4f66e
remove unused component
denar50 Dec 16, 2025
d431428
update alert privileges in the server routes
denar50 Dec 17, 2025
3e5e365
make export of product feature getters consistent
denar50 Dec 18, 2025
8ba7d9f
fix redirection to rule details page
denar50 Dec 18, 2025
9995c0d
update UserPrivilegesContext and useAlertsPrivileges
denar50 Dec 18, 2025
d64695b
update useMissingPrivileges hook to show missing alerts all privileges
denar50 Dec 18, 2025
c214731
allow access to security solution for users with alerts only permissions
denar50 Dec 18, 2025
d80876e
bake index checks into hasAlertsAll and hasAlertsRead
denar50 Dec 18, 2025
31599cf
avoid showing the alerts tab in the rule details page
denar50 Dec 18, 2025
e851123
alert flyout description: disable rule summary link when the user doe…
denar50 Dec 18, 2025
6d930cb
update useRuleDetailsLink hook
denar50 Dec 18, 2025
f18f721
add permission checks for timelines inside useAddBulkToTimelineAction
denar50 Dec 18, 2025
7e52053
avoid showing alert actions in the exceptions flyout when there is no…
denar50 Dec 19, 2025
ee96cec
add exception flyout: hide alert actions when the user doesn't have a…
denar50 Dec 19, 2025
5d90bd0
avoid showing link to the rule details page when the user does not ha…
denar50 Dec 19, 2025
06872d4
endpoint exceptions flyout: hide alert actions if the user does not h…
denar50 Dec 19, 2025
755bbf5
avoid displaying alert actions if the user does not have edit privileges
denar50 Dec 19, 2025
7829fe6
update platform tests
denar50 Dec 19, 2025
1a44ea8
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Jan 12, 2026
7e217a8
fix translation label for rules V1 and V3
denar50 Jan 19, 2026
ab2fa96
remove console.log
denar50 Jan 19, 2026
2ce7a4f
fix unit tests derived from renaming of exceptions ui permissions
denar50 Jan 19, 2026
dbe43b0
fix tests
denar50 Jan 23, 2026
a1eb7eb
remove exceptions privilege from rulesV2
denar50 Jan 23, 2026
20e558d
add privilege to update alerts for legacy roles
denar50 Jan 23, 2026
722076b
fix tests
denar50 Jan 27, 2026
a79c3b1
add a switcher to support the deprecated alerts ui capabilities
denar50 Jan 27, 2026
8250627
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Jan 27, 2026
65738ea
fix authorization tests
denar50 Jan 28, 2026
d5426d4
WIP
denar50 Feb 1, 2026
5209fc3
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Feb 1, 2026
1a2772d
fix type issues
denar50 Feb 1, 2026
6461632
fix tests
denar50 Feb 1, 2026
f0eec8f
adds initial rulesV4 config files and rules management subfeatures
dplumlee Jan 22, 2026
fbb64a1
adds UI guards for new subfeatures
dplumlee Jan 28, 2026
2184513
adds serverside granular role check ability
dplumlee Jan 28, 2026
550bb15
updates mitre page ui
dplumlee Feb 2, 2026
1783ed1
adds ability to modify relevant fields via PATCH
dplumlee Feb 2, 2026
04be738
adds backend logic to modify relevant fields via bulk actions endpoint
dplumlee Feb 3, 2026
c1e0814
fix remaining merges
dplumlee Feb 4, 2026
4e46870
updates PUT endpoint to handle read-only editing for certain fields
dplumlee Feb 5, 2026
4e9619e
Changes from make api-docs
kibanamachine Feb 5, 2026
f8c566d
fixes type errors
dplumlee Feb 6, 2026
ba31309
updates product features service mock
dplumlee Feb 6, 2026
d8bcb47
adds missing import
dplumlee Feb 6, 2026
ed1ab83
refactors server logic to allow for unsetting fields
dplumlee Feb 6, 2026
e673d01
updates react test mocks
dplumlee Feb 6, 2026
5082b4f
updates tests
dplumlee Feb 6, 2026
7799987
updates test mocks
dplumlee Feb 7, 2026
f0dad7e
updates tests
dplumlee Feb 7, 2026
8a3c482
updates test mocks
dplumlee Feb 7, 2026
e319d14
adds FTR tests to cover all new logic for patch and update methods
dplumlee Feb 10, 2026
cc538ab
create a manual run subfeature inside the rules feature
denar50 Feb 9, 2026
37b36dc
use the manual run sub feature in the API and UI
denar50 Feb 9, 2026
597e529
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Feb 10, 2026
60cf008
removes duplicated code
dplumlee Feb 10, 2026
1533b55
add rules management settings subfeature inside rules
denar50 Feb 10, 2026
e74fe7f
manual run subfeature: reword description
denar50 Feb 10, 2026
e256f8f
fix types
denar50 Feb 10, 2026
4cf231b
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Feb 10, 2026
634c1e5
fix types
denar50 Feb 10, 2026
14e4693
removes guards preventing rules-all users from accessing RBAC logic i…
dplumlee Feb 12, 2026
b79eee1
removes duplicate import
dplumlee Feb 26, 2026
18ee780
fix type check
dplumlee Feb 27, 2026
632c2e5
fix logic for no-ops
dplumlee Mar 10, 2026
e53de87
fix unit test
denar50 Mar 16, 2026
f5c4b5d
remove requirement of API level privileges on gap autofill routes
denar50 Mar 16, 2026
3b9f4d9
fix skipped cypress tests for auto_gap_fill
denar50 Mar 16, 2026
fcee772
add alerting.rule.manage_rule_settings to the rule subfeature
denar50 Mar 17, 2026
28e649a
update gap autofill capabilities hook
denar50 Mar 17, 2026
50d59c2
add more unit tests
denar50 Mar 17, 2026
6c0f721
add more api integration tests
denar50 Mar 17, 2026
75b8770
add more cypress tests
denar50 Mar 17, 2026
2fcec69
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Mar 17, 2026
79ef72c
ftr tests: fix auth test fixtures
denar50 Mar 18, 2026
b5ab7b7
cypress tests: fix rules read only
denar50 Mar 18, 2026
3a140f4
api integration tests: trim down rule subfeature roles
denar50 Mar 18, 2026
a3938e3
api integration tests: remove role scaffolding in favor for the subfe…
denar50 Mar 18, 2026
229123c
fixes legacy actions bug
dplumlee Mar 18, 2026
c77b027
fixes separate migration bug
dplumlee Mar 18, 2026
9417677
remove test exclusivity
dplumlee Mar 18, 2026
7d8d3ca
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Mar 25, 2026
385fa97
undo unnecessary import order changes
denar50 Mar 25, 2026
2aa23fa
adding the subfeature configuration to the old versions of the rules …
denar50 Mar 25, 2026
5938fa3
Reconcile rebase conflicts with main
dplumlee Mar 26, 2026
b37f3ad
Remove unrelated files accidentally included in rebase
dplumlee Mar 26, 2026
d1a87b3
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Mar 26, 2026
3ebfb30
fix test
dplumlee Mar 27, 2026
18932e1
fix tests
dplumlee Mar 27, 2026
d419ac1
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Mar 27, 2026
0e9e9d4
fixes merge conflict with constants file
dplumlee Mar 27, 2026
9d136c7
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Mar 30, 2026
e56c67e
fix type
dplumlee Mar 30, 2026
c8903fa
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Mar 30, 2026
db10fc9
updates test file
dplumlee Mar 31, 2026
ff843c7
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Mar 31, 2026
b21f85c
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Mar 31, 2026
7182026
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Apr 1, 2026
dab8f1e
use SECURITY_SOLUTION_RULE_TYPE_IDS which already contains all rule ids
denar50 Apr 1, 2026
6186644
use Array.every instead
denar50 Apr 1, 2026
244db7f
miscelaneous style fixes
denar50 Apr 1, 2026
eed0cf7
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Apr 1, 2026
8d39bf9
split test files
denar50 Apr 1, 2026
e32e2bd
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Apr 1, 2026
e24f793
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Apr 2, 2026
f9cfec2
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Apr 2, 2026
158b7be
adjusts schema
dplumlee Apr 2, 2026
63d33a2
adds max size to schema
dplumlee Apr 2, 2026
5a6d844
grant read access to dv saved objects for rules V4
denar50 Apr 2, 2026
060e259
adjust copy in rule subfeatures description labels
denar50 Apr 2, 2026
7789d23
Merge branch 'main' into rules-managment-rbac-subfeatures
denar50 Apr 2, 2026
92f5e13
Changes from node scripts/eslint_all_files --no-cache --fix
kibanamachine Apr 2, 2026
6b11227
fixes cypress tests
dplumlee Apr 3, 2026
18d6877
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Apr 3, 2026
9622507
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Apr 3, 2026
6a7cdaa
fixes preview tests:
dplumlee Apr 3, 2026
416698f
update tests broken on merge
dplumlee Apr 3, 2026
553744c
address schema comments
dplumlee Apr 6, 2026
b9b75e9
Merge remote-tracking branch 'upstream/main' into rules-managment-rba…
dplumlee Apr 6, 2026
83d0ad2
fix double array schema
dplumlee Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions oas_docs/output/kibana.serverless.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76312,6 +76312,7 @@ components:
- THRESHOLD_RULE_TYPE_IN_SUPPRESSION
- UNSUPPORTED_RULE_IN_SUPPRESSION_FOR_THRESHOLD
- RULE_FILL_GAPS_DISABLED_RULE
- USER_INSUFFICIENT_RULE_PRIVILEGES
type: string
Security_Detections_API_BulkActionSkipResult:
type: object
Expand Down
1 change: 1 addition & 0 deletions oas_docs/output/kibana.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87328,6 +87328,7 @@ components:
- THRESHOLD_RULE_TYPE_IN_SUPPRESSION
- UNSUPPORTED_RULE_IN_SUPPRESSION_FOR_THRESHOLD
- RULE_FILL_GAPS_DISABLED_RULE
- USER_INSUFFICIENT_RULE_PRIVILEGES
type: string
Security_Detections_API_BulkActionSkipResult:
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
* 2.0.
*/

/**
* Used by the security solution
*/
export const validFields = {
EXCEPTIONS_LIST: 'exceptionsList',
NOTE: 'note',
INVESTIGATION_FIELDS: 'investigationFields',
RULE_SOURCE: 'ruleSource',
} as const;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,23 @@ import { schema } from '@kbn/config-schema';
import { validFields } from '../../../../../../common/constants';

const bulkEditExceptionListField = schema.literal(validFields.EXCEPTIONS_LIST);
const bulkEditNoteField = schema.literal(validFields.NOTE);
const bulkEditInvestigationFieldsField = schema.literal(validFields.INVESTIGATION_FIELDS);
const bulkEditRuleSourceField = schema.literal(validFields.RULE_SOURCE);

export const bulkEditParamsOperationSchema = schema.object({
operation: schema.literal('set'),
field: schema.oneOf([bulkEditExceptionListField, bulkEditRuleSourceField]),
value: schema.any(),
field: schema.oneOf([
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note that adding these fields here will allow users with only read access to modify them. Switching back would be a breaking change.

bulkEditExceptionListField,
bulkEditNoteField,
bulkEditInvestigationFieldsField,
bulkEditRuleSourceField,
]),
value: schema.maybe(schema.any()),
});

export const bulkEditParamsOperationsSchema = schema.arrayOf(bulkEditParamsOperationSchema, {
minSize: 1,
maxSize: 2000,
});

export const bulkEditRuleParamsOptionsSchema = schema.object({
Comment thread
macroscopeapp[bot] marked this conversation as resolved.
Expand All @@ -27,12 +34,19 @@ export const bulkEditRuleParamsOptionsSchema = schema.object({
});

const bulkEditExceptionListParamField = schema.literal('params.exceptionsList');
const bulkEditNoteParamField = schema.literal('params.note');
const bulkEditInvestigationFieldsParamField = schema.literal('params.investigationFields');
const bulkEditRuleSourceParamField = schema.literal('params.ruleSource');

export const bulkEditRuleParamsOperationSchema = schema.object({
operation: schema.literal('set'),
field: schema.oneOf([bulkEditExceptionListParamField, bulkEditRuleSourceParamField]),
value: schema.any(),
field: schema.oneOf([
bulkEditExceptionListParamField,
bulkEditNoteParamField,
bulkEditInvestigationFieldsParamField,
bulkEditRuleSourceParamField,
]),
value: schema.maybe(schema.any()),
});

export const bulkEditRuleParamsOperationsSchema = schema.arrayOf(
Expand Down
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am curious, how are these changes related to the feature?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This and the transform_and_delete_legacy_actions.ts file changes are related to a bug found similar to this one where if we have no-op operations passed to bulkEditRuleParamsWithReadAuth, we silently delete the legacy action sidecar but then don't save the migrated actions back to the rule, effectively deleting the actions from the rule. It was causing tests to fail which is why it's been updated here.

Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,14 @@ export const bulkMigrateLegacyActions = async ({

rule.attributes.actions = [...existingActionsWithFrequencies, ...transformedActions];
rule.references = [...rule.references, ...transformedReferences];
rule.attributes.throttle = undefined;
rule.attributes.notifyWhen = undefined;
// Only clear rule-level throttle when there are actual migrated actions from
// the sidecar (throttled sidecars). For no_actions/rule sidecars (empty
// transformedActions), the original throttle value should be preserved since
// there are no per-action frequencies being migrated from the sidecar.
if (transformedActions.length > 0) {
Copy link
Copy Markdown
Contributor

@maximpn maximpn Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was it a bug?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this was a bug that we were finding in the code related to this that caused us to skip a test. It's a slightly different bug that was able to be solved a bit easier than that one which is why we included it in this PR so we wouldn't have to skip more tests.

rule.attributes.throttle = undefined;
}
rule.attributes.notifyWhen = null;
});
return Object.keys(transformed);
} catch (e) {
Expand Down
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am curious, how are these changes related to the feature?

Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,15 @@ export const transformAndDeleteLegacyActions: TransformAndDeleteLegacyActions =
savedObject.attributes.ruleThrottle === 'no_actions' ||
savedObject.attributes.ruleThrottle === 'rule';

const ruleId = ruleReference.id;

if (hasNoThrottledActions) {
// Still register the rule so that bulkMigrateLegacyActions resets
// notifyWhen/throttle and adds per-action frequency to existing actions,
// even though there are no new throttled actions to migrate from the sidecar.
transformedActionsByRuleId[ruleId] = { transformedActions: [], transformedReferences: [] };
return;
}

const ruleId = ruleReference.id;
const transformedActions = transformFromLegacyActions(
savedObject.attributes,
savedObject.references
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ export default function ({ getService }: FtrProviderContext) {
'securitySolutionCasesV3',
'securitySolutionTimeline',
'securitySolutionNotes',
'securitySolutionRulesV3',
'securitySolutionRulesV4',
'securitySolutionAlertsV1',
'securitySolutionSiemMigrations',
'workflowsManagement',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,20 +350,53 @@ export default function ({ getService }: FtrProviderContext) {
securitySolutionTimeline: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionNotes: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionSiemMigrations: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV1: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV1: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV2: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV3: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV4: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionAlertsV1: ['all', 'read', 'minimal_all', 'minimal_read'],
infrastructure: ['all', 'read', 'minimal_all', 'minimal_read'],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ export default function ({ getService }: FtrProviderContext) {
securitySolutionRulesV1: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV2: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV3: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV4: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionAlertsV1: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionAssistant: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionAttackDiscovery: ['all', 'read', 'minimal_all', 'minimal_read'],
Expand Down Expand Up @@ -421,20 +422,53 @@ export default function ({ getService }: FtrProviderContext) {
'minimal_all',
'minimal_read',
],
securitySolutionRulesV1: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionRulesV1: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV2: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV3: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionRulesV4: [
'all',
'read',
'minimal_all',
'minimal_read',
'security_solution_exceptions_all',
'security_solution_investigation_guide_edit',
'security_solution_custom_highlighted_fields_edit',
'security_solution_enable_disable_rules',
'security_solution_manual_run_rules',
'security_solution_rules_management_settings',
],
securitySolutionAlertsV1: ['all', 'read', 'minimal_all', 'minimal_read'],
securitySolutionAssistant: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ export default function ({ getService }: FtrProviderContext) {
"securitySolutionCasesV2",
"securitySolutionRulesV1",
"securitySolutionRulesV2",
"securitySolutionRulesV3",
"siem",
"siemV2",
"siemV3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ export function createTestSuiteFactory({ getService }: DeploymentAgnosticFtrProv
'securitySolutionAttackDiscovery',
'securitySolutionCasesV3',
'securitySolutionNotes',
'securitySolutionRulesV3',
'securitySolutionRulesV4',
'securitySolutionSiemMigrations',
'securitySolutionTimeline',
'siemV5',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ export function getTestSuiteFactory(context: DeploymentAgnosticFtrProviderContex
'securitySolutionAttackDiscovery',
'securitySolutionCasesV3',
'securitySolutionNotes',
'securitySolutionRulesV3',
'securitySolutionRulesV4',
'securitySolutionSiemMigrations',
'securitySolutionTimeline',
'siemV5',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const ALL_SPACE_RESULTS: Space[] = [
'securitySolutionAttackDiscovery',
'securitySolutionCasesV3',
'securitySolutionNotes',
'securitySolutionRulesV3',
'securitySolutionRulesV4',
'securitySolutionSiemMigrations',
'securitySolutionTimeline',
'siemV5',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ export default function ({ getService }: FtrProviderContext) {
securitySolutionRulesV1: 0,
securitySolutionRulesV2: 0,
securitySolutionRulesV3: 0,
securitySolutionRulesV4: 0,
securitySolutionAlertsV1: 0,
securitySolutionCases: 0,
securitySolutionCasesV2: 0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,10 @@ export { getAttackDiscoveryFeature } from './src/attack_discovery';
export { getTimelineFeature } from './src/timeline';
export { getNotesFeature } from './src/notes';
export { getSiemMigrationsFeature } from './src/siem_migrations';
export { getRulesFeature, getRulesV2Feature, getRulesV3Feature } from './src/rules';
export {
getRulesFeature,
getRulesV2Feature,
getRulesV3Feature,
getRulesV4Feature,
} from './src/rules';
export { getAlertsFeature } from './src/alerts';
Loading
Loading