Skip to content

Merge main, resolve conflicts#9

Closed
Dosant wants to merge 2888 commits intopatrykkopycinski:chore/react-18-callback-anyfrom
Dosant:chore/react-18-callback-any-copy
Closed

Merge main, resolve conflicts#9
Dosant wants to merge 2888 commits intopatrykkopycinski:chore/react-18-callback-anyfrom
Dosant:chore/react-18-callback-any-copy

Conversation

@Dosant
Copy link
Copy Markdown

@Dosant Dosant commented Aug 27, 2024

Summary

Summarize your PR. If it involves visual changes include a screenshot or gif.

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.

When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:

Risk Probability Severity Mitigation/Notes
Multiple Spaces—unexpected behavior in non-default Kibana Space. Low High Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces.
Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. High Low Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure.
Code should gracefully handle cases when feature X or plugin Y are disabled. Medium High Unit tests will verify that any feature flag or plugin combination still results in our service operational.
See more potential risk examples

For maintainers

PhilippeOberti and others added 30 commits August 19, 2024 10:00
…stigation guide related hooks and components to flyout folder (elastic#190110)
## Summary

These couple of popover panels contain more padding than desired or
intended by the design system.

**Before**
_Discover alerts popover_
<img
src="https://github.com/user-attachments/assets/495d7641-eab4-4b95-845b-90d2a121ad43"
width="470" />

_Nav deployments popover_
<img
src="https://github.com/user-attachments/assets/3bc05146-d03b-4b72-be39-edf4dd2ffa24"
width="340" />

**After**
_Discover alerts popover_
<img
src="https://github.com/user-attachments/assets/5fd1b025-d74e-4318-b6de-ce5c7988ee14"
width="420" />

_Nav deployments popover_
<img
src="https://github.com/user-attachments/assets/a3ce65c5-bc12-41bb-97de-4d7d6997591f"
width="390" />

### Checklist

Delete any items that are not applicable to this PR.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
…et codebase (elastic#190659)

## Summary

Replaces any unsafe YML operations with their safe alternatives.

`load` -> `safeLoad`
`dump` -> `safeDump`
Noticed this error during data forge resources cleanup caused by
duplicated name

```
info Deleteing components for logs-mongodb@template (mongodb_8.0.0_base,mongodb_8.0.0_log,mongodb_8.0.0_host,mongodb_8.0.0_host)
ERROR Failed to delete {"options":{"redaction":{"type":"replace","additionalKeys":[]}},"name":"ResponseError","meta":{"body":{"error":{"root_cause":[{"type":"resource_not_found_exception","reason":"mongodb_8.0.0_host"}],"type":"resource_not_found_exception","reason":"mongodb_8.0.0_host"},
```
…e11c691 (main) (elastic#190665)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| docker.elastic.co/wolfi/chainguard-base | digest | `dcbcd19` ->
`e11c691` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Co-authored-by: Jon <jon@elastic.co>
This PR updates the function definitions and inline docs based on the
latest metadata from Elasticsearch.

---------

Co-authored-by: Drew Tate <andrew.tate@elastic.co>
This workflow was intended to automatically update labels if a pull
requests version targets were out of date at the time of merge (i.e. a a
pull request labeled with 8.14 as a target branch, is now out of date
after the global version is bumped to 8.16, will add the 8.15 label)

We don't add target versions anymore pre-merge except in rare cases like
documentation updates. This last time this workflow was run was 2.5
years ago.
…ces when running alerting rules (elastic#189929)

Resolves elastic#184322

## Summary

This PR updates `getExecutorServices` to allow alerting rules to only
load the dataViews and wrappedSearchSourceClient services when needed. I
updated the rule types dependent on dataViews and/or
wrappedSearchSourceClient.


### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

### To verify

- Verify that the dataviews and searchsource are only loaded when
needed. I think the best way to verify this is create an Index threshold
rule and make sure that the `dataViews` and `searchSourceClient`
services are not created.
- Verify that the updated rules work correctly. I updated the following
rule types:
Custom threshold
SLO burn rate
ES query
Indicator match
## Summary

Defend Hardware Callstacks are going GA in 8.16.0. This PR will let
users opt out via Advanced Policy.

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[eslint-plugin-depend](https://github.com/es-tooling/eslint-plugin-depend)
| devDependencies | minor | [`^0.9.0` ->
`^0.10.0`](https://renovatebot.com/diffs/npm/eslint-plugin-depend/0.9.0/0.10.0)
|

---

### Release Notes

<details>
<summary>es-tooling/eslint-plugin-depend
(eslint-plugin-depend)</summary>

###
[`v0.10.0`](https://github.com/es-tooling/eslint-plugin-depend/releases/tag/0.10.0)

[Compare
Source](https://github.com/es-tooling/eslint-plugin-depend/compare/0.9.0...0.10.0)

#### What's Changed

- chore: upgrade module-replacements by
[@&elastic#8203;43081j](https://github.com/43081j) in
[https://github.com/es-tooling/eslint-plugin-depend/pull/30](https://github.com/es-tooling/eslint-plugin-depend/pull/30)
- feat: add eslint 9 support by
[@&elastic#8203;43081j](https://github.com/43081j) in
[https://github.com/es-tooling/eslint-plugin-depend/pull/31](https://github.com/es-tooling/eslint-plugin-depend/pull/31)
- chore: upgrade dev dependencies by
[@&elastic#8203;43081j](https://github.com/43081j) in
[https://github.com/es-tooling/eslint-plugin-depend/pull/32](https://github.com/es-tooling/eslint-plugin-depend/pull/32)

**Full Changelog**:
es-tooling/eslint-plugin-depend@0.9.0...0.10.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Updating axe-core config to latest 4.10.0
## Summary

Closes elastic#190539

Adds a help menu button for the ES|QL mode

<img width="1548" alt="image"
src="https://github.com/user-attachments/assets/f8dde898-a1bf-4441-ae21-053e8290a5a6">


### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
Co-authored-by: Drew Tate <andrew.tate@elastic.co>
## Summary

Resolves elastic#186007.

Adds a density configuration for the `UnifiedDataTable`. By default,
this configuration will not be shown unless an
`onUpdateDataGridDensity`handler is passed to the `UnifiedDataTable`. It
defaults to `compact`. It persists to `localStorage` when updated.


https://github.com/user-attachments/assets/8523301c-7cf5-4854-bbbc-b6767d996c32

### Checklist

Delete any items that are not applicable to this PR.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Bhavya RM <bhavya@elastic.co>
…o c16d3ad (main) (elastic#190745)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| docker.elastic.co/wolfi/chainguard-base | digest | `e11c691` ->
`c16d3ad` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOk9wZXJhdGlvbnMiLCJyZWxlYXNlX25vdGU6c2tpcCJdfQ==-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
Related to: https://github.com/elastic/obs-ai-assistant-team/issues/157

This adds a top-level property `type: 'user_instruction' | 'contextual'`
to the knowledge base.

The description given to the LLM:

> The type can be: "user_instruction" or "contextual". A
"user_instruction" entry will be included in the system message if it
fits within the token budget and it will be marked as a user
instruction. A "contextual" entry will be included as part of the
context function response (and not the system message) if it
semantically matches the user's prompt.


# Screenshots

**"Edit system prompt" button**

![image](https://github.com/elastic/kibana/assets/209966/36cd8571-2c21-4b69-8c17-98a0d53e9452)


**"Edit system prompt" flyout**

![image](https://github.com/elastic/kibana/assets/209966/ed802390-71d8-448d-964c-04afdbecc0ae)




https://github.com/elastic/kibana/assets/209966/cc781d46-3966-4530-8036-dd44506ec771
mistic and others added 22 commits August 26, 2024 20:05
## Summary

This PR introduces two endpoints for the `search_indices` plugin that
will be used by the start (empty state) page to determine if the user
has an indices and what their permissions are.

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…lastic#189018)

## Summary

Follows elastic#184608
Closes elastic/kibana-team#805


![image](https://github.com/user-attachments/assets/eaee5b81-c1e9-4e81-9018-db57652236dc)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…ration (elastic#191139)

## Summary

This PR sets the `traces` boolean flag in an Agent policy's monitoring
configuration if `traces` was included in the `monitoring_enabled`
array.
…#191032)

## Summary

Addresses elastic#156246

Updates exception toast message to accurately reflect when it's an
endpoint exception.
## Summary
- Closes elastic/kibana-operations#101

This PR adds a [Dev Container](https://containers.dev/) to utilize for
Kibana local development in an isolated environment. The original
intention was to create a local environment for FIPS development because
setting up Kibana in FIPS mode is complicated and has the potential to
break the user's OS. However, it has been altered to allow for general
development if an engineer chooses as well. The idea is for this be a
cost efficient replacement for
[kibana-remote-dev](https://github.com/elastic/kibana-remote-dev)
eventually.

### Testing
- In VS Code you should be able to use the `Dev Containers: Clone GitHub
Pull Request in Named Container Volume...` command from the Command
Palette (F1) to easily test this PR.
- See the
[docs](https://github.com/elastic/kibana/blob/bd125fc230f06848d62a564dc88d8abfb4f13e88/dev_docs/getting_started/setting_up_a_development_env.mdx#using-the-kibana-dev-container-optional)
for additional information on setting up the Dev Container.


### Bazel
I tried many different solutions to copy the local Bazel cache into the
container to speed up bootstrap, but it either would break Bazel or
didn't provide any meaningful boost in performance. I opted to forgo
keeping it in this PR due to the complexity and since we're planning to
phase out Bazel in the future anyways.
…lastic#191213)

## Summary

Adds `autoFocus` search input in dropdown for the global **Data view**
selector and the **Lens chart switch**. Now clicking on either dropdown,
the focus will automatically be on the input for the user to start
typing to filter selectable items. This does not change the tab indexing
of the surrounding elements.

### Data view picker

![Zight Recording 2024-08-23 at 09 11 47
AM](https://github.com/user-attachments/assets/c5cf9981-4e79-4216-b1ae-0ef5da8fe62a)

### Lens chart switch

![Zight Recording 2024-08-23 at 09 14 09
AM](https://github.com/user-attachments/assets/7fb117b5-0bb7-4204-a606-264ce12a1f6d)

closes elastic#189686

### Checklist

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
…te multiple alerts only has 1 alert that gets muted (elastic#190935)

## Summary
Issue: elastic#190750

Fix a bug with maintenance window where only 1 alert from a rule that
generates multiple alerts has the maintenance window ID associated. The
fix was to remove a `size` field (not sure why that was there).

To verify:
1. Create an active maintenance window with conditional filter
2. Create a rule that matches the maintenance window filter and let it
generate multiple alerts (I use ES query rule on the task_manager index
with runAt as timefield. Then use groupBy on the runAt field.).
3. Assert that all of the alerts generated have the maintenance window
ID associated with it

### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
## Summary

Update the renovate configuration by migrating deprecated configuration
to supported configuration.

This was generated using the instructions found in
https://docs.renovatebot.com/config-validation/:

```sh
npx --yes --package renovate -- renovate-config-validator --strict
```

<details>
<summary>View full output</summary>
```
 INFO: Validating renovate.json
 WARN: Config migration necessary
       "oldConfig": {
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "extends": [
           "config:recommended",
           "helpers:pinGitHubActionDigests",
           "helpers:pinGitHubActionDigestsToSemver"
         ],
         "ignorePaths": ["**/__fixtures__/**", "**/fixtures/**"],
         "enabledManagers": ["npm", "github-actions", "custom.regex"],
         "baseBranches": ["main", "7.17"],
         "prConcurrentLimit": 0,
         "prHourlyLimit": 0,
         "separateMajorMinor": false,
         "rangeStrategy": "bump",
         "semanticCommits": "disabled",
         "vulnerabilityAlerts": {"enabled": false},
         "lockFileMaintenance": {"enabled": false},
         "packageRules": [
           {"matchDepPatterns": [".*"], "enabled": false},
           {
             "groupName": "chainguard",
             "matchPackageNames": ["docker.elastic.co/wolfi/chainguard-base"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "enabled": true
           },
           {
             "groupName": "operations actions",
             "matchManagers": ["github-actions"],
             "matchPackageNames": [
               "actions/checkout",
               "elastic/github-actions/project-assigner",
               "hmarr/auto-approve-action",
               "octokit/graphql-action",
               "sergeysova/jq-action",
               "sourenlouv/backport"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "backport:all-open", "release_note:skip"],
             "enabled": true
           },
           {
             "groupName": "@elastic/charts",
             "matchDepNames": ["@elastic/charts"],
             "reviewers": ["team:visualizations", "markov00", "nickofthyme"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "Team:Visualizations"],
             "enabled": true
           },
           {
             "groupName": "@elastic/elasticsearch",
             "matchDepNames": ["@elastic/elasticsearch"],
             "reviewers": ["team:kibana-operations", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:skip",
               "Team:Operations",
               "Team:Core"
             ],
             "enabled": true
           },
           {
             "groupName": "@elastic/elasticsearch",
             "matchDepNames": ["@elastic/elasticsearch"],
             "reviewers": ["team:kibana-operations", "team:kibana-core"],
             "matchBaseBranches": ["7.17"],
             "labels": [
               "release_note:skip",
               "Team:Operations",
               "Team:Core",
               "backport:skip"
             ],
             "enabled": true
           },
           {
             "groupName": "LaunchDarkly",
             "matchDepNames": [
               "launchdarkly-js-client-sdk",
               "@launchdarkly/node-server-sdk",
               "launchdarkly/find-code-references"
             ],
             "reviewers": ["team:kibana-security", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "Team:Security",
               "Team:Core",
               "backport:prev-minor"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "APM",
             "matchDepNames": [
               "elastic-apm-node",
               "@elastic/apm-rum",
               "@elastic/apm-rum-react"
             ],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "@elastic/ebt",
             "matchDepNames": ["@elastic/ebt"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "ansi-regex",
             "matchDepNames": ["ansi-regex"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "OpenAPI Spec",
             "matchDepNames": ["@redocly/cli"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "babel",
             "matchDepNames": ["@types/babel__core", "/^@babel/", "/^babel-plugin/"],
             "matchDepPatterns": ["^@babel", "^babel-plugin"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "typescript",
             "matchDepNames": ["typescript", "@types/jsdom"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "prettier",
             "matchDepNames": [
               "prettier",
               "eslint-plugin-prettier",
               "eslint-config-prettier"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<3.0",
             "enabled": true
           },
           {
             "groupName": "typescript-eslint",
             "matchDepPatterns": ["^@typescript-eslint"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "eslint-plugin-depend",
             "matchDepPatterns": ["eslint-plugin-depend"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "polyfills",
             "matchDepNames": ["core-js", "/polyfill/"],
             "matchDepPatterns": ["polyfill"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "CLI tooling",
             "matchDepNames": ["listr2"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "backport:all-open", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "vega related modules",
             "matchDepNames": [
               "vega",
               "vega-lite",
               "vega-schema-url-parser",
               "vega-tooltip"
             ],
             "reviewers": ["team:kibana-visualizations"],
             "matchBaseBranches": ["main"],
             "labels": ["Feature:Vega", "Team:Visualizations"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "cypress",
             "matchDepPatterns": ["cypress"],
             "reviewers": ["Team:apm", "Team: SecuritySolution"],
             "matchBaseBranches": ["main"],
             "labels": ["buildkite-ci", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "security solution modules",
             "matchDepNames": ["zod", "langchain"],
             "reviewers": ["Team: SecuritySolution"],
             "matchBaseBranches": ["main"],
             "labels": ["Team: SecuritySolution"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "platform security modules",
             "matchDepNames": [
               "css.escape",
               "node-forge",
               "formik",
               "@types/node-forge",
               "require-in-the-middle",
               "tough-cookie",
               "@types/tough-cookie",
               "xml-crypto",
               "@types/xml-crypto",
               "@kayahr/text-encoding"
             ],
             "reviewers": ["team:kibana-security"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Security", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "CodeQL",
             "matchDepNames": [
               "github/codeql-action/analyze",
               "github/codeql-action/init"
             ],
             "reviewers": ["team:kibana-security"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Security", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "ftr",
             "matchDepNames": [
               "@types/chromedriver",
               "@types/selenium-webdriver",
               "chromedriver",
               "geckodriver",
               "ms-chromium-edge-driver",
               "selenium-webdriver"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "scss",
             "matchDepNames": ["sass-embedded"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "minify",
             "matchDepNames": ["gulp-terser", "terser"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "@testing-library",
             "matchDepNames": [
               "@testing-library/dom",
               "@testing-library/jest-dom",
               "@testing-library/react",
               "@testing-library/react-hooks",
               "@testing-library/user-event",
               "@types/testing-library__jest-dom"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "jest",
             "matchDepNames": [
               "@jest/console",
               "@jest/reporters",
               "@jest/types",
               "babel-jest",
               "expect",
               "jest",
               "jest-cli",
               "jest-config",
               "jest-diff",
               "jest-environment-jsdom",
               "jest-matcher-utils",
               "jest-mock",
               "jest-runtime",
               "jest-snapshot"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "@storybook",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "matchDepPatterns": ["^@storybook"],
             "excludeDepNames": ["@storybook/testing-react"],
             "labels": [
               "Team:Operations",
               "release_note:skip",
               "ci:build-storybooks",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<7.0",
             "enabled": true
           },
           {
             "groupName": "@storybook/testing-react",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "matchDepNames": ["@storybook/testing-react"],
             "labels": [
               "Team:Operations",
               "release_note:skip",
               "ci:build-storybooks",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<2.0",
             "enabled": true
           },
           {
             "groupName": "react-query",
             "matchDepNames": [
               "@tanstack/react-query",
               "@tanstack/react-query-devtools"
             ],
             "reviewers": [
               "team:response-ops",
               "team:kibana-cloud-security-posture",
               "team:security-asset-management",
               "team:fleet",
               "team:awp-platform",
               "team:security-onboarding-and-lifecycle-mgt"
             ],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "react-hook-form",
             "matchDepNames": ["react-hook-form"],
             "reviewers": ["team:security-asset-management", "team:uptime"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "redux",
             "matchDepNames": ["redux", "react-redux"],
             "reviewers": [
               "team:search-kibana",
               "team:kibana-presentation",
               "team:kibana-data-discovery",
               "team:kibana-management",
               "team:kibana-gis",
               "team:security-solution"
             ],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Profiling",
             "matchDepNames": ["peggy", "@types/dagre"],
             "reviewers": ["team:obs-ux-infra_services-team"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "TTY Output",
             "matchDepNames": ["xterm", "byte-size", "@types/byte-size"],
             "reviewers": ["team:sec-cloudnative-integrations"],
             "matchBaseBranches": ["main"],
             "labels": [
               "Team: AWP: Visualization",
               "release_note:skip",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Cloud Defend",
             "matchDepNames": ["monaco-yaml"],
             "reviewers": ["team:sec-cloudnative-integrations"],
             "matchBaseBranches": ["main"],
             "labels": [
               "Team: Cloud Native Integrations",
               "release_note:skip",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "JSON Web Token",
             "matchDepNames": ["jsonwebtoken"],
             "reviewers": ["team:response-ops", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "XState",
             "matchDepNames": ["xstate", "@xstate/{/,}**"],
             "matchDepPrefixes": ["@xstate/"],
             "reviewers": ["team:obs-ux-logs-team"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Obs UX Logs", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "OpenTelemetry modules",
             "matchDepPrefixes": ["@opentelemetry/"],
             "reviewers": ["team:stack-monitoring"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Monitoring"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "csp",
             "matchDepNames": ["content-security-policy-parser"],
             "reviewers": ["team:kibana-security", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:skip",
               "ci:serverless-test-all"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "AlertingEmails",
             "matchDepNames": ["nodemailer"],
             "reviewers": ["team:response-ops"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:prev-minor"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Kibana ES|QL Team",
             "matchDepNames": ["recast"],
             "reviewers": ["team:kibana-esql"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:ESQL", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "MSW",
             "matchPackageNames": ["msw"],
             "reviewers": ["team:kibana-cloud-security-posture"],
             "matchBaseBranches": ["main"],
             "labels": ["Team: Cloud Security", "release_note:skip", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "re2js",
             "matchDepNames": ["re2js"],
             "reviewers": ["team:visualizations", "dej611"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:all-open",
               "Team:Visualizations"
             ],
             "enabled": true
           },
           {
             "groupName": "Serve swagger docs",
             "matchDepNames": ["express", "swagger-jsdoc", "swagger-ui-express"],
             "reviewers": ["team:obs-entities"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "team:obs-entities"],
             "enabled": true
           }
         ],
         "customManagers": [
           {
             "description": "Update Wolfi base image",
             "customType": "regex",
             "fileMatch": [
               "^src/dev/build/tasks/os_packages/docker_generator/run\\.ts$"
             ],
             "matchStrings": [
               "(?<depName>docker\\.elastic\\.co/wolfi/chainguard-base):(?<currentValue>[-a-zA-Z0-9.]+)?(?:@(?<currentDigest>sha256:[a-fA-F0-9]+))?"
             ],
             "datasourceTemplate": "docker"
           },
           {
             "description": "Update pipelib image",
             "customType": "regex",
             "fileMatch": [
               "^\\.buildkite/pipeline-resource-definitions/scripts/validate-pipeline-definition\\.sh$",
               "^\\.buildkite/scripts/steps/checks/renovate\\.sh$"
             ],
             "matchStrings": [
               "(?<depName>docker\\.elastic\\.co/ci-agent-images/pipelib):(?<currentValue>[-a-zA-Z0-9.]+)?(?:@(?<currentDigest>sha256:[a-fA-F0-9]+))?"
             ],
             "datasourceTemplate": "docker"
           }
         ]
       },
       "newConfig": {
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "extends": [
           "config:recommended",
           "helpers:pinGitHubActionDigests",
           "helpers:pinGitHubActionDigestsToSemver"
         ],
         "ignorePaths": ["**/__fixtures__/**", "**/fixtures/**"],
         "enabledManagers": ["npm", "github-actions", "custom.regex"],
         "baseBranches": ["main", "7.17"],
         "prConcurrentLimit": 0,
         "prHourlyLimit": 0,
         "separateMajorMinor": false,
         "rangeStrategy": "bump",
         "semanticCommits": "disabled",
         "vulnerabilityAlerts": {"enabled": false},
         "lockFileMaintenance": {"enabled": false},
         "packageRules": [
           {"enabled": false, "matchDepNames": ["/.*/"]},
           {
             "groupName": "chainguard",
             "matchPackageNames": ["docker.elastic.co/wolfi/chainguard-base"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "enabled": true
           },
           {
             "groupName": "operations actions",
             "matchManagers": ["github-actions"],
             "matchPackageNames": [
               "actions/checkout",
               "elastic/github-actions/project-assigner",
               "hmarr/auto-approve-action",
               "octokit/graphql-action",
               "sergeysova/jq-action",
               "sourenlouv/backport"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "backport:all-open", "release_note:skip"],
             "enabled": true
           },
           {
             "groupName": "@elastic/charts",
             "matchDepNames": ["@elastic/charts"],
             "reviewers": ["team:visualizations", "markov00", "nickofthyme"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "Team:Visualizations"],
             "enabled": true
           },
           {
             "groupName": "@elastic/elasticsearch",
             "matchDepNames": ["@elastic/elasticsearch"],
             "reviewers": ["team:kibana-operations", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:skip",
               "Team:Operations",
               "Team:Core"
             ],
             "enabled": true
           },
           {
             "groupName": "@elastic/elasticsearch",
             "matchDepNames": ["@elastic/elasticsearch"],
             "reviewers": ["team:kibana-operations", "team:kibana-core"],
             "matchBaseBranches": ["7.17"],
             "labels": [
               "release_note:skip",
               "Team:Operations",
               "Team:Core",
               "backport:skip"
             ],
             "enabled": true
           },
           {
             "groupName": "LaunchDarkly",
             "matchDepNames": [
               "launchdarkly-js-client-sdk",
               "@launchdarkly/node-server-sdk",
               "launchdarkly/find-code-references"
             ],
             "reviewers": ["team:kibana-security", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "Team:Security",
               "Team:Core",
               "backport:prev-minor"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "APM",
             "matchDepNames": [
               "elastic-apm-node",
               "@elastic/apm-rum",
               "@elastic/apm-rum-react"
             ],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "@elastic/ebt",
             "matchDepNames": ["@elastic/ebt"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "ansi-regex",
             "matchDepNames": ["ansi-regex"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "OpenAPI Spec",
             "matchDepNames": ["@redocly/cli"],
             "reviewers": ["team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "Team:Core", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "babel",
             "matchDepNames": ["@types/babel__core", "/^@babel/", "/^babel-plugin/"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "typescript",
             "matchDepNames": ["typescript", "@types/jsdom"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "prettier",
             "matchDepNames": [
               "prettier",
               "eslint-plugin-prettier",
               "eslint-config-prettier"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<3.0",
             "enabled": true
           },
           {
             "groupName": "typescript-eslint",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true,
             "matchDepNames": ["/^@typescript-eslint/"]
           },
           {
             "groupName": "eslint-plugin-depend",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true,
             "matchDepNames": ["/eslint-plugin-depend/"]
           },
           {
             "groupName": "polyfills",
             "matchDepNames": ["core-js", "/polyfill/"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "CLI tooling",
             "matchDepNames": ["listr2"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "backport:all-open", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "vega related modules",
             "matchDepNames": [
               "vega",
               "vega-lite",
               "vega-schema-url-parser",
               "vega-tooltip"
             ],
             "reviewers": ["team:kibana-visualizations"],
             "matchBaseBranches": ["main"],
             "labels": ["Feature:Vega", "Team:Visualizations"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "cypress",
             "reviewers": ["Team:apm", "Team: SecuritySolution"],
             "matchBaseBranches": ["main"],
             "labels": ["buildkite-ci", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true,
             "matchDepNames": ["/cypress/"]
           },
           {
             "groupName": "security solution modules",
             "matchDepNames": ["zod", "langchain"],
             "reviewers": ["Team: SecuritySolution"],
             "matchBaseBranches": ["main"],
             "labels": ["Team: SecuritySolution"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "platform security modules",
             "matchDepNames": [
               "css.escape",
               "node-forge",
               "formik",
               "@types/node-forge",
               "require-in-the-middle",
               "tough-cookie",
               "@types/tough-cookie",
               "xml-crypto",
               "@types/xml-crypto",
               "@kayahr/text-encoding"
             ],
             "reviewers": ["team:kibana-security"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Security", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "CodeQL",
             "matchDepNames": [
               "github/codeql-action/analyze",
               "github/codeql-action/init"
             ],
             "reviewers": ["team:kibana-security"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Security", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "ftr",
             "matchDepNames": [
               "@types/chromedriver",
               "@types/selenium-webdriver",
               "chromedriver",
               "geckodriver",
               "ms-chromium-edge-driver",
               "selenium-webdriver"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "scss",
             "matchDepNames": ["sass-embedded"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "minify",
             "matchDepNames": ["gulp-terser", "terser"],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "@testing-library",
             "matchDepNames": [
               "@testing-library/dom",
               "@testing-library/jest-dom",
               "@testing-library/react",
               "@testing-library/react-hooks",
               "@testing-library/user-event",
               "@types/testing-library__jest-dom"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "jest",
             "matchDepNames": [
               "@jest/console",
               "@jest/reporters",
               "@jest/types",
               "babel-jest",
               "expect",
               "jest",
               "jest-cli",
               "jest-config",
               "jest-diff",
               "jest-environment-jsdom",
               "jest-matcher-utils",
               "jest-mock",
               "jest-runtime",
               "jest-snapshot"
             ],
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Operations", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "@storybook",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "labels": [
               "Team:Operations",
               "release_note:skip",
               "ci:build-storybooks",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<7.0",
             "enabled": true,
             "matchDepNames": ["/^@storybook/", "!@storybook/testing-react"]
           },
           {
             "groupName": "@storybook/testing-react",
             "reviewers": ["team:kibana-operations"],
             "matchBaseBranches": ["main"],
             "matchDepNames": ["@storybook/testing-react"],
             "labels": [
               "Team:Operations",
               "release_note:skip",
               "ci:build-storybooks",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "allowedVersions": "<2.0",
             "enabled": true
           },
           {
             "groupName": "react-query",
             "matchDepNames": [
               "@tanstack/react-query",
               "@tanstack/react-query-devtools"
             ],
             "reviewers": [
               "team:response-ops",
               "team:kibana-cloud-security-posture",
               "team:security-asset-management",
               "team:fleet",
               "team:awp-platform",
               "team:security-onboarding-and-lifecycle-mgt"
             ],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "react-hook-form",
             "matchDepNames": ["react-hook-form"],
             "reviewers": ["team:security-asset-management", "team:uptime"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "redux",
             "matchDepNames": ["redux", "react-redux"],
             "reviewers": [
               "team:search-kibana",
               "team:kibana-presentation",
               "team:kibana-data-discovery",
               "team:kibana-management",
               "team:kibana-gis",
               "team:security-solution"
             ],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip", "ci:all-cypress-suites"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Profiling",
             "matchDepNames": ["peggy", "@types/dagre"],
             "reviewers": ["team:obs-ux-infra_services-team"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "TTY Output",
             "matchDepNames": ["xterm", "byte-size", "@types/byte-size"],
             "reviewers": ["team:sec-cloudnative-integrations"],
             "matchBaseBranches": ["main"],
             "labels": [
               "Team: AWP: Visualization",
               "release_note:skip",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Cloud Defend",
             "matchDepNames": ["monaco-yaml"],
             "reviewers": ["team:sec-cloudnative-integrations"],
             "matchBaseBranches": ["main"],
             "labels": [
               "Team: Cloud Native Integrations",
               "release_note:skip",
               "backport:skip"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "JSON Web Token",
             "matchDepNames": ["jsonwebtoken"],
             "reviewers": ["team:response-ops", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:all-open"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "XState",
             "matchDepNames": ["xstate", "@xstate/{/,}**"],
             "reviewers": ["team:obs-ux-logs-team"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Obs UX Logs", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "OpenTelemetry modules",
             "reviewers": ["team:stack-monitoring"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:Monitoring"],
             "minimumReleaseAge": "7 days",
             "enabled": true,
             "matchDepNames": ["@opentelemetry/{/,}**"]
           },
           {
             "groupName": "csp",
             "matchDepNames": ["content-security-policy-parser"],
             "reviewers": ["team:kibana-security", "team:kibana-core"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:skip",
               "ci:serverless-test-all"
             ],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "AlertingEmails",
             "matchDepNames": ["nodemailer"],
             "reviewers": ["team:response-ops"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "backport:prev-minor"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "Kibana ES|QL Team",
             "matchDepNames": ["recast"],
             "reviewers": ["team:kibana-esql"],
             "matchBaseBranches": ["main"],
             "labels": ["Team:ESQL", "release_note:skip"],
             "minimumReleaseAge": "7 days",
             "enabled": true
           },
           {
             "groupName": "MSW",
             "matchPackageNames": ["msw"],
             "reviewers": ["team:kibana-cloud-security-posture"],
             "matchBaseBranches": ["main"],
             "labels": ["Team: Cloud Security", "release_note:skip", "backport:skip"],
             "enabled": true
           },
           {
             "groupName": "re2js",
             "matchDepNames": ["re2js"],
             "reviewers": ["team:visualizations", "dej611"],
             "matchBaseBranches": ["main"],
             "labels": [
               "release_note:skip",
               "backport:all-open",
               "Team:Visualizations"
             ],
             "enabled": true
           },
           {
             "groupName": "Serve swagger docs",
             "matchDepNames": ["express", "swagger-jsdoc", "swagger-ui-express"],
             "reviewers": ["team:obs-entities"],
             "matchBaseBranches": ["main"],
             "labels": ["release_note:skip", "team:obs-entities"],
             "enabled": true
           }
         ],
         "customManagers": [
           {
             "description": "Update Wolfi base image",
             "customType": "regex",
             "fileMatch": [
               "^src/dev/build/tasks/os_packages/docker_generator/run\\.ts$"
             ],
             "matchStrings": [
               "(?<depName>docker\\.elastic\\.co/wolfi/chainguard-base):(?<currentValue>[-a-zA-Z0-9.]+)?(?:@(?<currentDigest>sha256:[a-fA-F0-9]+))?"
             ],
             "datasourceTemplate": "docker"
           },
           {
             "description": "Update pipelib image",
             "customType": "regex",
             "fileMatch": [
               "^\\.buildkite/pipeline-resource-definitions/scripts/validate-pipeline-definition\\.sh$",
               "^\\.buildkite/scripts/steps/checks/renovate\\.sh$"
             ],
             "matchStrings": [
               "(?<depName>docker\\.elastic\\.co/ci-agent-images/pipelib):(?<currentValue>[-a-zA-Z0-9.]+)?(?:@(?<currentDigest>sha256:[a-fA-F0-9]+))?"
             ],
             "datasourceTemplate": "docker"
           }
         ]
       }
```
</details>

------

This PR has 2 commits:
1. `7039eaf25b5334ca798e9c16ba75b5d5511c8138`: contains only whitespace
changes, in order to make the resulting diff easier to digest.
2. `da12693c107e3e2b6aeacb21c75812b1a2200497`: the actual config
migration.
…clude new package PHASE 2 (elastic#190933)

## Summary

The previous elastic#190105 was way too
big and made it hard to review without missing any bugs or potential
bugs, Thus we decided we are going to make series of smaller PR to make
things more manageable

We will be splitting it into 4 PR
Phase 1: Creating empty packages for csp and csp-common
Phase 2: Move Types from CSP plugin to the Package + Deleting duplicates
in the CSP plugin where possible
Phase 3: Move Functions, Utils or Helpers, Hooks to Package
Phase 4: Misconfiguration Preview feature (with Cypress test and other
required test)

This is **Phase 2** of the Process

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
closes [190703](elastic#190703)

## Summary

I'm not sure if this change will resolve the flakiness. What I
discovered is that the test had an open handle due to an unfinished
promise.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
…astic#190986)

Closes elastic#189353

## Summary

Small change that implements a precondition function for package install
state machine. This is needed for the subsequent work planned in
elastic#169147.

Note that this code is added and tested, but it's not currently used and
it will actually be used only when
elastic#175597 will be implemented.


### Checklist
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
…callback-any

# Conflicts:
#	packages/kbn-alerts-ui-shared/src/rule_form/rule_actions/rule_actions_alerts_filter_timeframe.tsx
#	packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx
#	packages/kbn-text-based-editor/src/text_based_languages_editor.tsx
#	packages/kbn-unified-data-table/src/components/data_table.tsx
#	packages/kbn-visualization-ui-components/components/line_style_settings.tsx
#	src/plugins/discover/public/application/main/components/layout/discover_documents.tsx
#	src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx
#	src/plugins/unified_search/public/dataview_picker/text_languages_transition_modal.tsx
#	src/plugins/vis_types/timelion/public/components/timelion_vis_component.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/assistant_header_flyout.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/conversation_settings.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_selector/system_prompt_selector.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_settings.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_textarea/index.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_selector/quick_prompt_selector.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/evaluation_settings/evaluation_settings.tsx
#	x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_selector/index.tsx
#	x-pack/plugins/cases/public/components/configure_cases/index.tsx
#	x-pack/plugins/cases/public/components/create/form_context.tsx
#	x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx
#	x-pack/plugins/data_visualizer/public/application/index_data_visualizer/hooks/esql/use_esql_overall_stats_data.ts
#	x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.ts
#	x-pack/plugins/lens/public/app_plugin/app.tsx
#	x-pack/plugins/lens/public/app_plugin/shared/edit_on_the_fly/lens_configuration_flyout.tsx
#	x-pack/plugins/lens/public/visualizations/partition/dimension_editor.tsx
#	x-pack/plugins/lens/public/visualizations/partition/toolbar.tsx
#	x-pack/plugins/observability_solution/infra/public/alerting/inventory/components/metric.tsx
#	x-pack/plugins/observability_solution/infra/public/components/logging/log_analysis_setup/initial_configuration_step/analysis_setup_indices_form.tsx
#	x-pack/plugins/observability_solution/infra/public/components/logging/log_highlights_menu.tsx
#	x-pack/plugins/observability_solution/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/custom_metric_form.tsx
#	x-pack/plugins/observability_solution/logs_shared/public/components/log_stream/log_stream.tsx
#	x-pack/plugins/observability_solution/logs_shared/public/index.ts
#	x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx
#	x-pack/plugins/security_solution/public/common/components/guided_onboarding_tour/tour_step.tsx
#	x-pack/plugins/security_solution/public/common/components/markdown_editor/plugins/timeline/plugin.tsx
#	x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/execution_log_table/execution_log_table.tsx
#	x-pack/plugins/security_solution/public/explore/hosts/components/uncommon_process_table/index.tsx
#	x-pack/plugins/security_solution/public/flyout/document_details/left/components/host_details.tsx
#	x-pack/plugins/security_solution/public/flyout/document_details/left/components/user_details.tsx
#	x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_host_isolation.tsx
#	x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.tsx
#	x-pack/plugins/security_solution/public/timelines/components/open_timeline/use_timeline_types.tsx
#	x-pack/plugins/security_solution/public/timelines/components/side_panel/host_details/expandable_host.tsx
#	x-pack/plugins/security_solution/public/timelines/components/side_panel/network_details/expandable_network.tsx
#	x-pack/plugins/security_solution/public/timelines/components/side_panel/user_details/expandable_user.tsx
#	x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.tsx
#	x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/es_query_expression.tsx
#	x-pack/test/security_solution_cypress/cypress/e2e/entity_analytics/entity_analytics_management_page.cy.ts
@Dosant Dosant closed this Aug 27, 2024
patrykkopycinski pushed a commit that referenced this pull request Jan 23, 2025
## Summary

Extracted from elastic#206411
[[job]](https://buildkite.com/elastic/kibana-pull-request/builds/267344#019469ff-7fb9-4c5d-8569-2e445aab27be)
[[logs]](https://buildkite.com/organizations/elastic/pipelines/kibana-pull-request/builds/267344/jobs/019469ff-7fb9-4c5d-8569-2e445aab27be/artifacts/01946a1c-62fa-4d30-8863-1b40f8c0b924)
Jest Tests #9 / Overview renders correctly when there is no user data
view
This simplifies overview.tsx by refactoring to rtl and removing the
whole snapshot. The snapshot was not useful and the test is still making
sure that the intended component is still rendered. By removing enzyme,
the test now works properly for both react 17 and 18.
patrykkopycinski pushed a commit that referenced this pull request Feb 26, 2025
…lastic#206916)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[React@18] Refactor overview.tsx test to rtl
(elastic#206805)](elastic#206805)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Anton
Dosov","email":"anton.dosov@elastic.co"},"sourceCommit":{"committedDate":"2025-01-16T09:57:55Z","message":"[React@18]
Refactor overview.tsx test to rtl (elastic#206805)\n\n##
Summary\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/206411\r\n[[job]](https://buildkite.com/elastic/kibana-pull-request/builds/267344#019469ff-7fb9-4c5d-8569-2e445aab27be)\r\n[[logs]](https://buildkite.com/organizations/elastic/pipelines/kibana-pull-request/builds/267344/jobs/019469ff-7fb9-4c5d-8569-2e445aab27be/artifacts/01946a1c-62fa-4d30-8863-1b40f8c0b924)\r\nJest
Tests #9 / Overview renders correctly when there is no user
data\r\nview\r\nThis simplifies overview.tsx by refactoring to rtl and
removing the\r\nwhole snapshot. The snapshot was not useful and the test
is still making\r\nsure that the intended component is still rendered.
By removing enzyme,\r\nthe test now works properly for both react 17 and
18.","sha":"bdcad52cd8d1569590107a43e3bea7cf25164af9","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:SharedUX","backport:prev-minor","React@18"],"title":"[React@18]
Refactor overview.tsx test to
rtl","number":206805,"url":"https://github.com/elastic/kibana/pull/206805","mergeCommit":{"message":"[React@18]
Refactor overview.tsx test to rtl (elastic#206805)\n\n##
Summary\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/206411\r\n[[job]](https://buildkite.com/elastic/kibana-pull-request/builds/267344#019469ff-7fb9-4c5d-8569-2e445aab27be)\r\n[[logs]](https://buildkite.com/organizations/elastic/pipelines/kibana-pull-request/builds/267344/jobs/019469ff-7fb9-4c5d-8569-2e445aab27be/artifacts/01946a1c-62fa-4d30-8863-1b40f8c0b924)\r\nJest
Tests #9 / Overview renders correctly when there is no user
data\r\nview\r\nThis simplifies overview.tsx by refactoring to rtl and
removing the\r\nwhole snapshot. The snapshot was not useful and the test
is still making\r\nsure that the intended component is still rendered.
By removing enzyme,\r\nthe test now works properly for both react 17 and
18.","sha":"bdcad52cd8d1569590107a43e3bea7cf25164af9"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206805","number":206805,"mergeCommit":{"message":"[React@18]
Refactor overview.tsx test to rtl (elastic#206805)\n\n##
Summary\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/206411\r\n[[job]](https://buildkite.com/elastic/kibana-pull-request/builds/267344#019469ff-7fb9-4c5d-8569-2e445aab27be)\r\n[[logs]](https://buildkite.com/organizations/elastic/pipelines/kibana-pull-request/builds/267344/jobs/019469ff-7fb9-4c5d-8569-2e445aab27be/artifacts/01946a1c-62fa-4d30-8863-1b40f8c0b924)\r\nJest
Tests #9 / Overview renders correctly when there is no user
data\r\nview\r\nThis simplifies overview.tsx by refactoring to rtl and
removing the\r\nwhole snapshot. The snapshot was not useful and the test
is still making\r\nsure that the intended component is still rendered.
By removing enzyme,\r\nthe test now works properly for both react 17 and
18.","sha":"bdcad52cd8d1569590107a43e3bea7cf25164af9"}}]}] BACKPORT-->

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
patrykkopycinski added a commit that referenced this pull request Mar 20, 2026
This establishes the structure for advanced evaluation capabilities
ported from cursor-plugin-evals and serves as the home for Phases 3-5
of the evals roadmap.

## Architecture

The package is designed to be completely independent from @kbn/evals:

```
Evaluation Suites
     ├──> @kbn/evals (core)
     └──> @kbn/evals-extensions (advanced features)
              └──> depends on @kbn/evals
```

**Dependency Rule:**
- ✅ kbn-evals-extensions CAN import from kbn-evals
- ❌ kbn-evals MUST NOT import from kbn-evals-extensions

## This PR

**What's included:**
- Package structure (package.json, kibana.jsonc, tsconfig.json)
- Placeholder exports (no functional changes)
- Test infrastructure (5 passing tests)
- Comprehensive documentation

**What's NOT included:**
- No functional features (placeholder exports only)
- No changes to @kbn/evals package
- No changes to evaluation suite behavior

## Validation

✅ Bootstrap completed successfully
✅ Type check passed
✅ All tests passing (5/5)
✅ ESLint passed
✅ No circular dependencies
✅ check_changes.ts passed

## Roadmap

This foundation enables parallel development of:
- PR #2: Cost tracking & metadata enrichment
- PR #3: Dataset management utilities
- PR #4: Safety evaluators (toxicity, PII, bias, etc.)
- PR #5: UI components (run comparison, example explorer)
- PR #6: DX enhancements (watch mode, caching, parallel)
- PR #7: Advanced analytics
- PR #8: A/B testing & active learning
- PR #9: Human-in-the-loop workflows
- PR elastic#10: IDE integration

## Related Issues

- Closes part of elastic#257821 (Epic: Extend @kbn/evals)
- Enables elastic#257823 (Phase 2: CI Quality Gates)
- Enables elastic#257824 (Phase 3: Red-Teaming)
- Enables elastic#257825 (Phase 4: Lens Dashboards)
- Enables elastic#257826 (Phase 5: Auto-Generation)
- Addresses elastic#255820 (kbn/evals <-> Agent Builder completeness)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
patrykkopycinski added a commit that referenced this pull request Mar 21, 2026
…, extract constants

CRITICAL #2: Delete semantic_dedup_elser.ts (always returned null), document Phase 2
HIGH #4: Create fetchAlertsByIds() utility - eliminates 45 lines of duplication
HIGH #6: Add fail-fast bulk error handling - throws on >50% failures, warns on >10%
MEDIUM #8: Extract PIPELINE_LIMITS constants - single source of truth
MEDIUM #9: Verified no emoji in logs (already clean)

Progress: 5/12 deep review issues fixed
Tests: 62/62 passing
Types: No errors
patrykkopycinski added a commit that referenced this pull request Mar 27, 2026
…, extract constants

CRITICAL #2: Delete semantic_dedup_elser.ts (always returned null), document Phase 2
HIGH #4: Create fetchAlertsByIds() utility - eliminates 45 lines of duplication
HIGH #6: Add fail-fast bulk error handling - throws on >50% failures, warns on >10%
MEDIUM #8: Extract PIPELINE_LIMITS constants - single source of truth
MEDIUM #9: Verified no emoji in logs (already clean)

Progress: 5/12 deep review issues fixed
Tests: 62/62 passing
Types: No errors
patrykkopycinski added a commit that referenced this pull request Mar 30, 2026
…, extract constants

CRITICAL #2: Delete semantic_dedup_elser.ts (always returned null), document Phase 2
HIGH #4: Create fetchAlertsByIds() utility - eliminates 45 lines of duplication
HIGH #6: Add fail-fast bulk error handling - throws on >50% failures, warns on >10%
MEDIUM #8: Extract PIPELINE_LIMITS constants - single source of truth
MEDIUM #9: Verified no emoji in logs (already clean)

Progress: 5/12 deep review issues fixed
Tests: 62/62 passing
Types: No errors
patrykkopycinski pushed a commit that referenced this pull request Apr 2, 2026
Closes elastic#258318
Closes elastic#258319

## Summary

Adds logic to the alert episodes table to display `.alert_actions`
information.

This includes:
- New action-specific API paths.
- Snooze
  - **Per group hash.**
- Button in the actions column opens a popover where an `until` can be
picked.
  - **When snoozed**
    - A bell shows up in the status column.
- Mouse over the bell icon to see until when the snooze is in effect.
- Unsnooze
  - **Per group hash.**
  - Clicking the button removes the snooze.
- Ack/Unack
  - **Per episode.**
  - Button in the actions column
  - When "acked", an icon shows in the status column.
- Tags
- This PR only handles displaying tags. They need to be created via API.
- Resolve/Unresolve
  - **Per group hash.**
  - Button inside the ellipsis always
- The status is turned to `inactive` **regardless of the "real"
status.**

<img width="1704" height="672" alt="Screenshot 2026-03-25 at 16 04 12"
src="https://github.com/user-attachments/assets/5ef4111a-6e0c-4114-a60e-ce5f81a86ac6"
/>


## Testing


<details> <summary>POST mock episodes</summary>

```
POST _bulk
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:00:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:01:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:02:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:03:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:04:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:05:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:06:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-001", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:07:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:08:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:09:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:10:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:11:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:12:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:13:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-2", "episode": { "id": "ep-002", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-1", "episode": { "id": "ep-003", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-4", "episode": { "id": "ep-004", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-4", "episode": { "id": "ep-004", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-4", "episode": { "id": "ep-004", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:19:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-4", "episode": { "id": "ep-004", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-5", "episode": { "id": "ep-005", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:22:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-5", "episode": { "id": "ep-005", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-9", "episode": { "id": "ep-006", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-9", "episode": { "id": "ep-006", "status": "active" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:26:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-1" }, "group_hash": "gh-9", "episode": { "id": "ep-006", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:14:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "gh-7", "episode": { "id": "ep-007", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:15:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-2" }, "group_hash": "gh-7", "episode": { "id": "ep-007", "status": "inactive" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:16:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "gh-8", "episode": { "id": "ep-008", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:17:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "gh-8", "episode": { "id": "ep-008", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:18:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-3" }, "group_hash": "gh-8", "episode": { "id": "ep-008", "status": "recovering" }, "status": "recovered" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:20:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "gh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:21:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-4" }, "group_hash": "gh-9", "episode": { "id": "ep-009", "status": "pending" }, "status": "no_data" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:23:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "pending" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:24:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "breached" }
{ "create": { "_index": ".rule-events" }}
{ "@timestamp": "2026-01-27T16:25:00.000Z", "source": "internal", "type": "alert", "rule": { "id": "rule-5" }, "group_hash": "elasticgh-10", "episode": { "id": "ep-010", "status": "active" }, "status": "no_data" }
```

</details>

- In the POST above, episodes 1 and 3, and episodes 6 and 9 have the
same group hashes.
- Go to `https://localhost:5601/app/observability/alerts-v2` and try all
buttons.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.