Commit graph

3252 commits

Author SHA1 Message Date
Nikita Indik
e5a6b978b8
[Security Solution] JSON diff view for prebuilt rule upgrade flow (#172535)
## Summary

**Resolves: https://github.com/elastic/kibana/issues/169160**
**Resolves: https://github.com/elastic/kibana/issues/166164**
**Docs issue: https://github.com/elastic/security-docs/issues/4371**

This PR adds a new "Updates" tab to the prebuilt rules upgrade flyout.
This tab shows a diff between the installed and updated rule JSON
representations.

<img width="1313" alt="Scherm­afbeelding 2023-12-05 om 02 48 37"
src="ec0f95c6-22c6-4ce6-a6cc-0ceee974c6f7">



### Checklist

Delete any items that are not applicable to this PR.

- [x] 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)
- [x] Functional changes are communicated to the Docs team. A ticket or
PR is opened in https://github.com/elastic/security-docs. The following
information is included: any feature flags used, affected environments
(Serverless, ESS, or both). ([Docs
issue](https://github.com/elastic/security-docs/issues/4371))
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials ([Docs
issue](https://github.com/elastic/security-docs/issues/4371))
- [ ] [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 (will be added
in a follow-up PR)
- [ ] Functional changes are covered with a test plan and automated
tests (will be added in a follow-up PR)
- [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 renders correctly on smaller devices using a responsive
layout. (Doesn't look great on phone screen, because viewing diff
requires a lot of horizontal space. Tablets are fine though.)
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
- [x] Functional changes are hidden behind a feature flag. If not
hidden, the PR explains why these changes are being implemented in a
long-living feature branch.
- [x] Comprehensive manual testing is done by two engineers: the PR
author and one of the PR reviewers. Changes are tested in both ESS and
Serverless.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Georgii Gorbachev <georgii.gorbachev@elastic.co>
2023-12-08 16:16:42 +01:00
Jeramy Soucy
835d4aff4c
Implements Encrypted Saved Objects Model Version API (#166302)
Closes #161002
Closes #170073

## Summary

This PR implements a createModelVersion API in the Encrypted Saved
Objects plugin to support upward migrations for model version encrypted
saved objects.

Much like how the `createMigration` API provided a way to wrap migration
functions to support migration of encrypted saved objects prior to the
model version paradigm, the new `createModelVersion` API provides a way
to wrap a model version definition for the same purpose.

`createModelVersion` manipulates the changes defined for a model version
('unsafe_transform', 'data_backfill', 'data_removal'), merging them into
a single transform function in which the saved object document is
decrypted, transformed, and then encrypted again. The document is
decrypted with the `encrypted saved object type registration` provided
by the required `inputType` parameter. Similarly, the document is by
encrypted with the `encrypted saved object type registration` provided
by the required `outputType` parameter.

An example plugin (`examples/eso_model_version_example`) provides a
demonstration of how the createModelVersion API should be used. The UI
of the example plugin gives an idea of what the encrypted saved objects
look like before and after the model version changes are applied.

## Testing

### Manual Testing
- Modify the example plugin implementation in
`examples/eso_model_version_example` to include different changes or
additional model versions.

### Unit Tests
-
`x-pack/plugins/encrypted_saved_objects/server/create_model_version.test.ts`

### Functional Tests
-
`x-pack/test/encrypted_saved_objects_api_integration/tests/encrypted_saved_objects_api.ts`
-
`x-pack/test/encrypted_saved_objects_api_integration/tests/encrypted_saved_objects_decryption.ts`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-07 16:01:29 -05:00
Marco Vettorello
f6840055d4
[Lens] Fix tooltip size and partition rerendering (#172802)
## Summary

fix https://github.com/elastic/kibana/issues/171408
improves the style of tooltip by enlarging its size see
https://github.com/elastic/elastic-charts/issues/2048
2023-12-07 14:55:24 -06:00
Nathan Reese
bb84e24637
@kbn/search-errors package (#171563)
Part of https://github.com/elastic/kibana/issues/171570

PR breaks EsError out of data plugin and into @kbn/search-errors
package. This will allow for future efforts to move [lens error
handing](https://github.com/elastic/kibana/blob/main/x-pack/plugins/lens/public/editor_frame_service/error_helper.tsx)
into this package and more closely align error handling across kibana.

An unplanned part of this PR was moving `BfetchRequestError` into its
own package `@kbn/bfetch`. This is required because `@kbn/search-errors`
package can not import code from a plugin. `BfetchRequestError` could
not be part of `@kbn/search-errors` because that created a circular
dependency graph.

Another unexpected problem found while working on this PR is that the
package had to be included in `ui-shared-deps`. The reason for this is
that `renderSearchError` uses `instanceof EsError` check to determine if
an error is an EsError. This check failed when the package was not
included in `ui-shared-deps` because each plugin got its own copy of
`kbn/search-error` plugin. This meant that `data` plugin had its own
copy of `EsError` class when the error is generated, then `discover`
plugin had its own copy of `EsError` class when the instanceof check
occurs. `instanceof` check unexpectedly returned false in this case.
Moving plugin to `ui-shared-deps` results in a single instance of the
plugin. Thanks @mistic for the help with moving package into
`ui-shared-deps`

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2023-12-07 10:39:19 -07:00
Tiago Costa
7b36df7208
chore(NA): bump version to 8.13.0 (#172747)
Usually bump from 8.12.0 to 8.13.0

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-12-07 05:00:04 +00:00
Andrew Macri
3f0fa7d245
[Security Solution] [Elastic AI Assistant] Retrieval Augmented Generation (RAG) for Alerts (#172542)
## [Security Solution] [Elastic AI Assistant] Retrieval Augmented Generation (RAG) for Alerts

This PR implements _Retrieval Augmented Generation_ (RAG) for Alerts in the Security Solution. This feature enables users to ask the assistant questions about the latest and riskiest open alerts in their environment using natural language, for example:

- _How many alerts are currently open?_
- _Which alerts should I look at first?_
- _Did we have any alerts with suspicious activity on Windows machines?_

### More context

Previously, the assistant relied solely on the knowledge of the configured LLM and _singular_ alerts or events passed _by the client_ to the LLM as prompt context. This new feature:

- Enables _multiple_ alerts to be passed by the _server_ as context to the LLM, via [LangChain tools](https://github.com/elastic/kibana/pull/167097)
- Applies the user's [anonymization](https://github.com/elastic/kibana/pull/159857) settings to those alerts
  - Only fields allowed by the user will be sent as context to the LLM
  - Users may enable or disable anonymization for specific fields (via settings)
  - Click the conversation's `Show anonymized` toggle to see the anonymized values sent to / received from the LLM:
  ![show_anonymized](7db85f69-9352-4422-adbf-c97248ccb3dd)

### Settings

This feature is enabled and configured via the `Knowledge Base` > `Alerts` settings in the screenshot below:
![rag_on_alerts_setting](9161b6d4-b7c3-4f37-bcde-f032f5a02966)

- The `Alerts` toggle enables or disables the feature
- The slider has a range of `10` - `100` alerts (default: `20`)

When the setting above is enabled, up to `n` alerts (as determined by the slider) that meet the following criteria will be returned:

- the `kibana.alert.workflow_status` must be `open`
- the alert must have been generated in the last `24 hours`
- the alert must NOT be a `kibana.alert.building_block_type` alert
- the `n` alerts are ordered by `kibana.alert.risk_score`, to prioritize the riskiest alerts

### Feature flag

To use this feature:

1) Add the `assistantRagOnAlerts` feature flag to the `xpack.securitySolution.enableExperimental` setting in `config/kibana.yml` (or `config/kibana.dev.yml` in local development environments), per the example below:

```
xpack.securitySolution.enableExperimental: ['assistantRagOnAlerts']
```

2) Enable the `Alerts` toggle in the Assistant's `Knowledge Base` settings, per the screenshot below:

![alerts_toggle](07f241ea-af4a-43a4-bd19-0dc6337db167)

## How it works

- When the `Alerts` settings toggle is enabled, http `POST` requests to the `/internal/elastic_assistant/actions/connector/{id}/_execute` route include the following new (optional) parameters:
  - `alertsIndexPattern`, the alerts index for the current Kibana Space, e.g. `.alerts-security.alerts-default`
  - `allow`, the user's `Allowed` fields in the `Anonymization` settings, e.g.  `["@timestamp", "cloud.availability_zone", "file.name", "user.name", ...]`
  - `allowReplacement`, the user's `Anonymized` fields in the `Anonymization` settings, e.g. `["cloud.availability_zone", "host.name", "user.name", ...]`
  - `replacements`, a `Record<string, string>` of replacements (generated on the server) that starts empty for a new conversation, and accumulates anonymized values until the conversation is cleared, e.g.

```json
"replacements": {
    "e4f935c0-5a80-47b2-ac7f-816610790364": "Host-itk8qh4tjm",
    "cf61f946-d643-4b15-899f-6ffe3fd36097": "rpwmjvuuia",
    "7f80b092-fb1a-48a2-a634-3abc61b32157": "6astve9g6s",
    "f979c0d5-db1b-4506-b425-500821d00813": "Host-odqbow6tmc",
    // ...
},
```

- `size`, the numeric value set by the slider in the user's `Knowledge Base > Alerts` setting, e.g. `20`

- The `postActionsConnectorExecuteRoute` function in `x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts` was updated to accept the new optional parameters, and to return an updated `replacements` with every response. (Every new request that is processed on the server may add additional anonymized values to the `replacements` returned in the response.)

- The `callAgentExecutor` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts` previously used a hard-coded array of LangChain tools that had just one entry, for the `ESQLKnowledgeBaseTool` tool. That hard-coded array was replaced in this PR with a call to the (new) `getApplicableTools` function:

```typescript
  const tools: Tool[] = getApplicableTools({
    allow,
    allowReplacement,
    alertsIndexPattern,
    assistantLangChain,
    chain,
    esClient,
    modelExists,
    onNewReplacements,
    replacements,
    request,
    size,
  });
```

- The `getApplicableTools` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/tools/index.ts` examines the parameters in the `KibanaRequest` and only returns a filtered set of LangChain tools. If the request doesn't contain all the parameters required by a tool, it will NOT be returned by `getApplicableTools`. For example, if the required anonymization parameters are not included in the request, the `open-alerts` tool will not be returned.

- The new `alert-counts` LangChain tool returned by the `getAlertCountsTool` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_tool.ts` provides the LLM the results of an aggregation on the last `24` hours of alerts (in the current Kibana Space), grouped by `kibana.alert.severity`. See the `getAlertsCountQuery` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/tools/alert_counts/get_alert_counts_query.ts` for details

- The new `open-alerts` LangChain tool returned by the `getOpenAlertsTool` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_tool.ts` provides the LLM up to `size` non-building-block alerts generated in the last `24` hours  (in the current Kibana Space) with an `open` workflow status, ordered by `kibana.alert.risk_score` to prioritize the riskiest alerts. See the `getOpenAlertsQuery` function in `x-pack/plugins/elastic_assistant/server/lib/langchain/tools/open_alerts/get_open_alerts_query.ts` for details.

- On the client, a conversation continues to accumulate additional `replacements` (and send them in subsequent requests) until the conversation is cleared

- Anonymization functions that were only invoked by the browser were moved from the (browser) `kbn-elastic-assistant` package in `x-pack/packages/kbn-elastic-assistant/` to a new common package: `x-pack/packages/kbn-elastic-assistant-common`
  - The new `kbn-elastic-assistant-common` package is also consumed by the `elastic_assistant` (server) plugin: `x-pack/plugins/elastic_assistant`
2023-12-06 00:56:04 -05:00
Coen Warmer
7d990cf749
AI Assistant Management Plugin + Knowledge Base Management (#171933)
## Summary

This PR adds a bunch of plugins to help manage AI Assistant Management
settings.

It offers a 'selection' plugin inside Stack Management where a user can
select which AI Assistant she wants to manage.
The Security team can hook into this one, so settings for both AI
Assistants can be accessed from inside one place inside Stack
Management.

This PR also adds the plugin to manage settings for the AI Assistant for
Observability, including Knowledge Base management. This plugin is
available both in Stack Management (stateful) and Project Settings
(serverless).

## What it looks like

51392ec5-05c9-4947-9bf2-810d8d0b7525


## Detailed
1. **Adds a Stack Management plugin**
(`/src/plugins/ai_assistant_management/selection`). Its primary function
is to render a selection screen to help users navigate to the settings
plugin for the AI Assistant for a specific solution. This plugin is
displayed in Stack Management, which is only available in stateful
versions of Kibana.

2. **Adds a AI Assistant for Observability Settings plugin**
(`/src/plugins/ai_assistant_management/observability`). This plugin
allows management of specific Observability AI Assistant settings. It is
available in stateful versions of Kibana (via the aforementioned Stack
Management plugin) or in serverless versions via Project Management.

3. **Knowledge Base management for Observability AI Assistant**: The AI
Assistant for Observability Settings plugin has a Knowledge Base tab,
which allows users to add / read / update / delete and bulk import
entries into the Knowledge Base of the Observability AI Assistant.

4. **Moving of KB endpoints in Observability AI Assistant plugin**: KB
endpoints and functions were located in the same folder. As this PR adds
new endpoints for the KB for CRUD operations, it also moves the existing
ones from the function folder into a dedicated one so there's a clearer
distinction between kb and functions.

5. **Adding of GenAI Connector inside Chat Flyout**: If the user has
admin rights, it is possible to set up a GenAI connector from within the
Observability AI Assistant Chat Flyout. This provides a faster and more
seamless onboarding experience. If the user does not, she will be
redirected to the Settings page.

## Bug fixes
* Fixes chat item styling issues (padding, background color).

## How to test
* Check if the Stack Management plugin works on stateful
* Check if the AI Assistant Settings plugin works on stateful +
serverless
* Check if CRUD operations on KB work
* Check if searching on KB entries work
* Check if its possible to navigate to KB tab directly
(`app/management/kibana/aiAssistantManagementObservability?tab=knowledge_base`)


## Todo
- [x] Add sorting to getEntries
- [x] Add params for tab routing
- [x] Add unit tests
- [ ] Add API tests
- [ ] Add fallback for already indexed entries when searching

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-05 16:07:52 -06:00
Eyo O. Eyo
5d85f655b0
Puppeteer update v21.5.2 (#172332)
## Summary

This PR updates puppeteer to v21.5.2. 

Also the hashing Algorithm for verifying the accompanying chromium
binaries required for chromium has been switched from md5 to sha1, to be
FIPS compliant.

<!-- 
### 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)
-->
2023-12-05 16:45:51 +01:00
Saarika Bhasi
7ecd525a02
[Search] Move enterprise_search index documents to common package (#172211)
This PR: 
* extracts `enterprise_search` index documents component to common
package.
* Uses EUI pagination, converting Elasticsearch`from` & `size` to EUI
pagination standard for documents list


### Screen Recording


f585d9cc-f92c-44f4-aead-23c75c107a0f


### Checklist

Delete any items that are not applicable to this PR.

- [x] 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)
- [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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-05 10:33:15 -05:00
Patryk Kopyciński
2d0f99c59c
SentinelOne manual host isolation/release in Alert details (#168441)
## Summary

Add possibility to Isolate/Release SentinelOne host from Alert details
flyout.
Add support for displaying S1 Agent status in UI.
Add an experimental flag to S1 Connector.
Rename S1 connector actions from `Agent` to `Host`
Add a feature flag to security_solution to control enrollment of this
feature.
Update parallel script to support all FTR config options
Add `cypress-data-session` plugin to allow better caching of test data
(mostly for Dev experience)

Testing instruction:
1. Ensure you have 
2. From root Kibana folder run
https://p.elstc.co/paste/URVrCEcR#aG1X9p3BMCRUDY+IzfIg5mGomcTGxwkYO6RGxSIAyWz
3. In Cypress run
```x-pack/plugins/security_solution/public/management/cypress/e2e/sentinelone/isolate.cy.ts```
4. 💚 

<img width="2375" alt="Zrzut ekranu 2023-11-15 o 12 38 27"
src="c7ddc20e-9944-452c-b739-fa2d9fbf072b">
<img width="2374" alt="Zrzut ekranu 2023-11-15 o 12 38 32"
src="ab3ced14-0a5c-4f40-a92e-844feb849bb4">
<img width="2370" alt="Zrzut ekranu 2023-11-15 o 12 38 38"
src="96ccd237-56a6-449e-979d-f4fe8ffbe048">
<img width="2373" alt="Zrzut ekranu 2023-11-15 o 12 38 46"
src="924013aa-79ef-405b-ae73-139cf0644ebf">
<img width="2374" alt="Zrzut ekranu 2023-11-15 o 12 39 17"
src="e1ff5b05-8b80-40a9-84b1-dd21bf9e059c">
<img width="2374" alt="Zrzut ekranu 2023-11-15 o 12 39 58"
src="15fc5d36-970f-47cb-ae2f-f8a19628e6f4">
<img width="2374" alt="Zrzut ekranu 2023-11-15 o 12 40 03"
src="5860a0c9-a6e5-43b9-b37d-aa68e4e71f26">
<img width="2373" alt="Zrzut ekranu 2023-11-15 o 12 40 09"
src="5e2c5d41-c96a-4c32-8d51-a8408efea8e3">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-05 09:16:55 +01:00
Jiawei Wu
e4805fc9e0
[RAM][Maintenance Window] Maintenance window scoped query frontend changes (#171949)
## Summary
Partially resolves: https://github.com/elastic/kibana/issues/164255,
this is 2/3 of the scoped query changes.

Maintenance window scoped query frontend changes. Adds the ability to
add and edit scoped query for maintenance windows. Due to limitations
with the alerts search bar and each solution fetches AAD fields, we only
allow users to associate scoped query with 1 category (manangement,
o11y, or security solution). The intended usage in this case is for the
user to create multiple maintenance windows if they wish to apply scoped
queries to multiple solutions.

### To test:
go to
`x-pack/plugins/alerting/public/pages/maintenance_windows/constants.ts`
and set `IS_SCOPED_QUERY_ENABLED` to `true`

### Scoped query off, multiple category allowed:

![image](dbf03e8e-f9bd-449c-8d23-0b474fe5a9c4)

### Scoped query on, multiple category disallowed:

![image](368f954a-7671-410b-839b-77f0420f26fa)

### 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: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-12-04 15:18:33 -08:00
Tim Sullivan
f044bcccdb
[shared-ux] no-data analytics page package code cleanup (#172416)
## Summary

1. Update "type" in kibana.jsonc files where applicable for improvement
to developer experience.
2. Create `@kbn/content-management-table-list-view-table-common` package
and update imports

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-04 13:07:59 -07:00
Cee Chen
1bde757797
Upgrade EUI to latest 8.12 FF backport (#172426)
`v90.0.1``v90.0.1-backport.0`

Backport/bugfix for #172261

---

##
[`v90.0.1-backport.0`](https://github.com/elastic/eui/releases/v90.0.1-backport.0)

**This is a backport release only intended for use by Kibana.**

**Bug fixes**

- Fixed a bug with `EuiSelectable`s with custom `truncationProps`, where
scrollbar widths were not being accounted for
([#7392](https://github.com/elastic/eui/pull/7392))
2023-12-04 07:34:45 -06:00
renovate[bot]
eac36e8024
Update ftr (main) (#172237)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/chromedriver](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chromedriver)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`^81.0.2` ->
`^81.0.5`](https://renovatebot.com/diffs/npm/@types%2fchromedriver/81.0.2/81.0.5)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fchromedriver/81.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fchromedriver/81.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fchromedriver/81.0.2/81.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fchromedriver/81.0.2/81.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/selenium-webdriver](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/selenium-webdriver)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`^4.1.13` ->
`^4.1.20`](https://renovatebot.com/diffs/npm/@types%2fselenium-webdriver/4.1.13/4.1.20)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fselenium-webdriver/4.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fselenium-webdriver/4.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fselenium-webdriver/4.1.13/4.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fselenium-webdriver/4.1.13/4.1.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[geckodriver](https://togithub.com/webdriverio-community/node-geckodriver)
| [`^4.0.0` ->
`^4.2.1`](https://renovatebot.com/diffs/npm/geckodriver/4.0.0/4.2.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/geckodriver/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/geckodriver/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/geckodriver/4.0.0/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/geckodriver/4.0.0/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[selenium-webdriver](https://togithub.com/SeleniumHQ/selenium/tree/trunk/javascript/node/selenium-webdriver#readme)
([source](https://togithub.com/SeleniumHQ/selenium)) | [`^4.9.1` ->
`^4.15.0`](https://renovatebot.com/diffs/npm/selenium-webdriver/4.9.1/4.15.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/selenium-webdriver/4.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/selenium-webdriver/4.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/selenium-webdriver/4.9.1/4.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/selenium-webdriver/4.9.1/4.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>webdriverio-community/node-geckodriver (geckodriver)</summary>

###
[`v4.2.1`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.2.1):
Release 4.2.1

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.2.0...v4.2.1)

- Bump [@&#8203;types/unzipper](https://togithub.com/types/unzipper)
from 0.10.6 to 0.10.7
([#&#8203;218](https://togithub.com/webdriverio-community/node-geckodriver/issues/218))
([`949ad67`](949ad67))
- Fix bug when specifying customGeckoDriverPath
([#&#8203;222](https://togithub.com/webdriverio-community/node-geckodriver/issues/222))
([`345f3f9`](345f3f9))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.5.0 to 6.6.0
([#&#8203;228](https://togithub.com/webdriverio-community/node-geckodriver/issues/228))
([`f16458d`](f16458d))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.5.9
to 20.6.0
([#&#8203;225](https://togithub.com/webdriverio-community/node-geckodriver/issues/225))
([`6a40638`](6a40638))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.5.0 to 6.6.0
([#&#8203;224](https://togithub.com/webdriverio-community/node-geckodriver/issues/224))
([`17f183e`](17f183e))
- Bump eslint from 8.48.0 to 8.49.0
([#&#8203;229](https://togithub.com/webdriverio-community/node-geckodriver/issues/229))
([`77c13f5`](77c13f5))
- Bump https-proxy-agent from 7.0.1 to 7.0.2
([#&#8203;227](https://togithub.com/webdriverio-community/node-geckodriver/issues/227))
([`0d1dfb3`](0d1dfb3))
- Bump vitest from 0.34.3 to 0.34.4
([#&#8203;226](https://togithub.com/webdriverio-community/node-geckodriver/issues/226))
([`c59f558`](c59f558))
- Bump webdriverio from 8.16.3 to 8.16.6
([#&#8203;223](https://togithub.com/webdriverio-community/node-geckodriver/issues/223))
([`107941c`](107941c))
- Bump webdriverio from 8.15.9 to 8.16.3
([#&#8203;217](https://togithub.com/webdriverio-community/node-geckodriver/issues/217))
([`efe7247`](efe7247))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.4.1 to 6.5.0
([#&#8203;221](https://togithub.com/webdriverio-community/node-geckodriver/issues/221))
([`13c0430`](13c0430))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.4.1 to 6.5.0
([#&#8203;219](https://togithub.com/webdriverio-community/node-geckodriver/issues/219))
([`f35d697`](f35d697))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.5.7
to 20.5.9
([#&#8203;220](https://togithub.com/webdriverio-community/node-geckodriver/issues/220))
([`25efec0`](25efec0))
- Bump which from 3.0.1 to 4.0.0
([#&#8203;216](https://togithub.com/webdriverio-community/node-geckodriver/issues/216))
([`9554f02`](9554f02))
- Bump webdriverio from 8.15.4 to 8.15.9
([#&#8203;215](https://togithub.com/webdriverio-community/node-geckodriver/issues/215))
([`c2a4603`](c2a4603))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.5.1
to 20.5.7
([#&#8203;214](https://togithub.com/webdriverio-community/node-geckodriver/issues/214))
([`08221d4`](08221d4))
- Bump typescript from 5.1.6 to 5.2.2
([#&#8203;210](https://togithub.com/webdriverio-community/node-geckodriver/issues/210))
([`60abd52`](60abd52))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.4.0 to 6.4.1
([#&#8203;213](https://togithub.com/webdriverio-community/node-geckodriver/issues/213))
([`e3bfa8a`](e3bfa8a))
- Bump vitest from 0.34.2 to 0.34.3
([#&#8203;212](https://togithub.com/webdriverio-community/node-geckodriver/issues/212))
([`454e256`](454e256))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.4.0 to 6.4.1
([#&#8203;211](https://togithub.com/webdriverio-community/node-geckodriver/issues/211))
([`9642c85`](9642c85))
- Bump eslint from 8.47.0 to 8.48.0
([#&#8203;209](https://togithub.com/webdriverio-community/node-geckodriver/issues/209))
([`07e67dd`](07e67dd))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.5.0
to 20.5.1
([#&#8203;208](https://togithub.com/webdriverio-community/node-geckodriver/issues/208))
([`abb7417`](abb7417))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.3.0 to 6.4.0
([#&#8203;207](https://togithub.com/webdriverio-community/node-geckodriver/issues/207))
([`f193a4d`](f193a4d))
- Bump vitest from 0.34.1 to 0.34.2
([#&#8203;206](https://togithub.com/webdriverio-community/node-geckodriver/issues/206))
([`384fa35`](384fa35))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.3.0 to 6.4.0
([#&#8203;205](https://togithub.com/webdriverio-community/node-geckodriver/issues/205))
([`3bc59b6`](3bc59b6))
- Bump eslint-plugin-import from 2.28.0 to 2.28.1
([#&#8203;203](https://togithub.com/webdriverio-community/node-geckodriver/issues/203))
([`691b064`](691b064))
- Bump webdriverio from 8.14.6 to 8.15.4
([#&#8203;204](https://togithub.com/webdriverio-community/node-geckodriver/issues/204))
([`cec7c0f`](cec7c0f))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.2.1 to 6.3.0
([#&#8203;200](https://togithub.com/webdriverio-community/node-geckodriver/issues/200))
([`81c54c1`](81c54c1))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.2.1 to 6.3.0
([#&#8203;202](https://togithub.com/webdriverio-community/node-geckodriver/issues/202))
([`83d1cca`](83d1cca))
- Bump eslint from 8.46.0 to 8.47.0
([#&#8203;197](https://togithub.com/webdriverio-community/node-geckodriver/issues/197))
([`a4067d7`](a4067d7))
- Bump webdriverio from 8.14.3 to 8.14.6
([#&#8203;201](https://togithub.com/webdriverio-community/node-geckodriver/issues/201))
([`a454a07`](a454a07))
- Bump release-it from 16.1.3 to 16.1.5
([#&#8203;199](https://togithub.com/webdriverio-community/node-geckodriver/issues/199))
([`61a3db9`](61a3db9))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.4.8
to 20.5.0
([#&#8203;198](https://togithub.com/webdriverio-community/node-geckodriver/issues/198))
([`4094cfb`](4094cfb))

###
[`v4.2.0`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.2.0):
Release 4.2.0

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.1.3...v4.2.0)

- Document websocket-port arg, set it to random
([#&#8203;196](https://togithub.com/webdriverio-community/node-geckodriver/issues/196))
([`0abe390`](0abe390))
- Bump vitest from 0.33.0 to 0.34.1
([#&#8203;195](https://togithub.com/webdriverio-community/node-geckodriver/issues/195))
([`21fd29b`](21fd29b))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.4.5
to 20.4.8
([#&#8203;194](https://togithub.com/webdriverio-community/node-geckodriver/issues/194))
([`f0d8ee6`](f0d8ee6))
- Bump webdriverio from 8.13.13 to 8.14.3
([#&#8203;193](https://togithub.com/webdriverio-community/node-geckodriver/issues/193))
([`bb3d568`](bb3d568))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.2.0 to 6.2.1
([#&#8203;192](https://togithub.com/webdriverio-community/node-geckodriver/issues/192))
([`3c0ca31`](3c0ca31))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.2.0 to 6.2.1
([#&#8203;191](https://togithub.com/webdriverio-community/node-geckodriver/issues/191))
([`a785e82`](a785e82))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.1.0 to 6.2.0
([#&#8203;188](https://togithub.com/webdriverio-community/node-geckodriver/issues/188))
([`96f1c3d`](96f1c3d))
- Bump eslint-plugin-unicorn from 48.0.0 to 48.0.1
([#&#8203;190](https://togithub.com/webdriverio-community/node-geckodriver/issues/190))
([`0485df1`](0485df1))
- Bump eslint from 8.45.0 to 8.46.0
([#&#8203;189](https://togithub.com/webdriverio-community/node-geckodriver/issues/189))
([`cdbbc4b`](cdbbc4b))
- Bump octokit from 3.0.0 to 3.1.0
([#&#8203;187](https://togithub.com/webdriverio-community/node-geckodriver/issues/187))
([`43f0870`](43f0870))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.1.0 to 6.2.0
([#&#8203;182](https://togithub.com/webdriverio-community/node-geckodriver/issues/182))
([`7adc3dc`](7adc3dc))
- Bump webdriverio from 8.13.4 to 8.13.13
([#&#8203;186](https://togithub.com/webdriverio-community/node-geckodriver/issues/186))
([`caf8f1e`](caf8f1e))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.4.4
to 20.4.5
([#&#8203;185](https://togithub.com/webdriverio-community/node-geckodriver/issues/185))
([`6bf8db0`](6bf8db0))
- Bump node-fetch from 3.3.1 to 3.3.2
([#&#8203;184](https://togithub.com/webdriverio-community/node-geckodriver/issues/184))
([`bc99d93`](bc99d93))
- Bump eslint-plugin-import from 2.27.5 to 2.28.0
([#&#8203;183](https://togithub.com/webdriverio-community/node-geckodriver/issues/183))
([`2a1392b`](2a1392b))

###
[`v4.1.3`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.1.3):
Release 4.1.3

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.1.2...v4.1.3)

- don't propagate cacheDir to driver
([`e4ad2a9`](e4ad2a9))

###
[`v4.1.2`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.1.2):
Release 4.1.2

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.1.1...v4.1.2)

- log driver start
([`de01d35`](de01d35))

###
[`v4.1.1`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.1.1):
Release 4.1.1

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.1.0...v4.1.1)

- double mkdir call
([`48c38a4`](48c38a4))
- minor docs updates
([`eab499e`](eab499e))

###
[`v4.1.0`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.1.0):
Release 4.1.0

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.5...v4.1.0)

- allow to set custom cacheDir
([`296f4d4`](296f4d4))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.4.2
to 20.4.4
([#&#8203;180](https://togithub.com/webdriverio-community/node-geckodriver/issues/180))
([`a9eeaf1`](a9eeaf1))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 6.0.0 to 6.1.0
([#&#8203;179](https://togithub.com/webdriverio-community/node-geckodriver/issues/179))
([`a73f68c`](a73f68c))
- Bump webdriverio from 8.13.1 to 8.13.4
([#&#8203;181](https://togithub.com/webdriverio-community/node-geckodriver/issues/181))
([`5589e16`](5589e16))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 6.0.0 to 6.1.0
([#&#8203;178](https://togithub.com/webdriverio-community/node-geckodriver/issues/178))
([`4d3619b`](4d3619b))
- Bump release-it from 16.1.2 to 16.1.3
([#&#8203;177](https://togithub.com/webdriverio-community/node-geckodriver/issues/177))
([`8f950b4`](8f950b4))
- Bump word-wrap from 1.2.3 to 1.2.4
([#&#8203;176](https://togithub.com/webdriverio-community/node-geckodriver/issues/176))
([`8d6d169`](8d6d169))
- Bump eslint-plugin-unicorn from 47.0.0 to 48.0.0
([#&#8203;174](https://togithub.com/webdriverio-community/node-geckodriver/issues/174))
([`033c05f`](033c05f))
- Bump release-it from 16.1.0 to 16.1.2
([#&#8203;175](https://togithub.com/webdriverio-community/node-geckodriver/issues/175))
([`6a1c5f7`](6a1c5f7))

###
[`v4.0.5`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.0.5):
Release 4.0.5

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.4...v4.0.5)

- omit dev deps in audit
([`8a1c63b`](8a1c63b))
- Bump eslint from 8.42.0 to 8.43.0
([#&#8203;154](https://togithub.com/webdriverio-community/node-geckodriver/issues/154))
([`d2abc17`](d2abc17))
- Bump octokit from 2.0.19 to 2.0.22
([#&#8203;151](https://togithub.com/webdriverio-community/node-geckodriver/issues/151))
([`3003eac`](3003eac))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 5.59.9 to 5.59.11
([#&#8203;157](https://togithub.com/webdriverio-community/node-geckodriver/issues/157))
([`6da5f59`](6da5f59))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.3.0
to 20.3.1
([#&#8203;149](https://togithub.com/webdriverio-community/node-geckodriver/issues/149))
([`4f388a7`](4f388a7))
- Bump tar-fs from 2.1.1 to 3.0.2
([#&#8203;155](https://togithub.com/webdriverio-community/node-geckodriver/issues/155))
([`1e2226b`](1e2226b))
- Bump webdriverio from 8.11.1 to 8.11.2
([#&#8203;153](https://togithub.com/webdriverio-community/node-geckodriver/issues/153))
([`932e10a`](932e10a))
- Bump vitest from 0.32.0 to 0.32.2
([#&#8203;152](https://togithub.com/webdriverio-community/node-geckodriver/issues/152))
([`430632f`](430632f))
- Bump
[@&#8203;vitest/coverage-c8](https://togithub.com/vitest/coverage-c8)
from 0.32.0 to 0.32.2
([#&#8203;150](https://togithub.com/webdriverio-community/node-geckodriver/issues/150))
([`814c71f`](814c71f))
- Bump vitest from 0.31.4 to 0.32.0
([#&#8203;146](https://togithub.com/webdriverio-community/node-geckodriver/issues/146))
([`6544b84`](6544b84))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 5.59.8 to 5.59.9
([#&#8203;147](https://togithub.com/webdriverio-community/node-geckodriver/issues/147))
([`33874cb`](33874cb))
- Bump webdriverio from 8.10.7 to 8.11.1
([#&#8203;144](https://togithub.com/webdriverio-community/node-geckodriver/issues/144))
([`df94ac3`](df94ac3))
- Bump
[@&#8203;vitest/coverage-c8](https://togithub.com/vitest/coverage-c8)
from 0.31.4 to 0.32.0
([#&#8203;148](https://togithub.com/webdriverio-community/node-geckodriver/issues/148))
([`2ee55f3`](2ee55f3))
- Bump release-it from 15.10.5 to 15.11.0
([#&#8203;142](https://togithub.com/webdriverio-community/node-geckodriver/issues/142))
([`08f32ce`](08f32ce))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.2.5
to 20.3.0
([#&#8203;145](https://togithub.com/webdriverio-community/node-geckodriver/issues/145))
([`4ce2cd4`](4ce2cd4))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 5.59.8 to 5.59.9
([#&#8203;143](https://togithub.com/webdriverio-community/node-geckodriver/issues/143))
([`b977525`](b977525))
- Bump [@&#8203;wdio/logger](https://togithub.com/wdio/logger) from
8.10.6 to 8.11.0
([#&#8203;141](https://togithub.com/webdriverio-community/node-geckodriver/issues/141))
([`1eeca9c`](1eeca9c))

###
[`v4.0.4`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.0.4):
Release 4.0.4

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.3...v4.0.4)

- Update the bin-script reference
([#&#8203;124](https://togithub.com/webdriverio-community/node-geckodriver/issues/124))
([`07babfa`](07babfa))

###
[`v4.0.3`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.0.3):
Release 4.0.3

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.2...v4.0.3)

- Bump typescript from 5.0.4 to 5.1.3
([#&#8203;135](https://togithub.com/webdriverio-community/node-geckodriver/issues/135))
([`d96c5a7`](d96c5a7))
- Bump
[@&#8203;vitest/coverage-c8](https://togithub.com/vitest/coverage-c8)
from 0.31.1 to 0.31.4
([#&#8203;140](https://togithub.com/webdriverio-community/node-geckodriver/issues/140))
([`e0cbcd6`](e0cbcd6))
- Bump vitest from 0.31.1 to 0.31.4
([#&#8203;138](https://togithub.com/webdriverio-community/node-geckodriver/issues/138))
([`5551266`](5551266))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 5.59.7 to 5.59.8
([#&#8203;137](https://togithub.com/webdriverio-community/node-geckodriver/issues/137))
([`56d5168`](56d5168))
- Bump webdriverio from 8.10.5 to 8.10.7
([#&#8203;133](https://togithub.com/webdriverio-community/node-geckodriver/issues/133))
([`fae4f10`](fae4f10))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 5.59.7 to 5.59.8
([#&#8203;136](https://togithub.com/webdriverio-community/node-geckodriver/issues/136))
([`db9f086`](db9f086))
- Bump release-it from 15.10.3 to 15.10.5
([#&#8203;134](https://togithub.com/webdriverio-community/node-geckodriver/issues/134))
([`002f497`](002f497))
- Bump eslint from 8.41.0 to 8.42.0
([#&#8203;132](https://togithub.com/webdriverio-community/node-geckodriver/issues/132))
([`88cd697`](88cd697))

###
[`v4.0.2`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.0.2):
Release 4.0.2

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.1...v4.0.2)

- Bump http-proxy-agent from 6.1.0 to 7.0.0
([#&#8203;126](https://togithub.com/webdriverio-community/node-geckodriver/issues/126))
([`b857475`](b857475))
- Bump
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)
from 5.59.6 to 5.59.7
([#&#8203;130](https://togithub.com/webdriverio-community/node-geckodriver/issues/130))
([`78ffc90`](78ffc90))
- Bump webdriverio from 8.10.4 to 8.10.5
([#&#8203;131](https://togithub.com/webdriverio-community/node-geckodriver/issues/131))
([`425d80b`](425d80b))
- Bump octokit from 2.0.16 to 2.0.19
([#&#8203;128](https://togithub.com/webdriverio-community/node-geckodriver/issues/128))
([`6994029`](6994029))
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
from 5.59.6 to 5.59.7
([#&#8203;129](https://togithub.com/webdriverio-community/node-geckodriver/issues/129))
([`8e48611`](8e48611))
- Bump https-proxy-agent from 6.2.0 to 7.0.0
([#&#8203;127](https://togithub.com/webdriverio-community/node-geckodriver/issues/127))
([`afbc8c1`](afbc8c1))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.2.3
to 20.2.5
([#&#8203;125](https://togithub.com/webdriverio-community/node-geckodriver/issues/125))
([`a2488a7`](a2488a7))

###
[`v4.0.1`](https://togithub.com/webdriverio-community/node-geckodriver/releases/tag/v4.0.1)

[Compare
Source](https://togithub.com/webdriverio-community/node-geckodriver/compare/v4.0.0...v4.0.1)

Changelog:

- Add relative path to `types.ts` import
([#&#8203;122](https://togithub.com/webdriverio-community/node-geckodriver/issues/122))
([`c54728e`](c54728e))
- Bump http-proxy-agent from 6.0.1 to 6.1.0
([#&#8203;119](https://togithub.com/webdriverio-community/node-geckodriver/issues/119))
([`91609aa`](91609aa))
- Bump octokit from 2.0.14 to 2.0.16
([#&#8203;121](https://togithub.com/webdriverio-community/node-geckodriver/issues/121))
([`1698373`](1698373))
- Bump eslint from 8.40.0 to 8.41.0
([#&#8203;120](https://togithub.com/webdriverio-community/node-geckodriver/issues/120))
([`45f8a66`](45f8a66))
- Bump webdriverio from 8.10.2 to 8.10.4
([#&#8203;118](https://togithub.com/webdriverio-community/node-geckodriver/issues/118))
([`a07f9e6`](a07f9e6))
- Bump [@&#8203;types/node](https://togithub.com/types/node) from 20.1.7
to 20.2.3
([#&#8203;117](https://togithub.com/webdriverio-community/node-geckodriver/issues/117))
([`262589f`](262589f))
- Bump https-proxy-agent from 6.1.0 to 6.2.0
([#&#8203;116](https://togithub.com/webdriverio-community/node-geckodriver/issues/116))
([`3885dd6`](3885dd6))
- minor docs update
([`8dcdab3`](8dcdab3))

</details>

<details>
<summary>SeleniumHQ/selenium (selenium-webdriver)</summary>

###
[`v4.15.0`](e5a96349ce...1d14b5521b)

[Compare
Source](e5a96349ce...1d14b5521b)

###
[`v4.14.0`](66b3a2ade2...e5a96349ce)

[Compare
Source](66b3a2ade2...e5a96349ce)

###
[`v4.13.0`](249f2a7d1b...66b3a2ade2)

[Compare
Source](249f2a7d1b...66b3a2ade2)

###
[`v4.12.0`](00b6089b93...249f2a7d1b)

[Compare
Source](00b6089b93...249f2a7d1b)

###
[`v4.11.1`](040bc5406b...00b6089b93)

[Compare
Source](040bc5406b...00b6089b93)

###
[`v4.11.0`](c14d967899...040bc5406b)

[Compare
Source](c14d967899...040bc5406b)

###
[`v4.10.0`](8e0c968e38...c14d967899)

[Compare
Source](8e0c968e38...c14d967899)

###
[`v4.9.2`](eb2032df7f...8e0c968e38)

[Compare
Source](eb2032df7f...8e0c968e38)

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-01 11:08:08 -06:00
Maryam Saeidi
59982bfa5c
[Custom threshold] Add viewInApp URL to the custom threshold rule type (#171985)
Closes #171613

## Summary

This PR adds the viewInApp URL to the custom threshold rule type. This
URL will send the user to the log explorer with the selected data view
and the rule's query filter. If there is only one document aggregation,
then the filter related to this aggregation will be added as shown
below:

|Rule|Discover with pre-fill data|
|---|---|

|![image](2f08b4f4-e6cc-4d25-a48a-098db63b9ce6)|

For the ad-hoc data view, you should be able to see the selected index
pattern in discover similar to this:

<img
src="046493ae-ba59-46b7-a40f-68d1836d43f1"
width=400 />

### 🧪 How to test
- Check the viewInApp URL both in action variables and the alert table
for the following scenarios:
    - A rule with a persisted data view
    - A rule with an ad-hoc data view
    - A rule with count aggregation and filter
    - A rule with an optional query filter
    - A rule with non-count aggregation

In all the above scenarios, the starting time in the Discover should be
before the alert's start time.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-12-01 16:44:10 +01:00
renovate[bot]
7f0e025968
Update dependency elastic-apm-node to ^4.2.0 (main) (#172308)
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [elastic-apm-node](https://togithub.com/elastic/apm-agent-nodejs) |
[`^4.1.0` ->
`^4.2.0`](https://renovatebot.com/diffs/npm/elastic-apm-node/4.1.0/4.2.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/elastic-apm-node/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/elastic-apm-node/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/elastic-apm-node/4.1.0/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/elastic-apm-node/4.1.0/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>elastic/apm-agent-nodejs (elastic-apm-node)</summary>

###
[`v4.2.0`](https://togithub.com/elastic/apm-agent-nodejs/releases/tag/v4.2.0)

[Compare
Source](https://togithub.com/elastic/apm-agent-nodejs/compare/v4.1.0...v4.2.0)

For more information, please see the
[changelog](https://www.elastic.co/guide/en/apm/agent/nodejs/current/release-notes-4.x.html#release-notes-4.2.0).

##### Elastic APM Node.js agent layer ARNs

|Region|ARN|
|------|---|

|af-south-1|arn:aws:lambda:af-south-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-east-1|arn:aws:lambda:ap-east-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-northeast-1|arn:aws:lambda:ap-northeast-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-northeast-2|arn:aws:lambda:ap-northeast-2:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-northeast-3|arn:aws:lambda:ap-northeast-3:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-south-1|arn:aws:lambda:ap-south-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-southeast-1|arn:aws:lambda:ap-southeast-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-southeast-2|arn:aws:lambda:ap-southeast-2:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ap-southeast-3|arn:aws:lambda:ap-southeast-3:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|ca-central-1|arn:aws:lambda:ca-central-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-central-1|arn:aws:lambda:eu-central-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-north-1|arn:aws:lambda:eu-north-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-south-1|arn:aws:lambda:eu-south-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-west-1|arn:aws:lambda:eu-west-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-west-2|arn:aws:lambda:eu-west-2:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|eu-west-3|arn:aws:lambda:eu-west-3:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|me-south-1|arn:aws:lambda:me-south-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|sa-east-1|arn:aws:lambda:sa-east-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|us-east-1|arn:aws:lambda:us-east-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|us-east-2|arn:aws:lambda:us-east-2:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|us-west-1|arn:aws:lambda:us-west-1:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

|us-west-2|arn:aws:lambda:us-west-2:267093732750:layer:elastic-apm-node-ver-4-2-0:1|

</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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
2023-12-01 15:28:37 +01:00
Cee Chen
55b09e22be
Upgrade EUI to v90.0.1 (#172261)
`v90.0.0``v90.0.1`

This release also contains updates to EuiCollapsibleNavBeta, to support
serverless UX (https://github.com/elastic/eui/pull/7337).

---

## [`90.0.1`](https://github.com/elastic/eui/tree/vpatch)

**This release is a backport intended for Kibana 8.12.**

- `EuiSelectable` now allows configurable text truncation via
`listProps.truncationProps`
([#7388](https://github.com/elastic/eui/pull/7388))
- `EuiTextTruncate` now supports a new `calculationDelayMs` prop for
working around font loading or layout shifting scenarios
([#7388](https://github.com/elastic/eui/pull/7388))
2023-11-30 06:10:08 -08:00
Tiago Costa
06a440a716
chore(NA): upgrade re2 to v1.20.9 (#171944)
This PR upgrades re2 into v1.20.9.

- [x] Manual builds for `linux-arm64`.
- [x] Check if https://github.com/elastic/kibana-custom-nodejs-builds
needs to be run or updated

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-11-30 01:05:19 +00:00
Walter Rafelsberger
9f86c05d03
[ML] Transforms/Data frame analytics: Align data view / destination index creation workflow in wizards. (#171202)
Consolidates UI elements and backend code to create/delete data views
and destination indices related to transforms and data frame analytics.

We ended up with two different approaches for creating data views in the
wizards for transforms and data frame analytics, the original reason was
we were not aware of the `allowNoIndex: true` setting and worked around
that in different ways.

This PR aligns UI workflows and moves related code to a new package
`@kbn/ml-data-view-utils` for data views and
`@kbn/ml-creation-wizard-utils` for the destination index form. The
latter might be used for other shared components across wizard..

In Data Frame Analytics, the checkbox to create a data view was removed
from the last "Create" step, instead the option to create a data view
was moved to the "Details" step.

In Transforms, the UI component to create the destination index was
brought over from DFA where there is a switch option to automatically
use the job ID as the name for the destination index by default.
2023-11-29 18:40:35 +00:00
Maxim Palenov
e3d95e9b72
[Security Solution] OpenAPI docs bundler (#171526)
**Addresses:** https://github.com/elastic/security-team/issues/7981

## Summary

This PR adds an OpenAPI spec bundler to simplify integration with the
Docs Engineering team. The bundler produces a single bundled file by
dereferencing and inlining some of external references and bundling them
and paths into a single file.

## Details

Currently we maintain a number of schema files inside
`x-pack/plugins/security_solution/common/api/**.schema.yaml` and it
might be hard for external teams to keep track of all the changes in our
schemas. By creating a singular schema file, we provide a clear
integration point for others.

The bundler addresses the following issues

- hide endpoints that we don't want to expose (Endpoints related to
features hidden under a feature flag and all internal endpoints should
be excluded from the file)
- hide not finished data structures related to features hidden under a
feature flag or data structures that are not designed to be public (For
example `RuleActionAlertsFilter` or `RuleActionParams` are exposed
directly from the Alerting framework and might be considered
implementation details, we don't want to document interfaces that are
not designed to be public so hiding them is a good option)
- modify spec based on presence of `x-modify` property (Instead of
exposing `x-modify: partial` we need to make the exported data structure
partial and instead of exposing `x-modify: required` we need to make the
exported data structure required)
- remove any internal attributes used for code generation like
`x-codegen-enabled` and `x-modify`
- inline some of the reused data structures (We have a lot of low-level
reusable data structures `in common_attributes.schema.yaml` which might
make the final documentation hardly usable from the UX perspective, so
we can inline them)

and lives in a new `@kbn/openapi-bundler` package under
`packages/kbn-openapi-bundler` folder.

### Related changes

- Implicit version type `version: 2023-10-31` has been changed to
explicit string type `version: '2023-10-31'` for all specs under
`security_solution/common/api` folder. Implicit type causes `js-yaml`
parsing it as a `Data` JS object leading to serializing it like
`2023-10-31T00:00:00.000Z`.
- `ListRequestQuery` schema in
`security_solution/common/api/endpoint/actions/list.schema.yaml ` has
been renamed to `EndpointActionListRequestQuery` to avoid conflicts with
`ListRequestQuery` in
`security_solution/common/api/endpoint/metadata/list_metadata.schema.yaml`.
While it's not an issue to have completely different schemas sharing the
same name in different files it may be an indication of pitfalls in the
API design. I'd say it's an open question if such cases need to be
always resolved automatically or reviewed manually. At this moment the
bundler can't resolve such conflicts.

## How to test?

There is a a new JS script added to Security Solution plugin located at
`x-pack/plugins/security_solution/scripts/openapi/bundle.js` with a
corresponding entry in `package.json` named `openapi:bundle`.

To test the PR change directory to Security Solution plugin's root
folder and run the bundler like below

```sh
cd x-pack/plugins/security_solution
yarn openapi:bundle
```

It should produce a bundled OpenAPI spec at
`x-pack/plugins/security_solution/target/openapi/security_solution.bundled.schema.yaml`.

## Open issues

- [x] Circular references (implemented in
dfdf0a51ea)
- [x] Mix of OpenAPI `3.0` and `3.1` specs (Maybe convert automatically
to `3.1`?). Folder like OpenAPI bundling format implemented
[here](0ae7ad5abb)
allows to mix OpenAPI `3.0` and `3.1` specs.

## Improvements

- [ ] Flexible configuration
- [ ] CLI support?

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-29 14:07:31 +01:00
Drew Tate
a8647151cb
Unify style for embeddable-stack loaders (#171238)
## Summary

Fix https://github.com/elastic/kibana/issues/170428

The bug this is intended to resolve requires some in-depth steps to
reproduce. Follow the instructions in the issue above. Then, merge in
this branch and compare.


### 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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-28 13:30:47 -06:00
Marta Bondyra
085878c289
[Lens][Unified search] Auto expand comboboxes and popovers based on the content (#171573)
## Summary

Fixes partially two remaining tasks from
https://github.com/elastic/kibana/issues/168753
Fixes partially dataview issue from
https://github.com/elastic/kibana/issues/170398
It stretches to maximum approximate 60 characters if any of the labels
in the list is of this length. If the content doesn't need the container
to stretch, it doesn't do it.


<details>
 <summary> Field picker in Lens</summary>

minimum width:
<img width="445" alt="Screenshot 2023-11-21 at 15 56 03"
src="2f0f8482-bd00-4ec2-bbde-cbc4f3198eed">

auto-expanded width: 
<img width="575" alt="Screenshot 2023-11-21 at 15 58 22"
src="df7bab4d-0a08-4d49-8a91-9386eba15d93">
</details>


<details>
  <summary>Layer data view picker in Lens</summary>
<img width="376" alt="Screenshot 2023-11-21 at 16 01 17"
src="b8a98d83-dabc-49bd-a3cc-fc3856de6d3e">
<img width="455" alt="Screenshot 2023-11-21 at 15 58 09"
src="f2c5bde8-7a4a-485f-bf97-fc2179171e50">
<img width="615" alt="Screenshot 2023-11-21 at 15 56 27"
src="0574fc6c-69a3-44e9-9d48-8d427c1c5dba">
</details>

<details> <summary>Data view picker in Unified Search</summary>
<img width="341" alt="Screenshot 2023-11-21 at 16 00 29"
src="1c838ded-0dc5-4632-94e4-1d94586f667c">
<img width="441" alt="Screenshot 2023-11-21 at 15 58 04"
src="87e4f1c0-7922-4b94-a114-f23ece544395">
<img width="561" alt="Screenshot 2023-11-21 at 15 56 20"
src="3ea0f222-5241-4c5b-b00b-4311972754cc">
</details>

<details>
 <summary> Data view picker in dashboard Create control flyout</summary>
<img width="677" alt="Screenshot 2023-11-21 at 16 14 00"
src="0455b6ed-555d-4cff-9e34-0de377be6e04">
<img width="682" alt="Screenshot 2023-11-21 at 15 54 56"
src="2a67685c-379d-4c0b-bf56-dbf7c35b3bd4">
</details>

<details> 
<summary> Unified search data view select component (tested in
maps)</summary>
<img width="570" alt="Screenshot 2023-11-22 at 14 38 25"
src="bb52ab22-626d-4556-b40c-c9bcc925f426">
</details>

<details>
<summary>Unified search field and value picker</summary>
Adds `panelMinWidth`, removes the custom flex width change behavior
<img width="1142" alt="Screenshot 2023-11-22 at 14 40 26"
src="2450957f-38b7-4a73-b531-7acb29cb56bc">


f4f33624-9287-403e-8472-81f705440f97

</details>

<details> 
<summary> Discover breakdown field</summary>

Removes the focus stretching and instead uses the panelMinWidth prop

<img width="419" alt="Screenshot 2023-11-21 at 16 46 50"
src="e35125ad-8823-4bff-954b-8119a352829c">
<img width="619" alt="Screenshot 2023-11-21 at 16 48 20"
src="89e63daf-a59e-43e1-a6ec-91d1b15b0fcd">


</details>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-28 13:13:43 +01:00
Garrett Spong
82173b5c6e
[Security Solution] [Elastic AI Assistant] Adds APM instrumentation and LangSmith test data integration (#171153)
## Summary

This PR instruments the Elastic AI Assistant with the Kibana APM Agent
enabling the tracing of retrievers, llms, chains, and tools which can
then be viewed within the Observability app. This PR also improves the
Assistant Model Evaluation tooling by enabling support for pulling and
running test datasets from LangSmith.


If the `assistantModelEvaluation` experimental feature flag is enabled,
and an APM server is configured, messages that have a corresponding
trace will have an additional `View APM trace` action:

<p align="center">
<img width="500"
src="e0b372ee-139a-4eed-8b09-f01dd88c72b0"
/>
</p> 

Viewing the trace you can see a breakdown of the time spent in each
retriever, llm, chain, and tool:
<p align="center">
<img width="500"
src="f7cbd4bc-207c-4c88-a032-70a8de4f9b9a"
/>
</p> 

Additionally the Evaluation interface has been updated to support adding
additional metadata like `Project Name`, `Run Name`, and pulling test
datasets from LangSmith. Predictions can now also be run without having
to run an Evaluation, so datasets can quickly be run for manual
analysis.

<p align="center">
<img width="500"
src="acebf719-29fd-4fcc-aef1-99fd00ca800a"
/>
</p> 


<p align="center">
<img width="500"
src="7081d993-cbe0-4465-a734-ff9be14d7d0d"
/>
</p> 



## Testing
### Configuring APM

First, enable the `assistantModelEvaluation` experimental feature flag
by adding the following to your `kibana.dev.yml`:

```
xpack.securitySolution.enableExperimental: [ 'assistantModelEvaluation' ]
```

Next, you'll need an APM server to collect the traces. You can either
[follow the documentation for
installing](https://www.elastic.co/guide/en/apm/guide/current/installing.html)
the released artifact, or [run from
source](https://github.com/elastic/apm-server#apm-server-development)
and set up using the [quickstart guide
provided](https://www.elastic.co/guide/en/apm/guide/current/apm-quick-start.html)
(be sure to install the APM Server integration to ensure the necessary
indices are created!). Once your APM server is running, add your APM
server configuration to your `kibana.dev.yml` as well using the
following:

```
# APM
elastic.apm:
  active: true
  environment: 'SpongBox5002c™'
  serverUrl: 'http://localhost:8200'
  transactionSampleRate: 1.0
  breakdownMetrics: true
  spanStackTraceMinDuration: 10ms
  # Disables Kibana RUM
  servicesOverrides.kibana-frontend.active: false
```

> [!NOTE]
> If connecting to a cloud APM server (like our [ai-assistant apm
deployment](https://ai-assistant-apm-do-not-delete.kb.us-central1.gcp.cloud.es.io/)),
follow [these
steps](https://www.elastic.co/guide/en/apm/guide/current/api-key.html#create-an-api-key)
to create an API key, and then set it via `apiKey` and also set your
`serverUrl` as shown in the APM Integration details within fleet. Note
that the `View APM trace` button within the UI will link to your local
instance, not the cloud instance.

> [!NOTE]
> If you're an Elastic developer running Kibana from source, you can
just enable APM as above, and _not_ include a `serverUrl`, and your
traces will be sent to the https://kibana-cloud-apm.elastic.dev cluster.
Note that the `View APM trace` button within the UI will link to your
local instance, not the cloud instance.

### Configuring LangSmith

If wanting to push traces to LangSmith, or leverage any datasets that
you may have hosted in a project, all you need to do is configure a few
environment variables, and then start the kibana server. See the
[LangSmith Traces
documentation](https://docs.smith.langchain.com/tracing) for details, or
just add the below env variables to enable:

```
# LangChain LangSmith
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
export LANGCHAIN_API_KEY=""
export LANGCHAIN_PROJECT="8.12 ESQL Query Generation"
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-27 21:01:14 -07:00
Aleh Zasypkin
f7fa8469bd
Move Kibana Security public types to separate packages (#171886)
## Summary

In this PR, I'm relocating all Kibana Security types (along with a few
schemas necessary for some of these types, unfortunately) that are part
of public contracts to separate packages. This change will enable any
plugin to utilize Security APIs via "static" or
["runtime"](https://github.com/elastic/kibana/pull/167113) dependencies,
regardless of whether Kibana Security already relies on these plugins or
not.

__NOTE TO REVIEWERS:__ I tried to minimize changes as much as I could
via moving only necessary types. I also didn't move deprecated parts of
the Setup/Start contracts to these new packages.

__Triggered by:__ https://github.com/elastic/kibana/pull/168910

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-27 21:26:31 +01:00
Tiago Costa
78f7b80e33
Revert "[Fleet] Support preconfigured output secrets (#170259)"
This reverts commit 1f7a527494.
2023-11-23 18:08:02 +00:00
Jan Monschke
df16cd9c2c
[SecuritySolution] Remove @kbn/subscription-tracking (#171801)
## Summary

The package data isn't needed anymore, so we can remove that package. On
top, it seems like the package was causing some issues.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-23 09:39:23 -06:00
Mark Hopkin
1f7a527494
[Fleet] Support preconfigured output secrets (#170259)
## Summary

This PR adds support for outputs with secrets preconfigured in the
`kibana.yml` config file.

As Kibana needs to compare the value of the secret to manage updates, a
hash of the value is stored in the output's saved object. The
implementation follows [option 2 in Infosec's
recommendations](https://github.com/elastic/infosec/issues/14853#issuecomment-1788705606)
with the Argon2id algorithm.

See [here](https://www.npmjs.com/package/argon2) for information about
the `argon2` Node package and
[here](https://github.com/ranisalt/node-argon2/wiki/Options) for the
config options. Here, `argon2` was configured with the recommended
`m=19456 (19 MiB), t=2, p=1 ` (for some reason, `timeCost` cannot be set
to less than 2).

Closes #166360

### Testing

1. Ensure the [`outputSecretsStorage` experimental feature
](fd4fdb01bc/x-pack/plugins/fleet/common/experimental_features.ts (L26))is
enabled.
2. Add the following to your kibana config:
   ```
   xpack.fleet.outputs:
     - id: my-logstash-output-with-a-secret
       name: preconfigured logstash output with a secret
       type:  logstash
       hosts: ["localhost:9999"]
       ssl:
         certificate: xxxxxxxxxx
       secrets:
         ssl:
           key: thisissecret
   ```
3. Verify the secret has been correctly created, e.g. by issuing a `GET
.fleet-secrets/_search` request in Dev Tools: the secret should be
listed there.
4. Change the preconfigured value and wait for kibana to restart: the
secret should be updated with the new value.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: jillguyonnet <jill.guyonnet@gmail.com>
2023-11-23 10:44:27 +01:00
Thom Heymann
9220e4d20a
Add mock identity provider for serverless (2nd attempt) (#171513)
Attempting to merge #170852 again now that the release artefact step has
been fixed as part of https://github.com/elastic/kibana/pull/171457

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
2023-11-23 01:08:44 -07:00
James Gowdy
5e3b124ae0
[ML] Create categorization job from pattern analysis (#170567)
Adds the ability to quickly create a categorisation anomaly detection
job from the pattern analysis flyout.
Adds a new `created_by` ID `categorization-wizard-from-pattern-analysis`
which can be picked up by telemetry.

Creates a new package for sharing our AIOPs ui actions IDs. I think we
should move the pattern analysis ID to this package too, but that can be
done in a separate PR.


51349f93-f072-4983-85f0-98741902fb5a



6e618581-8916-4e63-930f-945c96c25e6c

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-21 15:52:12 +00:00
Kurt
c5daa370c7
Upgrade chromedriver (#171545)
## Summary

Upgrade `chromedriver`

## Changelog

https://github.com/giggio/node-chromedriver/compare/117.0.3...119.0.1

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-21 09:21:37 -05:00
Jonathan Budzenski
f51e6cd248 Revert "Upgrade to Node.js 20 (#162696)"
This reverts commit 029b3ba81d.
2023-11-21 07:15:23 -06:00
Thomas Watson
029b3ba81d
Upgrade to Node.js 20 (#162696)
Co-authored-by: Jonathan Budzenski <jon@elastic.co>
2023-11-20 21:47:48 +01:00
Marco Antonio Ghiani
b83b4951ca
[ObsInfra][APM] Extract agent utils and custom icons (#170968)
## 📓 Summary

Closes #170728 

This work comes from the need to use agent and cloud provider icons in
the new Log Detail flyout.

Since those icons were already used across the `infra` and `apm`
plugins, this was a good opportunity to extract the shared logic into
packages.
The results of this refactoring are two new packages:
- **@kbn/elastic-agent-utils**: exports small utilities and type
definition used to parse the icon to render and exploits also across the
APM plugin.
- **@kbn/custom-icons**: exports custom icons built on top of EuiIcon,
encapsulating logic related to mapping from data to the relative icon.

Apart from creating the new plugins, this also applies their usage to
the `infra` and `apm` plugins, while the Log Explorer flyout will
benefit from these working on
https://github.com/elastic/kibana/issues/170721.

## 🧪 How to test

### Infra

- Navigate to `Infrastructure -> Hosts`
- Verify the hosts table correctly renders the cloud provider icon for
each table entry.

### APM

- Navigate to `APM -> Services`.
  - Verify each table entry correctly displays the related agent icon.

- Navigate to `APM -> Services`.
- Click on a service where t a cloud provider icon is expected to appear
next to the service name.
  - Verify the icon is correctly displayed.

- Navigate to `APM -> Services -> Service Map`.
  - Create a new group.
- Verify the agent icon is correctly displayed for each entry in the
preview list.

- Navigate to `APM -> Traces`.
  - Verify each table entry correctly displays the related agent icon.

- Navigate to `APM -> Settings -> Agent Explorer`.
  - Verify each table entry correctly displays the related agent icon.

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-20 16:39:42 +01:00
Thomas Watson
48711622bd
Upgrade handlebars from v4.7.7 to v4.7.8 (#171511) 2023-11-20 07:26:16 -07:00
Steph Milovic
d20161030d
[Security solution] Bedrock streaming and token tracking (#170815) 2023-11-16 15:49:53 -07:00
Kevin Delemme
7398fe9de0
feat(slo): add events chart (#170896) 2023-11-16 15:19:57 -05:00
Bhavya RM
c3006ebc9c
Update axe-core to the latest version - 4.8.2 (#171055)
Updating axe-core validation engine to 4.8.2
2023-11-15 15:08:35 -05:00
Brad White
d09e47abbc Revert "Add mock identity provider for serverless (#170852)"
This reverts commit 1fb0313a52.
2023-11-15 12:20:16 -07:00
Rachel Shen
4a0b967e38
Reporting packages for export types (#162845)
## Summary
This PR refactors the export type classes into their own packages to be
then instantiated in the reporting plugin. This will reduce bloat in the
central reporting plugin.

**Main packages**
- `kbn/reporting-export-types-{png,pdf,csv}` are server packages with
export type declarations
- `kbn/reporting-export-types-{png,pdf,csv}-common` are shared common
packages with type declarations and constants

**Other changes**
 - Remove `reporting.getScreenshots()`
 - Remove duplicated `schema_utils.ts`
 - Consolidate `JOB_STATUS` declaration as an enum

<img width="1063" alt="image"
src="bced8321-93c5-4ebd-b31e-1fd946166241">

### Checklist

- [x] 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)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Timothy Sullivan <tsullivan@elastic.co>
2023-11-15 10:48:00 -07:00
Thom Heymann
1fb0313a52
Add mock identity provider for serverless (#170852)
Related to [#166340](https://github.com/elastic/kibana/issues/166340)

## Summary

Add mock identity provider and utils to test serverless user roles.

## Screenshot

### 1. Login selector

<img width="767" alt="Screenshot 2023-11-08 at 15 18 18"
src="82b4a29f-65b4-45d2-bed3-6d9f74043c48">

### 2. Single sign on screen

<img width="437" alt="Screenshot 2023-11-09 at 12 30 46"
src="3d5b6f26-5409-4169-a627-bcf6d09836d9">

### 3. User profile page

<img width="1041" alt="Screenshot 2023-11-08 at 17 36 22"
src="50bd4a5a-f9a8-4643-9384-9a352701b011">

## Testing

SAML is only supported by ES when running in SSL mode. 

1. To test the mock identity provider run a serverless project in SSL
mode using:

```bash
yarn es serverless --ssl
yarn start --serverless=es --ssl
```

2. Then access Kibana and login in using "Continue as Test User".

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
2023-11-15 08:39:57 +00:00
Alejandro Fernández Haro
cedaa3feec
[Telemetry] Skip collection when navigated by Synthetics monitors (#171054) 2023-11-14 09:11:51 +01:00
Julia Rechkunova
145cc8f13b
[Discover] Show "unsaved changes" label when in unsaved state of saved search (#169548)
- Resolves https://github.com/elastic/kibana/issues/135887

## Summary

This PR adds "Unsaved changes" badge to Discover for modified saved
searches. It also removes "Reset search" button from the histogram area.
Code for the badge is added to a new package
`@kbn/unsaved-changes-badge`.

<img width="600" alt="Screenshot 2023-10-23 at 18 05 34"
src="ad200a28-79e1-4cc5-8e28-6352d4b85322">

![Oct-23-2023
18-06-39](cacf4ff2-525c-4759-aba9-34ce75089ddd)


### Checklist

- [x] 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)
- [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
- [x] 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))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-13 13:36:25 +01:00
mohamedhamed-ahmed
65e65a834e
[Dataset quality] Creating initial plugin (#171009)
Related to https://github.com/elastic/kibana/issues/169759.

## Summary

This PR creates the initial plugin for Dataset Quality.
The plugin has the basic boilerplate that allows us to continue working
on the UI and Server sides in parallel.

Further configs are to be added along with upcoming commits like:
1. Storybook 
2. FTR configs

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-10 16:02:12 +01:00
Jorge Sanz
3fae0b9d73
[EMS] Update to ems-client@8.5.1 (#170966)
## Summary

Related to https://github.com/elastic/ems-client/pull/208

Update to a version of `ems-client` that supports Node 20.

I'm creating new PRs for:

* `@elastic/ems-client@8.4.1` in Kibana `8.11` branch
* `@elastic/ems-client@7.17.1` for Kibana `7.17` branch

Sorry for the small overhead on reviewing; this way, it seems faster to
get CI running in parallel for the three releases and unblock the
operations team on this issue.
2023-11-09 21:37:00 +01:00
Tim Sullivan
09f4708de4
Functional tests for KibanaErrorBoundary (#170569)
Part of https://github.com/elastic/kibana-team/issues/646

This PR adds an example plugin in `examples/error_boundary` that shows
usage of KibanaErrorBoundary.

The example plugin is used in a functional test to ensure errors are
caught in the appropriate way, and error messages include a working
Refresh button.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-08 11:23:19 -07:00
Marta Bondyra
3a784106df
[testing] replace testing-library/dom package with testing-library/react (#170594)
## Summary

Removes `testing-library/dom` from dependencies. As all the utilities
from`dom` are available already in `testing-library/react`, there's no
need to have both `dom` and `react` libraries available in our
package.json.

Following the [@testing-library/react
documentation:](https://testing-library.com/docs/react-testing-library/intro)

> [React Testing
Library](https://github.com/testing-library/react-testing-library)
builds on top of DOM Testing Library by adding APIs for working with
React components.

Let's just import everything from `testing-library/react`, this way we
won't need to worry about inconsistencies between `testing-library/dom`
we have in our `package.json` and the one that is
`testing-library/react` dependency.
2023-11-08 15:53:48 +01:00
Efe Gürkan YALAMAN
8c26f7cfe9
[Enterprise Search] Update Kea to 2.6 (#170027)
## Summary

First step to update KeaJS to 3.x series. Currently we are using 2.4.2.
For a better jump ahead we should first update to 2.6.


### Checklist

Delete any items that are not applicable to this PR.

- [x] 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))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-11-08 14:48:37 +01:00
Tomasz Ciecierski
3a4e761cf3
[EDR Workflows] Remove cypress-react-selector from Osquery (#170607) 2023-11-06 13:46:32 -07:00
Cee Chen
d079e9573d
Upgrade EUI to v90.0.0 (#170179)
`v89.1.0``v90.0.0`

The majority of changes in this PR come from:

- **EuiContextMenu** being converted to Emotion
(https://github.com/elastic/eui/pull/7312). If your usage of
`EuiContextMenu` was significantly affected, we recommend pulling down
this PR and QAing it locally.

- `defaultProps` being removed from some very widespread components,
particularly **EuiButton**, in anticipation of React's upcoming
deprecation.
(b7dc9b4e89)
**NOTE**: This only affected Enzyme snapshots, and did not affect
production behavior.

[Commits](https://github.com/elastic/kibana/pull/170179/commits) have
been broken up by component changes as well as types of changes.

---

## [`90.0.0`](https://github.com/elastic/eui/tree/v90.0.0)

- Updated the `eventColor` prop on `EuiCommentEvent` to apply the color
to the entire comment header.
([#7288](https://github.com/elastic/eui/pull/7288))
- Updated `EuiBasicTable` and `EuiInMemoryTable` to support a new
controlled selection API: `selection.selected`
([#7321](https://github.com/elastic/eui/pull/7321))

**Bug fixes**

- Fixed controlled `EuiFieldNumbers` not correctly updating native
validity state ([#7291](https://github.com/elastic/eui/pull/7291))
- Fixed `EuiListGroupItem` to pass `style` props to the wrapping `<li>`
element alongside `className` and `css`. All other props will be passed
to the underlying content.
([#7298](https://github.com/elastic/eui/pull/7298))
- Fixed `EuiListGroupItem`'s non-transitioned transform on hover/focus
([#7298](https://github.com/elastic/eui/pull/7298))
- Fixed `EuiDataGrid`s with `gridStyle.stripes` sometimes showing buggy
row striping after being sorted
([#7301](https://github.com/elastic/eui/pull/7301))
- Fixed `EuiDataGrid`'s `gridStyle.rowClasses` API to not conflict with
`gridStyle.stripes` if dynamically updated
([#7301](https://github.com/elastic/eui/pull/7301))
- Fixed `EuiDataGrid`'s `gridStyle.rowClasses` API to support multiple
space-separated classes
([#7301](https://github.com/elastic/eui/pull/7301))
- Fixed `EuiInputPopover` not calling `onPanelResize` callback prop
([#7305](https://github.com/elastic/eui/pull/7305))
- Fixed `EuiDualRange` incorrectly positioning highlights when rendered
with `showInput="inputWithPopover"`
([#7305](https://github.com/elastic/eui/pull/7305))
- Fixed `EuiTabs` incorrectly wrapping text when it should instead
either scroll or truncate
([#7309](https://github.com/elastic/eui/pull/7309))
- `EuiContextMenu` now renders text colors correctly when used within an
`EuiBottomBar` ([#7312](https://github.com/elastic/eui/pull/7312))
- Fixed the width of `EuiSuperDatePicker`'s Absolute date picker
([#7313](https://github.com/elastic/eui/pull/7313))
- Fixed `EuiDataGrid` cells visually cutting off overflowing content a
little too quickly ([#7320](https://github.com/elastic/eui/pull/7320))

**Deprecations**

- Deprecated `EuiBasicTable` and `EuiInMemoryTable`'s ref `setSelection`
API. Use the new `selection.selected` API instead.
([#7321](https://github.com/elastic/eui/pull/7321))

**Breaking changes**

- Removed `EuiPageTemplate_Deprecated`, `EuiPageSideBar_Deprecated`, and
`EuiPageContent*_Deprecated`
([#7265](https://github.com/elastic/eui/pull/7265))
- Removed the `ghost` color option from `EuiButton`, `EuiButtonEmpty`,
and `EuiButtonIcon`. Use an `<EuiThemeProvider colorMode="dark">`
wrapper and `color="text"` instead.
([#7296](https://github.com/elastic/eui/pull/7296))

**Dependency updates**

- Updated `refractor` to v3.6.0
([#7127](https://github.com/elastic/eui/pull/7127))
- Updated `rehype-raw` to v5.1.0
([#7127](https://github.com/elastic/eui/pull/7127))
- Updated `vfile` to v4.2.1
([#7127](https://github.com/elastic/eui/pull/7127))

**Accessibility**

- `EuiContextMenu` now correctly respects reduced motion preferences
([#7312](https://github.com/elastic/eui/pull/7312))
- `EuiAccordion`s no longer attempt to focus child content when the
accordion is externally opened via `forceState`, but will continue to
focus expanded content when users click the toggle button.
([#7314](https://github.com/elastic/eui/pull/7314))

**CSS-in-JS conversions**

- Converted `EuiContextMenu`, `EuiContextMenuPanel`, and
`EuiContextMenuItem` to Emotion; Removed `$euiContextMenuWidth`
([#7312](https://github.com/elastic/eui/pull/7312))
2023-11-03 10:19:31 -07:00
Anton Dosov
3249c1a116
Consolidate <CodeEditor/> (#170313)
## Summary

Fix https://github.com/elastic/kibana/issues/159719

- Remove duplicate of code_editor code from `kibana_react` and apply
recent changes to the version in `packages/`
- Fix code_editor styles in `packages/`
https://github.com/elastic/kibana/pull/170313#discussion_r1378839369
- Revert setting default height to 100px (as it breaks in some places)
https://github.com/elastic/kibana/pull/170313#discussion_r1378838788


### Risks

Ideally we should smoke check the code editor in all the places, I
checked bunch of them.
As of special custom features, I tested: 
- The theme switch
- The placeholder 
- The a11y hint
- Fullscreen mode
2023-11-03 09:30:58 -07:00