diff --git a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts
index c2cec6e285031..bf2aaac56af24 100644
--- a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts
+++ b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts
@@ -218,6 +218,12 @@ export async function pickTestGroupRunOrder() {
if (Number.isNaN(FTR_CONFIGS_RETRY_COUNT)) {
throw new Error(`invalid FTR_CONFIGS_RETRY_COUNT: ${process.env.FTR_CONFIGS_RETRY_COUNT}`);
}
+ const JEST_CONFIGS_RETRY_COUNT = process.env.JEST_CONFIGS_RETRY_COUNT
+ ? parseInt(process.env.JEST_CONFIGS_RETRY_COUNT, 10)
+ : 1;
+ if (Number.isNaN(JEST_CONFIGS_RETRY_COUNT)) {
+ throw new Error(`invalid JEST_CONFIGS_RETRY_COUNT: ${process.env.JEST_CONFIGS_RETRY_COUNT}`);
+ }
const FTR_CONFIGS_DEPS =
process.env.FTR_CONFIGS_DEPS !== undefined
@@ -417,10 +423,10 @@ export async function pickTestGroupRunOrder() {
},
retry: {
automatic: [
- {
- exit_status: '-1',
- limit: 3,
- },
+ { exit_status: '-1', limit: 3 },
+ ...(JEST_CONFIGS_RETRY_COUNT > 0
+ ? [{ exit_status: '*', limit: JEST_CONFIGS_RETRY_COUNT }]
+ : []),
],
},
}
@@ -437,10 +443,10 @@ export async function pickTestGroupRunOrder() {
},
retry: {
automatic: [
- {
- exit_status: '-1',
- limit: 3,
- },
+ { exit_status: '-1', limit: 3 },
+ ...(JEST_CONFIGS_RETRY_COUNT > 0
+ ? [{ exit_status: '*', limit: JEST_CONFIGS_RETRY_COUNT }]
+ : []),
],
},
}
diff --git a/.buildkite/scripts/lifecycle/pre_command.sh b/.buildkite/scripts/lifecycle/pre_command.sh
index c14325efaa2a5..c14cb2c578a8a 100755
--- a/.buildkite/scripts/lifecycle/pre_command.sh
+++ b/.buildkite/scripts/lifecycle/pre_command.sh
@@ -145,6 +145,9 @@ export DEPLOY_TAGGER_SLACK_WEBHOOK_URL
GCS_SA_CDN_QA_KEY="$(vault_get gcs-sa-cdn-qa key)"
export GCS_SA_CDN_QA_KEY
+GCS_SA_CDN_QA_EMAIL="$(vault_get gcs-sa-cdn-qa email)"
+export GCS_SA_CDN_QA_EMAIL
+
GCS_SA_CDN_QA_BUCKET="$(vault_get gcs-sa-cdn-qa bucket)"
export GCS_SA_CDN_QA_BUCKET
diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh
index 864bc26805fbb..eefc8b9f7903b 100755
--- a/.buildkite/scripts/steps/artifacts/docker_image.sh
+++ b/.buildkite/scripts/steps/artifacts/docker_image.sh
@@ -95,6 +95,7 @@ CDN_ASSETS_FOLDER=$(mktemp -d)
tar -xf "kibana-$BASE_VERSION-cdn-assets.tar.gz" -C "$CDN_ASSETS_FOLDER" --strip=1
gsutil -m cp -r "$CDN_ASSETS_FOLDER/*" "gs://$GCS_SA_CDN_QA_BUCKET/$GIT_ABBREV_COMMIT"
+gcloud auth revoke "$GCS_SA_CDN_QA_EMAIL"
echo "--- Upload archives"
buildkite-agent artifact upload "kibana-$BASE_VERSION-linux-x86_64.tar.gz"
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 98227e7cdc2bf..9f2ab5aea7221 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -789,6 +789,7 @@ src/plugins/telemetry @elastic/kibana-core
test/plugin_functional/plugins/telemetry @elastic/kibana-core
packages/kbn-telemetry-tools @elastic/kibana-core
packages/kbn-test @elastic/kibana-operations @elastic/appex-qa
+packages/kbn-test-eui-helpers @elastic/kibana-visualizations
x-pack/test/licensing_plugin/plugins/test_feature_usage @elastic/kibana-security
packages/kbn-test-jest-helpers @elastic/kibana-operations @elastic/appex-qa
packages/kbn-test-subj-selector @elastic/kibana-operations @elastic/appex-qa
diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml
index 32b0326085929..461d850e4203c 100644
--- a/.github/codeql/codeql-config.yml
+++ b/.github/codeql/codeql-config.yml
@@ -61,6 +61,7 @@ paths-ignore:
- packages/kbn-telemetry-tools
- packages/kbn-test
- packages/kbn-test-jest-helpers
+ - packages/kbn-test-eui-helpers
- packages/kbn-test-subj-selector
- packages/kbn-tooling-log
- packages/kbn-ts-project-linter
diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json
index a95a7d9c209c6..0256b3f19732f 100644
--- a/api_docs/actions.devdocs.json
+++ b/api_docs/actions.devdocs.json
@@ -5272,13 +5272,13 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIConnectorFeatureId",
+ "id": "def-common.GenerativeAIForObservabilityConnectorFeatureId",
"type": "string",
"tags": [],
- "label": "GenerativeAIConnectorFeatureId",
+ "label": "GenerativeAIForObservabilityConnectorFeatureId",
"description": [],
"signature": [
- "\"generativeAI\""
+ "\"generativeAIForObservability\""
],
"path": "x-pack/plugins/actions/common/connector_feature_config.ts",
"deprecated": false,
@@ -5287,13 +5287,13 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIForObservabilityConnectorFeatureId",
+ "id": "def-common.GenerativeAIForSecurityConnectorFeatureId",
"type": "string",
"tags": [],
- "label": "GenerativeAIForObservabilityConnectorFeatureId",
+ "label": "GenerativeAIForSecurityConnectorFeatureId",
"description": [],
"signature": [
- "\"generativeAIForObservability\""
+ "\"generativeAIForSecurity\""
],
"path": "x-pack/plugins/actions/common/connector_feature_config.ts",
"deprecated": false,
@@ -5627,10 +5627,10 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIFeature",
+ "id": "def-common.GenerativeAIForObservabilityFeature",
"type": "Object",
"tags": [],
- "label": "GenerativeAIFeature",
+ "label": "GenerativeAIForObservabilityFeature",
"description": [],
"path": "x-pack/plugins/actions/common/connector_feature_config.ts",
"deprecated": false,
@@ -5638,7 +5638,7 @@
"children": [
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIFeature.id",
+ "id": "def-common.GenerativeAIForObservabilityFeature.id",
"type": "string",
"tags": [],
"label": "id",
@@ -5649,7 +5649,7 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIFeature.name",
+ "id": "def-common.GenerativeAIForObservabilityFeature.name",
"type": "string",
"tags": [],
"label": "name",
@@ -5660,7 +5660,7 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIFeature.compatibility",
+ "id": "def-common.GenerativeAIForObservabilityFeature.compatibility",
"type": "string",
"tags": [],
"label": "compatibility",
@@ -5674,10 +5674,10 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIForObservabilityFeature",
+ "id": "def-common.GenerativeAIForSecurityFeature",
"type": "Object",
"tags": [],
- "label": "GenerativeAIForObservabilityFeature",
+ "label": "GenerativeAIForSecurityFeature",
"description": [],
"path": "x-pack/plugins/actions/common/connector_feature_config.ts",
"deprecated": false,
@@ -5685,7 +5685,7 @@
"children": [
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIForObservabilityFeature.id",
+ "id": "def-common.GenerativeAIForSecurityFeature.id",
"type": "string",
"tags": [],
"label": "id",
@@ -5696,7 +5696,7 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIForObservabilityFeature.name",
+ "id": "def-common.GenerativeAIForSecurityFeature.name",
"type": "string",
"tags": [],
"label": "name",
@@ -5707,7 +5707,7 @@
},
{
"parentPluginId": "actions",
- "id": "def-common.GenerativeAIForObservabilityFeature.compatibility",
+ "id": "def-common.GenerativeAIForSecurityFeature.compatibility",
"type": "string",
"tags": [],
"label": "compatibility",
diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx
index 9b6fc4e409929..de26507bcfff1 100644
--- a/api_docs/actions.mdx
+++ b/api_docs/actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions
title: "actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the actions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions']
---
import actionsObj from './actions.devdocs.json';
diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx
index 08df2353949dd..eb1f034f1a10a 100644
--- a/api_docs/advanced_settings.mdx
+++ b/api_docs/advanced_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings
title: "advancedSettings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the advancedSettings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings']
---
import advancedSettingsObj from './advanced_settings.devdocs.json';
diff --git a/api_docs/ai_assistant_management_observability.mdx b/api_docs/ai_assistant_management_observability.mdx
index c63f25666847b..0a98c39521ae8 100644
--- a/api_docs/ai_assistant_management_observability.mdx
+++ b/api_docs/ai_assistant_management_observability.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementObservability
title: "aiAssistantManagementObservability"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiAssistantManagementObservability plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementObservability']
---
import aiAssistantManagementObservabilityObj from './ai_assistant_management_observability.devdocs.json';
diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx
index b60876a8b2d03..eca06dcbd7714 100644
--- a/api_docs/ai_assistant_management_selection.mdx
+++ b/api_docs/ai_assistant_management_selection.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection
title: "aiAssistantManagementSelection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiAssistantManagementSelection plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection']
---
import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json';
diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx
index 15fa9e290efd9..bfda2e91059ee 100644
--- a/api_docs/aiops.mdx
+++ b/api_docs/aiops.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops
title: "aiops"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiops plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops']
---
import aiopsObj from './aiops.devdocs.json';
diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx
index 28e361099ddaa..16b47955f9f51 100644
--- a/api_docs/alerting.mdx
+++ b/api_docs/alerting.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting
title: "alerting"
image: https://source.unsplash.com/400x175/?github
description: API docs for the alerting plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting']
---
import alertingObj from './alerting.devdocs.json';
diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx
index 8a11d4b792ef3..0f3f9dfbd9aa4 100644
--- a/api_docs/apm.mdx
+++ b/api_docs/apm.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm
title: "apm"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apm plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm']
---
import apmObj from './apm.devdocs.json';
diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx
index 486a985442330..de8049656ed9f 100644
--- a/api_docs/apm_data_access.mdx
+++ b/api_docs/apm_data_access.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess
title: "apmDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apmDataAccess plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess']
---
import apmDataAccessObj from './apm_data_access.devdocs.json';
diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx
index 3aa9b422a8787..b0450e6924df7 100644
--- a/api_docs/asset_manager.mdx
+++ b/api_docs/asset_manager.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager
title: "assetManager"
image: https://source.unsplash.com/400x175/?github
description: API docs for the assetManager plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager']
---
import assetManagerObj from './asset_manager.devdocs.json';
diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx
index 933a72cbfb56f..fcecafc2f1b02 100644
--- a/api_docs/banners.mdx
+++ b/api_docs/banners.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners
title: "banners"
image: https://source.unsplash.com/400x175/?github
description: API docs for the banners plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners']
---
import bannersObj from './banners.devdocs.json';
diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx
index 08752e5f08ccf..fbe1e44f339a0 100644
--- a/api_docs/bfetch.mdx
+++ b/api_docs/bfetch.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch
title: "bfetch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the bfetch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch']
---
import bfetchObj from './bfetch.devdocs.json';
diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx
index 789f5a2e2ad18..3bc3812b7b411 100644
--- a/api_docs/canvas.mdx
+++ b/api_docs/canvas.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas
title: "canvas"
image: https://source.unsplash.com/400x175/?github
description: API docs for the canvas plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas']
---
import canvasObj from './canvas.devdocs.json';
diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx
index 50dee46bbc175..d2dfe543b82b7 100644
--- a/api_docs/cases.mdx
+++ b/api_docs/cases.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases
title: "cases"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cases plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases']
---
import casesObj from './cases.devdocs.json';
diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx
index 904d7ad0d6eae..aaf1b2f9d9bec 100644
--- a/api_docs/charts.mdx
+++ b/api_docs/charts.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts
title: "charts"
image: https://source.unsplash.com/400x175/?github
description: API docs for the charts plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts']
---
import chartsObj from './charts.devdocs.json';
diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx
index de6eb53830687..264aa5e43836f 100644
--- a/api_docs/cloud.mdx
+++ b/api_docs/cloud.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud
title: "cloud"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloud plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud']
---
import cloudObj from './cloud.devdocs.json';
diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx
index f8df5d8b1d7fc..470753fb30ddb 100644
--- a/api_docs/cloud_data_migration.mdx
+++ b/api_docs/cloud_data_migration.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration
title: "cloudDataMigration"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudDataMigration plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration']
---
import cloudDataMigrationObj from './cloud_data_migration.devdocs.json';
diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx
index a3e3efcff6aa3..0d54ac92ab2ce 100644
--- a/api_docs/cloud_defend.mdx
+++ b/api_docs/cloud_defend.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend
title: "cloudDefend"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudDefend plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend']
---
import cloudDefendObj from './cloud_defend.devdocs.json';
diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx
index fa3d2ba58b0c0..5b12b7c9eb824 100644
--- a/api_docs/cloud_experiments.mdx
+++ b/api_docs/cloud_experiments.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments
title: "cloudExperiments"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudExperiments plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments']
---
import cloudExperimentsObj from './cloud_experiments.devdocs.json';
diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx
index 884584688fcdf..b75a7c93a93e6 100644
--- a/api_docs/cloud_security_posture.mdx
+++ b/api_docs/cloud_security_posture.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture
title: "cloudSecurityPosture"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudSecurityPosture plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture']
---
import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json';
diff --git a/api_docs/console.mdx b/api_docs/console.mdx
index 1b98439c1e0d5..bf078e65feeca 100644
--- a/api_docs/console.mdx
+++ b/api_docs/console.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console
title: "console"
image: https://source.unsplash.com/400x175/?github
description: API docs for the console plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console']
---
import consoleObj from './console.devdocs.json';
diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx
index f9dba5f904033..8aea556ce8fb9 100644
--- a/api_docs/content_management.mdx
+++ b/api_docs/content_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement
title: "contentManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the contentManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement']
---
import contentManagementObj from './content_management.devdocs.json';
diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx
index 6dfd5cfbce66f..bb3b9c6b0e52c 100644
--- a/api_docs/controls.mdx
+++ b/api_docs/controls.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls
title: "controls"
image: https://source.unsplash.com/400x175/?github
description: API docs for the controls plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls']
---
import controlsObj from './controls.devdocs.json';
diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx
index 066b2ad67f52a..71d081858a625 100644
--- a/api_docs/custom_integrations.mdx
+++ b/api_docs/custom_integrations.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations
title: "customIntegrations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the customIntegrations plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations']
---
import customIntegrationsObj from './custom_integrations.devdocs.json';
diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx
index 3aaf1a73398e3..0bb6ed6fdd812 100644
--- a/api_docs/dashboard.mdx
+++ b/api_docs/dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard
title: "dashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboard plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard']
---
import dashboardObj from './dashboard.devdocs.json';
diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx
index cf0fbc962179b..677462c199dd9 100644
--- a/api_docs/dashboard_enhanced.mdx
+++ b/api_docs/dashboard_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced
title: "dashboardEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboardEnhanced plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced']
---
import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json';
diff --git a/api_docs/data.mdx b/api_docs/data.mdx
index 908a26ac7ca09..5d65a663e0421 100644
--- a/api_docs/data.mdx
+++ b/api_docs/data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data
title: "data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data']
---
import dataObj from './data.devdocs.json';
diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx
index e8ed44d73684f..a2888ecc1cc04 100644
--- a/api_docs/data_query.mdx
+++ b/api_docs/data_query.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query
title: "data.query"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.query plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query']
---
import dataQueryObj from './data_query.devdocs.json';
diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx
index 14d4d5b20d10d..5cb4ae35890b9 100644
--- a/api_docs/data_search.mdx
+++ b/api_docs/data_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search
title: "data.search"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.search plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search']
---
import dataSearchObj from './data_search.devdocs.json';
diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx
index 482b412c91fcc..30c7721ccb68a 100644
--- a/api_docs/data_view_editor.mdx
+++ b/api_docs/data_view_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor
title: "dataViewEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewEditor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor']
---
import dataViewEditorObj from './data_view_editor.devdocs.json';
diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx
index 75fc42ef61f62..00b8336306e7f 100644
--- a/api_docs/data_view_field_editor.mdx
+++ b/api_docs/data_view_field_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor
title: "dataViewFieldEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewFieldEditor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor']
---
import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json';
diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx
index 6e49fa6c26ff0..a2b638223ab45 100644
--- a/api_docs/data_view_management.mdx
+++ b/api_docs/data_view_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement
title: "dataViewManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement']
---
import dataViewManagementObj from './data_view_management.devdocs.json';
diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx
index f8ac9c9b24ca5..abab5880a2227 100644
--- a/api_docs/data_views.mdx
+++ b/api_docs/data_views.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews
title: "dataViews"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViews plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews']
---
import dataViewsObj from './data_views.devdocs.json';
diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx
index d27868ff533f8..225a2b61a8fdd 100644
--- a/api_docs/data_visualizer.mdx
+++ b/api_docs/data_visualizer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer
title: "dataVisualizer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataVisualizer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer']
---
import dataVisualizerObj from './data_visualizer.devdocs.json';
diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx
index 51c627244fdc7..4c8fe64d55704 100644
--- a/api_docs/dataset_quality.mdx
+++ b/api_docs/dataset_quality.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality
title: "datasetQuality"
image: https://source.unsplash.com/400x175/?github
description: API docs for the datasetQuality plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality']
---
import datasetQualityObj from './dataset_quality.devdocs.json';
diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx
index b5602a70aa9a1..213b70cd5b09a 100644
--- a/api_docs/deprecations_by_api.mdx
+++ b/api_docs/deprecations_by_api.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api
title: Deprecated API usage by API
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx
index fb5eb527d5e65..4970c63b78c77 100644
--- a/api_docs/deprecations_by_plugin.mdx
+++ b/api_docs/deprecations_by_plugin.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin
title: Deprecated API usage by plugin
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
@@ -983,7 +983,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| Deprecated API | Reference location(s) | Remove By |
| ---------------|-----------|-----------|
-| | [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/confirm_modal_promise.tsx#:~:text=toMountPoint), [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/confirm_modal_promise.tsx#:~:text=toMountPoint), [remove_layer_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/remove_layer_action.tsx#:~:text=toMountPoint), [remove_layer_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/remove_layer_action.tsx#:~:text=toMountPoint), [revert_changes_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx#:~:text=toMountPoint), [revert_changes_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx#:~:text=toMountPoint), [edit_action_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/edit_action_helpers.ts#:~:text=toMountPoint), [edit_action_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/edit_action_helpers.ts#:~:text=toMountPoint) | - |
+| | [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/confirm_modal_promise.tsx#:~:text=toMountPoint), [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/confirm_modal_promise.tsx#:~:text=toMountPoint), [remove_layer_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/remove_layer_action.tsx#:~:text=toMountPoint), [remove_layer_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_actions/remove_layer_action.tsx#:~:text=toMountPoint), [revert_changes_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx#:~:text=toMountPoint), [revert_changes_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/revert_changes_action.tsx#:~:text=toMountPoint), [edit_action_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/edit_action_helpers.ts#:~:text=toMountPoint), [edit_action_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/edit_action_helpers.ts#:~:text=toMountPoint), [in_app_embeddable_edit_action_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/in_app_embeddable_edit_action_helpers.tsx#:~:text=toMountPoint), [in_app_embeddable_edit_action_helpers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/in_app_embeddable_edit_action_helpers.tsx#:~:text=toMountPoint) | - |
| | [help_popover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/help_popover.tsx#:~:text=KibanaThemeProvider), [help_popover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/help_popover.tsx#:~:text=KibanaThemeProvider), [help_popover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/help_popover.tsx#:~:text=KibanaThemeProvider), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/datatable/expression.tsx#:~:text=KibanaThemeProvider), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/datatable/expression.tsx#:~:text=KibanaThemeProvider), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/datatable/expression.tsx#:~:text=KibanaThemeProvider), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=KibanaThemeProvider), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=KibanaThemeProvider), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=KibanaThemeProvider), [settings_menu.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/settings_menu.tsx#:~:text=KibanaThemeProvider)+ 12 more | - |
| | [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 |
| | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract) | - |
diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx
index 50a0f24b90d18..e601e74202b0b 100644
--- a/api_docs/deprecations_by_team.mdx
+++ b/api_docs/deprecations_by_team.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam
slug: /kibana-dev-docs/api-meta/deprecations-due-by-team
title: Deprecated APIs due to be removed, by team
description: Lists the teams that are referencing deprecated APIs with a remove by date.
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx
index 2eb27ed7d537f..c2add483113cd 100644
--- a/api_docs/dev_tools.mdx
+++ b/api_docs/dev_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools
title: "devTools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the devTools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools']
---
import devToolsObj from './dev_tools.devdocs.json';
diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx
index 0401920b1678b..e724fcebc1154 100644
--- a/api_docs/discover.mdx
+++ b/api_docs/discover.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover
title: "discover"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discover plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover']
---
import discoverObj from './discover.devdocs.json';
diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx
index 8d3d79e298cbe..f3b51b016f9d8 100644
--- a/api_docs/discover_enhanced.mdx
+++ b/api_docs/discover_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced
title: "discoverEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discoverEnhanced plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced']
---
import discoverEnhancedObj from './discover_enhanced.devdocs.json';
diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx
index 821e5c3e07aa1..4355223c5fc93 100644
--- a/api_docs/ecs_data_quality_dashboard.mdx
+++ b/api_docs/ecs_data_quality_dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard
title: "ecsDataQualityDashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ecsDataQualityDashboard plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard']
---
import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json';
diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx
index c9b0a42d493d1..139806c2f865b 100644
--- a/api_docs/elastic_assistant.mdx
+++ b/api_docs/elastic_assistant.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant
title: "elasticAssistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the elasticAssistant plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant']
---
import elasticAssistantObj from './elastic_assistant.devdocs.json';
diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx
index 76eae0e07b40d..cc234c187a559 100644
--- a/api_docs/embeddable.mdx
+++ b/api_docs/embeddable.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable
title: "embeddable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddable plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable']
---
import embeddableObj from './embeddable.devdocs.json';
diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx
index 548174d7de37d..18f8376ee3de7 100644
--- a/api_docs/embeddable_enhanced.mdx
+++ b/api_docs/embeddable_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced
title: "embeddableEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddableEnhanced plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced']
---
import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json';
diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx
index 352efa1e656ac..18f4246a01dd8 100644
--- a/api_docs/encrypted_saved_objects.mdx
+++ b/api_docs/encrypted_saved_objects.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects
title: "encryptedSavedObjects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the encryptedSavedObjects plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects']
---
import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json';
diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx
index bd1c4bdaf32a6..b51fe83673f21 100644
--- a/api_docs/enterprise_search.mdx
+++ b/api_docs/enterprise_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch
title: "enterpriseSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the enterpriseSearch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch']
---
import enterpriseSearchObj from './enterprise_search.devdocs.json';
diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx
index 6c760ef1be96c..85cf8df07e596 100644
--- a/api_docs/es_ui_shared.mdx
+++ b/api_docs/es_ui_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared
title: "esUiShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the esUiShared plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared']
---
import esUiSharedObj from './es_ui_shared.devdocs.json';
diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx
index 89cf436a8d03f..fb4d90e07b134 100644
--- a/api_docs/event_annotation.mdx
+++ b/api_docs/event_annotation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation
title: "eventAnnotation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotation plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation']
---
import eventAnnotationObj from './event_annotation.devdocs.json';
diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx
index 4285b824b2865..fb294a77b855f 100644
--- a/api_docs/event_annotation_listing.mdx
+++ b/api_docs/event_annotation_listing.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing
title: "eventAnnotationListing"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotationListing plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing']
---
import eventAnnotationListingObj from './event_annotation_listing.devdocs.json';
diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx
index 0f598efcc8e83..bfc44c074646a 100644
--- a/api_docs/event_log.mdx
+++ b/api_docs/event_log.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog
title: "eventLog"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventLog plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog']
---
import eventLogObj from './event_log.devdocs.json';
diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx
index eddcfa9df88b8..b9c38ce110fb2 100644
--- a/api_docs/exploratory_view.mdx
+++ b/api_docs/exploratory_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView
title: "exploratoryView"
image: https://source.unsplash.com/400x175/?github
description: API docs for the exploratoryView plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView']
---
import exploratoryViewObj from './exploratory_view.devdocs.json';
diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx
index 498a0ab179633..a4c4c1afddcda 100644
--- a/api_docs/expression_error.mdx
+++ b/api_docs/expression_error.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError
title: "expressionError"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionError plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError']
---
import expressionErrorObj from './expression_error.devdocs.json';
diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx
index a58ef618b1988..1c68b30bd445f 100644
--- a/api_docs/expression_gauge.mdx
+++ b/api_docs/expression_gauge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge
title: "expressionGauge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionGauge plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge']
---
import expressionGaugeObj from './expression_gauge.devdocs.json';
diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx
index 53f605f27359f..92c26b86c9a43 100644
--- a/api_docs/expression_heatmap.mdx
+++ b/api_docs/expression_heatmap.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap
title: "expressionHeatmap"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionHeatmap plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap']
---
import expressionHeatmapObj from './expression_heatmap.devdocs.json';
diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx
index 8ffa228f761ea..7b26af3c197f0 100644
--- a/api_docs/expression_image.mdx
+++ b/api_docs/expression_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage
title: "expressionImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionImage plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage']
---
import expressionImageObj from './expression_image.devdocs.json';
diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx
index 3339ac65b98da..034efa3efcfaa 100644
--- a/api_docs/expression_legacy_metric_vis.mdx
+++ b/api_docs/expression_legacy_metric_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis
title: "expressionLegacyMetricVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionLegacyMetricVis plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis']
---
import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json';
diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx
index d5053bdf2009c..e6f2d3b795bb4 100644
--- a/api_docs/expression_metric.mdx
+++ b/api_docs/expression_metric.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric
title: "expressionMetric"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionMetric plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric']
---
import expressionMetricObj from './expression_metric.devdocs.json';
diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx
index b4df1088239a3..52cbf951cd046 100644
--- a/api_docs/expression_metric_vis.mdx
+++ b/api_docs/expression_metric_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis
title: "expressionMetricVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionMetricVis plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis']
---
import expressionMetricVisObj from './expression_metric_vis.devdocs.json';
diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx
index 94b1732f35b83..a84bf82ffc14c 100644
--- a/api_docs/expression_partition_vis.mdx
+++ b/api_docs/expression_partition_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis
title: "expressionPartitionVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionPartitionVis plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis']
---
import expressionPartitionVisObj from './expression_partition_vis.devdocs.json';
diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx
index 1875640df8d15..719991f7b8006 100644
--- a/api_docs/expression_repeat_image.mdx
+++ b/api_docs/expression_repeat_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage
title: "expressionRepeatImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionRepeatImage plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage']
---
import expressionRepeatImageObj from './expression_repeat_image.devdocs.json';
diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx
index ac5b410ac3c51..46ab90f008f51 100644
--- a/api_docs/expression_reveal_image.mdx
+++ b/api_docs/expression_reveal_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage
title: "expressionRevealImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionRevealImage plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage']
---
import expressionRevealImageObj from './expression_reveal_image.devdocs.json';
diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx
index 6c36c1616bbb5..6e76ad6744534 100644
--- a/api_docs/expression_shape.mdx
+++ b/api_docs/expression_shape.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape
title: "expressionShape"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionShape plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape']
---
import expressionShapeObj from './expression_shape.devdocs.json';
diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx
index 7080b06bdcad3..20f827c0adce2 100644
--- a/api_docs/expression_tagcloud.mdx
+++ b/api_docs/expression_tagcloud.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud
title: "expressionTagcloud"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionTagcloud plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud']
---
import expressionTagcloudObj from './expression_tagcloud.devdocs.json';
diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx
index 9c93e19857dbd..4a7cee81fc008 100644
--- a/api_docs/expression_x_y.mdx
+++ b/api_docs/expression_x_y.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY
title: "expressionXY"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionXY plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY']
---
import expressionXYObj from './expression_x_y.devdocs.json';
diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx
index 7e6becdb5e3ba..774dc6263115c 100644
--- a/api_docs/expressions.mdx
+++ b/api_docs/expressions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions
title: "expressions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions']
---
import expressionsObj from './expressions.devdocs.json';
diff --git a/api_docs/features.mdx b/api_docs/features.mdx
index 4e9cddb8f0c95..c6d75147f3d3e 100644
--- a/api_docs/features.mdx
+++ b/api_docs/features.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features
title: "features"
image: https://source.unsplash.com/400x175/?github
description: API docs for the features plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features']
---
import featuresObj from './features.devdocs.json';
diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx
index 83dc20b9d14f7..65120163c6ed9 100644
--- a/api_docs/field_formats.mdx
+++ b/api_docs/field_formats.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats
title: "fieldFormats"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fieldFormats plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats']
---
import fieldFormatsObj from './field_formats.devdocs.json';
diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx
index 05805282482bc..3def4f9ef1cb6 100644
--- a/api_docs/file_upload.mdx
+++ b/api_docs/file_upload.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload
title: "fileUpload"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fileUpload plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload']
---
import fileUploadObj from './file_upload.devdocs.json';
diff --git a/api_docs/files.mdx b/api_docs/files.mdx
index 0a106848874eb..9e6d7cc661162 100644
--- a/api_docs/files.mdx
+++ b/api_docs/files.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files
title: "files"
image: https://source.unsplash.com/400x175/?github
description: API docs for the files plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files']
---
import filesObj from './files.devdocs.json';
diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx
index c41633bb5c407..a44cb66219221 100644
--- a/api_docs/files_management.mdx
+++ b/api_docs/files_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement
title: "filesManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the filesManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement']
---
import filesManagementObj from './files_management.devdocs.json';
diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx
index d023bf23660db..d728b45048382 100644
--- a/api_docs/fleet.mdx
+++ b/api_docs/fleet.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet
title: "fleet"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fleet plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet']
---
import fleetObj from './fleet.devdocs.json';
diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx
index f1c3cfb571376..6242555f2a633 100644
--- a/api_docs/global_search.mdx
+++ b/api_docs/global_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch
title: "globalSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the globalSearch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch']
---
import globalSearchObj from './global_search.devdocs.json';
diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx
index 67e293184baf7..d9a7629462fb6 100644
--- a/api_docs/guided_onboarding.mdx
+++ b/api_docs/guided_onboarding.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding
title: "guidedOnboarding"
image: https://source.unsplash.com/400x175/?github
description: API docs for the guidedOnboarding plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding']
---
import guidedOnboardingObj from './guided_onboarding.devdocs.json';
diff --git a/api_docs/home.mdx b/api_docs/home.mdx
index e15635e437a35..bfefe77304eeb 100644
--- a/api_docs/home.mdx
+++ b/api_docs/home.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home
title: "home"
image: https://source.unsplash.com/400x175/?github
description: API docs for the home plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home']
---
import homeObj from './home.devdocs.json';
diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx
index 269c949a2b510..05974ecb4e023 100644
--- a/api_docs/image_embeddable.mdx
+++ b/api_docs/image_embeddable.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable
title: "imageEmbeddable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the imageEmbeddable plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable']
---
import imageEmbeddableObj from './image_embeddable.devdocs.json';
diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx
index 673edd6fc9991..58480fda2f3cd 100644
--- a/api_docs/index_lifecycle_management.mdx
+++ b/api_docs/index_lifecycle_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement
title: "indexLifecycleManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the indexLifecycleManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement']
---
import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json';
diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx
index d7047ed6918cb..5b5098be493c2 100644
--- a/api_docs/index_management.mdx
+++ b/api_docs/index_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement
title: "indexManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the indexManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement']
---
import indexManagementObj from './index_management.devdocs.json';
diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx
index 306a2dd4f1836..15efec7b7a862 100644
--- a/api_docs/infra.mdx
+++ b/api_docs/infra.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra
title: "infra"
image: https://source.unsplash.com/400x175/?github
description: API docs for the infra plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra']
---
import infraObj from './infra.devdocs.json';
diff --git a/api_docs/ingest_pipelines.mdx b/api_docs/ingest_pipelines.mdx
index 604704f4a4644..721956b50f44d 100644
--- a/api_docs/ingest_pipelines.mdx
+++ b/api_docs/ingest_pipelines.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ingestPipelines
title: "ingestPipelines"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ingestPipelines plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ingestPipelines']
---
import ingestPipelinesObj from './ingest_pipelines.devdocs.json';
diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx
index c031e57df940c..589c2bbacb8e5 100644
--- a/api_docs/inspector.mdx
+++ b/api_docs/inspector.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector
title: "inspector"
image: https://source.unsplash.com/400x175/?github
description: API docs for the inspector plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector']
---
import inspectorObj from './inspector.devdocs.json';
diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx
index 2c4f4409c50e6..54b74638e5efa 100644
--- a/api_docs/interactive_setup.mdx
+++ b/api_docs/interactive_setup.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup
title: "interactiveSetup"
image: https://source.unsplash.com/400x175/?github
description: API docs for the interactiveSetup plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup']
---
import interactiveSetupObj from './interactive_setup.devdocs.json';
diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx
index 58c8dd293a89a..4137bb163670f 100644
--- a/api_docs/kbn_ace.mdx
+++ b/api_docs/kbn_ace.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace
title: "@kbn/ace"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ace plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace']
---
import kbnAceObj from './kbn_ace.devdocs.json';
diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx
index 67732f9450a66..13451fbd735a9 100644
--- a/api_docs/kbn_actions_types.mdx
+++ b/api_docs/kbn_actions_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types
title: "@kbn/actions-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/actions-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types']
---
import kbnActionsTypesObj from './kbn_actions_types.devdocs.json';
diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx
index 99efb29fa1878..7156b9d915894 100644
--- a/api_docs/kbn_aiops_components.mdx
+++ b/api_docs/kbn_aiops_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components
title: "@kbn/aiops-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/aiops-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components']
---
import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json';
diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx
index 7c4d66e6a79be..11fdbeef42d4a 100644
--- a/api_docs/kbn_aiops_utils.mdx
+++ b/api_docs/kbn_aiops_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils
title: "@kbn/aiops-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/aiops-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils']
---
import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json';
diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx
index 5d97cbcef983e..1f8cb8ae11b3a 100644
--- a/api_docs/kbn_alerting_api_integration_helpers.mdx
+++ b/api_docs/kbn_alerting_api_integration_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers
title: "@kbn/alerting-api-integration-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-api-integration-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers']
---
import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json';
diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx
index ea31276702c82..66187cc153a93 100644
--- a/api_docs/kbn_alerting_state_types.mdx
+++ b/api_docs/kbn_alerting_state_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types
title: "@kbn/alerting-state-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-state-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types']
---
import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json';
diff --git a/api_docs/kbn_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx
index 9c0634d2f5fac..320b473dfa631 100644
--- a/api_docs/kbn_alerting_types.mdx
+++ b/api_docs/kbn_alerting_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types
title: "@kbn/alerting-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types']
---
import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json';
diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx
index d13f7538c6f18..b5b2fd184d875 100644
--- a/api_docs/kbn_alerts_as_data_utils.mdx
+++ b/api_docs/kbn_alerts_as_data_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils
title: "@kbn/alerts-as-data-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerts-as-data-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils']
---
import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json';
diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx
index dd820870f56ae..e51123457adc3 100644
--- a/api_docs/kbn_alerts_ui_shared.mdx
+++ b/api_docs/kbn_alerts_ui_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared
title: "@kbn/alerts-ui-shared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerts-ui-shared plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared']
---
import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json';
diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx
index 07f4f676b6482..3a39452ebe55d 100644
--- a/api_docs/kbn_analytics.mdx
+++ b/api_docs/kbn_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics
title: "@kbn/analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics']
---
import kbnAnalyticsObj from './kbn_analytics.devdocs.json';
diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx
index aa6359d944086..d6aaf8f1b14d2 100644
--- a/api_docs/kbn_analytics_client.mdx
+++ b/api_docs/kbn_analytics_client.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client
title: "@kbn/analytics-client"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-client plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client']
---
import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json';
diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx
index 26f300afff2f9..7d944525ac029 100644
--- a/api_docs/kbn_analytics_collection_utils.mdx
+++ b/api_docs/kbn_analytics_collection_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils
title: "@kbn/analytics-collection-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-collection-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils']
---
import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
index eecc34a7903ac..117deae35a609 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser
title: "@kbn/analytics-shippers-elastic-v3-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser']
---
import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
index 12347d76060af..c86dc05c6e62a 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common
title: "@kbn/analytics-shippers-elastic-v3-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common']
---
import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
index 6f8daf129a9ad..e79c1a4bb6efd 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server
title: "@kbn/analytics-shippers-elastic-v3-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server']
---
import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx
index 4c7a7db8dc103..bf47513ee4c3f 100644
--- a/api_docs/kbn_analytics_shippers_fullstory.mdx
+++ b/api_docs/kbn_analytics_shippers_fullstory.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory
title: "@kbn/analytics-shippers-fullstory"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-fullstory plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory']
---
import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx
index 67adc5447da8c..05b42f6474901 100644
--- a/api_docs/kbn_analytics_shippers_gainsight.mdx
+++ b/api_docs/kbn_analytics_shippers_gainsight.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight
title: "@kbn/analytics-shippers-gainsight"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-gainsight plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight']
---
import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json';
diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx
index fb2645ed8940b..6e0c9a62762cf 100644
--- a/api_docs/kbn_apm_config_loader.mdx
+++ b/api_docs/kbn_apm_config_loader.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader
title: "@kbn/apm-config-loader"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-config-loader plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader']
---
import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json';
diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx
index c5a2d9d1be71e..4a3aa4a8f521f 100644
--- a/api_docs/kbn_apm_synthtrace.mdx
+++ b/api_docs/kbn_apm_synthtrace.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace
title: "@kbn/apm-synthtrace"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-synthtrace plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace']
---
import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json';
diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx
index b7e5007d1daef..c3d07a48388fa 100644
--- a/api_docs/kbn_apm_synthtrace_client.mdx
+++ b/api_docs/kbn_apm_synthtrace_client.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client
title: "@kbn/apm-synthtrace-client"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-synthtrace-client plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client']
---
import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json';
diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx
index 19dd1cddbbb54..233959f270a90 100644
--- a/api_docs/kbn_apm_utils.mdx
+++ b/api_docs/kbn_apm_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils
title: "@kbn/apm-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils']
---
import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json';
diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx
index 3b1aaa7f5bc1a..3b99a14d6bfe0 100644
--- a/api_docs/kbn_axe_config.mdx
+++ b/api_docs/kbn_axe_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config
title: "@kbn/axe-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/axe-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config']
---
import kbnAxeConfigObj from './kbn_axe_config.devdocs.json';
diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx
index 95e9ef9d8e2cc..9060b727214ae 100644
--- a/api_docs/kbn_bfetch_error.mdx
+++ b/api_docs/kbn_bfetch_error.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error
title: "@kbn/bfetch-error"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/bfetch-error plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error']
---
import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json';
diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx
index 4f9a6ae989578..67b97a7a5887c 100644
--- a/api_docs/kbn_calculate_auto.mdx
+++ b/api_docs/kbn_calculate_auto.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto
title: "@kbn/calculate-auto"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/calculate-auto plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto']
---
import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json';
diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx
index 8a0212183d0e7..bb2edb18ea9a5 100644
--- a/api_docs/kbn_calculate_width_from_char_count.mdx
+++ b/api_docs/kbn_calculate_width_from_char_count.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count
title: "@kbn/calculate-width-from-char-count"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/calculate-width-from-char-count plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count']
---
import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json';
diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx
index 3ad99c30a2135..35883fd545f14 100644
--- a/api_docs/kbn_cases_components.mdx
+++ b/api_docs/kbn_cases_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components
title: "@kbn/cases-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cases-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components']
---
import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json';
diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx
index 5da6071844462..d0b11157d3cb4 100644
--- a/api_docs/kbn_cell_actions.mdx
+++ b/api_docs/kbn_cell_actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions
title: "@kbn/cell-actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cell-actions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions']
---
import kbnCellActionsObj from './kbn_cell_actions.devdocs.json';
diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx
index f99acdf51bc1e..8a711d107d9c0 100644
--- a/api_docs/kbn_chart_expressions_common.mdx
+++ b/api_docs/kbn_chart_expressions_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common
title: "@kbn/chart-expressions-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/chart-expressions-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common']
---
import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json';
diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx
index 99dfb9291a2c5..d481994b1487f 100644
--- a/api_docs/kbn_chart_icons.mdx
+++ b/api_docs/kbn_chart_icons.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons
title: "@kbn/chart-icons"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/chart-icons plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons']
---
import kbnChartIconsObj from './kbn_chart_icons.devdocs.json';
diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx
index 8e4e8dcfeaf16..192964fd350d5 100644
--- a/api_docs/kbn_ci_stats_core.mdx
+++ b/api_docs/kbn_ci_stats_core.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core
title: "@kbn/ci-stats-core"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-core plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core']
---
import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json';
diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx
index 3c1646598d3c9..1de58527a62ab 100644
--- a/api_docs/kbn_ci_stats_performance_metrics.mdx
+++ b/api_docs/kbn_ci_stats_performance_metrics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics
title: "@kbn/ci-stats-performance-metrics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-performance-metrics plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics']
---
import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json';
diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx
index 9ae2a3c9cf53d..a58483bd883a6 100644
--- a/api_docs/kbn_ci_stats_reporter.mdx
+++ b/api_docs/kbn_ci_stats_reporter.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter
title: "@kbn/ci-stats-reporter"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-reporter plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter']
---
import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json';
diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx
index 0d428a2b65c4e..204802b71c98e 100644
--- a/api_docs/kbn_cli_dev_mode.mdx
+++ b/api_docs/kbn_cli_dev_mode.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode
title: "@kbn/cli-dev-mode"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cli-dev-mode plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode']
---
import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json';
diff --git a/api_docs/kbn_code_editor.devdocs.json b/api_docs/kbn_code_editor.devdocs.json
index 60e213c0c2768..31ae179a716b2 100644
--- a/api_docs/kbn_code_editor.devdocs.json
+++ b/api_docs/kbn_code_editor.devdocs.json
@@ -23,11 +23,15 @@
"parentPluginId": "@kbn/code-editor",
"id": "def-common.CodeEditor",
"type": "Function",
- "tags": [],
+ "tags": [
+ "see"
+ ],
"label": "CodeEditor",
- "description": [],
+ "description": [
+ "\nRenders a Monaco code editor with EUI color theme.\n"
+ ],
"signature": [
- "({ languageId, value, onChange, width, height, options, overrideEditorWillMount, editorDidMount, editorWillMount, useDarkTheme: useDarkThemeProp, transparentBackground, suggestionProvider, signatureProvider, hoverProvider, placeholder, languageConfiguration, \"aria-label\": ariaLabel, isCopyable, allowFullScreen, }: React.PropsWithChildren<",
+ "(props: React.PropsWithChildren<",
{
"pluginId": "@kbn/code-editor",
"scope": "common",
@@ -37,7 +41,7 @@
},
">) => JSX.Element"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/index.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [
@@ -46,7 +50,7 @@
"id": "def-common.CodeEditor.$1",
"type": "CompoundType",
"tags": [],
- "label": "{\n languageId,\n value,\n onChange,\n width,\n height,\n options,\n overrideEditorWillMount,\n editorDidMount,\n editorWillMount,\n useDarkTheme: useDarkThemeProp,\n transparentBackground,\n suggestionProvider,\n signatureProvider,\n hoverProvider,\n placeholder,\n languageConfiguration,\n 'aria-label': ariaLabel = i18n.translate('sharedUXPackages.codeEditor.ariaLabel', {\n defaultMessage: 'Code Editor',\n }),\n isCopyable = false,\n allowFullScreen = false,\n}",
+ "label": "props",
"description": [],
"signature": [
"React.PropsWithChildren<",
@@ -59,7 +63,58 @@
},
">"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/index.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.CodeEditorField",
+ "type": "Function",
+ "tags": [],
+ "label": "CodeEditorField",
+ "description": [
+ "\nRenders a Monaco code editor in the same style as other EUI form fields."
+ ],
+ "signature": [
+ "(props: React.PropsWithChildren<",
+ {
+ "pluginId": "@kbn/code-editor",
+ "scope": "common",
+ "docId": "kibKbnCodeEditorPluginApi",
+ "section": "def-common.CodeEditorProps",
+ "text": "CodeEditorProps"
+ },
+ ">) => JSX.Element"
+ ],
+ "path": "packages/shared-ux/code_editor/impl/index.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.CodeEditorField.$1",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "props",
+ "description": [],
+ "signature": [
+ "React.PropsWithChildren<",
+ {
+ "pluginId": "@kbn/code-editor",
+ "scope": "common",
+ "docId": "kibKbnCodeEditorPluginApi",
+ "section": "def-common.CodeEditorProps",
+ "text": "CodeEditorProps"
+ },
+ ">"
+ ],
+ "path": "packages/shared-ux/code_editor/impl/index.tsx",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
@@ -77,7 +132,7 @@
"tags": [],
"label": "CodeEditorProps",
"description": [],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [
@@ -93,7 +148,7 @@
"signature": [
"string | number | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -109,7 +164,7 @@
"signature": [
"string | number | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -122,7 +177,7 @@
"description": [
"ID of the editor language"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -135,7 +190,7 @@
"description": [
"Value of the editor"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -153,7 +208,7 @@
"editor",
".IModelContentChangedEvent) => void) | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [
@@ -167,7 +222,7 @@
"signature": [
"string"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
@@ -183,7 +238,7 @@
"editor",
".IModelContentChangedEvent"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
@@ -204,7 +259,7 @@
"editor",
".IStandaloneEditorConstructionOptions | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -221,7 +276,7 @@
"languages",
".CompletionItemProvider | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -238,7 +293,7 @@
"languages",
".SignatureHelpProvider | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -255,7 +310,7 @@
"languages",
".HoverProvider | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -272,7 +327,7 @@
"languages",
".LanguageConfiguration | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -288,7 +343,7 @@
"signature": [
"(() => void) | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [],
@@ -306,7 +361,7 @@
"signature": [
"(() => void) | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [],
@@ -326,7 +381,7 @@
"editor",
".IStandaloneCodeEditor) => void) | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"children": [
@@ -341,7 +396,7 @@
"editor",
".IStandaloneCodeEditor"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false,
"isRequired": true
@@ -361,7 +416,7 @@
"signature": [
"boolean | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -377,7 +432,7 @@
"signature": [
"boolean | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -393,7 +448,7 @@
"signature": [
"boolean | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -407,7 +462,7 @@
"signature": [
"string | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -423,7 +478,7 @@
"signature": [
"string | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -437,7 +492,7 @@
"signature": [
"boolean | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
},
@@ -451,7 +506,7 @@
"signature": [
"boolean | undefined"
],
- "path": "packages/shared-ux/code_editor/code_editor.tsx",
+ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx",
"deprecated": false,
"trackAdoption": false
}
@@ -460,7 +515,98 @@
}
],
"enums": [],
- "misc": [],
+ "misc": [
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"css\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/css/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"markdown\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/markdown/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"yaml\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/yaml/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"handlebars\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/handlebars/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"hjson\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/hjson/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/code-editor",
+ "id": "def-common.LANG",
+ "type": "string",
+ "tags": [],
+ "label": "LANG",
+ "description": [],
+ "signature": [
+ "\"grok\""
+ ],
+ "path": "packages/shared-ux/code_editor/impl/languages/grok/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ }
+ ],
"objects": []
}
}
\ No newline at end of file
diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx
index c979f6dc50d4f..5ec610306ad47 100644
--- a/api_docs/kbn_code_editor.mdx
+++ b/api_docs/kbn_code_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor
title: "@kbn/code-editor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/code-editor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor']
---
import kbnCodeEditorObj from './kbn_code_editor.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 26 | 0 | 9 | 0 |
+| 34 | 0 | 15 | 0 |
## Common
@@ -31,3 +31,6 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh
### Interfaces
+### Consts, variables and types
+
+
diff --git a/api_docs/kbn_code_editor_mock.devdocs.json b/api_docs/kbn_code_editor_mock.devdocs.json
new file mode 100644
index 0000000000000..76bcd112443c1
--- /dev/null
+++ b/api_docs/kbn_code_editor_mock.devdocs.json
@@ -0,0 +1,64 @@
+{
+ "id": "@kbn/code-editor-mock",
+ "client": {
+ "classes": [],
+ "functions": [],
+ "interfaces": [],
+ "enums": [],
+ "misc": [],
+ "objects": []
+ },
+ "server": {
+ "classes": [],
+ "functions": [],
+ "interfaces": [],
+ "enums": [],
+ "misc": [],
+ "objects": []
+ },
+ "common": {
+ "classes": [],
+ "functions": [
+ {
+ "parentPluginId": "@kbn/code-editor-mock",
+ "id": "def-common.MockedCodeEditor",
+ "type": "Function",
+ "tags": [],
+ "label": "MockedCodeEditor",
+ "description": [],
+ "signature": [
+ "(props: ",
+ "MonacoEditorProps",
+ " & { \"data-test-subj\"?: string | undefined; }) => JSX.Element"
+ ],
+ "path": "packages/shared-ux/code_editor/mocks/code_editor_mock.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/code-editor-mock",
+ "id": "def-common.MockedCodeEditor.$1",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "props",
+ "description": [],
+ "signature": [
+ "MonacoEditorProps",
+ " & { \"data-test-subj\"?: string | undefined; }"
+ ],
+ "path": "packages/shared-ux/code_editor/mocks/code_editor_mock.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
+ }
+ ],
+ "interfaces": [],
+ "enums": [],
+ "misc": [],
+ "objects": []
+ }
+}
\ No newline at end of file
diff --git a/api_docs/kbn_code_editor_mock.mdx b/api_docs/kbn_code_editor_mock.mdx
new file mode 100644
index 0000000000000..731ad447a6ea7
--- /dev/null
+++ b/api_docs/kbn_code_editor_mock.mdx
@@ -0,0 +1,30 @@
+---
+####
+#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system.
+#### Reach out in #docs-engineering for more info.
+####
+id: kibKbnCodeEditorMockPluginApi
+slug: /kibana-dev-docs/api/kbn-code-editor-mock
+title: "@kbn/code-editor-mock"
+image: https://source.unsplash.com/400x175/?github
+description: API docs for the @kbn/code-editor-mock plugin
+date: 2024-01-08
+tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mock']
+---
+import kbnCodeEditorMockObj from './kbn_code_editor_mock.devdocs.json';
+
+
+
+Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin.
+
+**Code health stats**
+
+| Public API count | Any count | Items lacking comments | Missing exports |
+|-------------------|-----------|------------------------|-----------------|
+| 2 | 0 | 2 | 0 |
+
+## Common
+
+### Functions
+
+
diff --git a/api_docs/kbn_code_owners.mdx b/api_docs/kbn_code_owners.mdx
index f226a1348df2f..63cb77f39b733 100644
--- a/api_docs/kbn_code_owners.mdx
+++ b/api_docs/kbn_code_owners.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-owners
title: "@kbn/code-owners"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/code-owners plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-owners']
---
import kbnCodeOwnersObj from './kbn_code_owners.devdocs.json';
diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx
index 888e0b94e7c94..fcb229641f6a0 100644
--- a/api_docs/kbn_coloring.mdx
+++ b/api_docs/kbn_coloring.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring
title: "@kbn/coloring"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/coloring plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring']
---
import kbnColoringObj from './kbn_coloring.devdocs.json';
diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx
index ecdf371ddfffd..7b8ea63672759 100644
--- a/api_docs/kbn_config.mdx
+++ b/api_docs/kbn_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config
title: "@kbn/config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config']
---
import kbnConfigObj from './kbn_config.devdocs.json';
diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx
index 5e15a806482fd..f9367eb930b43 100644
--- a/api_docs/kbn_config_mocks.mdx
+++ b/api_docs/kbn_config_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks
title: "@kbn/config-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks']
---
import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json';
diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx
index e8b490fcaa551..1446dc8d906ef 100644
--- a/api_docs/kbn_config_schema.mdx
+++ b/api_docs/kbn_config_schema.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema
title: "@kbn/config-schema"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config-schema plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema']
---
import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json';
diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx
index 2080f7a4f5456..05ca62f4f839a 100644
--- a/api_docs/kbn_content_management_content_editor.mdx
+++ b/api_docs/kbn_content_management_content_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor
title: "@kbn/content-management-content-editor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-content-editor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor']
---
import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json';
diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx
index afa1cc531eeca..262ff81ed25ff 100644
--- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx
+++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view
title: "@kbn/content-management-tabbed-table-list-view"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-tabbed-table-list-view plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view']
---
import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json';
diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx
index 296cdd60739d3..1738d4e090eb1 100644
--- a/api_docs/kbn_content_management_table_list_view.mdx
+++ b/api_docs/kbn_content_management_table_list_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view
title: "@kbn/content-management-table-list-view"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view']
---
import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json';
diff --git a/api_docs/kbn_content_management_table_list_view_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx
index 295f28d250efb..5af772f9be320 100644
--- a/api_docs/kbn_content_management_table_list_view_common.mdx
+++ b/api_docs/kbn_content_management_table_list_view_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common
title: "@kbn/content-management-table-list-view-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common']
---
import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json';
diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx
index bd4a59931d367..9c84c66683d39 100644
--- a/api_docs/kbn_content_management_table_list_view_table.mdx
+++ b/api_docs/kbn_content_management_table_list_view_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table
title: "@kbn/content-management-table-list-view-table"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view-table plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table']
---
import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json';
diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx
index 2334bbea11063..cb30b58aad04d 100644
--- a/api_docs/kbn_content_management_utils.mdx
+++ b/api_docs/kbn_content_management_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils
title: "@kbn/content-management-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils']
---
import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx
index 42c9d614c5797..bc18e4e504565 100644
--- a/api_docs/kbn_core_analytics_browser.mdx
+++ b/api_docs/kbn_core_analytics_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser
title: "@kbn/core-analytics-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser']
---
import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx
index 153a2c7a9152f..c072d1fb89c8c 100644
--- a/api_docs/kbn_core_analytics_browser_internal.mdx
+++ b/api_docs/kbn_core_analytics_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal
title: "@kbn/core-analytics-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal']
---
import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx
index b514f46a767d3..4825def1a935f 100644
--- a/api_docs/kbn_core_analytics_browser_mocks.mdx
+++ b/api_docs/kbn_core_analytics_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks
title: "@kbn/core-analytics-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks']
---
import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx
index 22a2b868300d7..a78495b81dc39 100644
--- a/api_docs/kbn_core_analytics_server.mdx
+++ b/api_docs/kbn_core_analytics_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server
title: "@kbn/core-analytics-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server']
---
import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx
index 8e99ad34f05ad..94bcadede20c4 100644
--- a/api_docs/kbn_core_analytics_server_internal.mdx
+++ b/api_docs/kbn_core_analytics_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal
title: "@kbn/core-analytics-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal']
---
import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx
index 34dc36645e8d9..76899bae27210 100644
--- a/api_docs/kbn_core_analytics_server_mocks.mdx
+++ b/api_docs/kbn_core_analytics_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks
title: "@kbn/core-analytics-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks']
---
import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx
index 003b923f10aa1..0f0678d4e02f3 100644
--- a/api_docs/kbn_core_application_browser.mdx
+++ b/api_docs/kbn_core_application_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser
title: "@kbn/core-application-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser']
---
import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json';
diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx
index 6286d2cb724ec..9449f33fbc41d 100644
--- a/api_docs/kbn_core_application_browser_internal.mdx
+++ b/api_docs/kbn_core_application_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal
title: "@kbn/core-application-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal']
---
import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx
index 4129c3bcf8444..452225bc32546 100644
--- a/api_docs/kbn_core_application_browser_mocks.mdx
+++ b/api_docs/kbn_core_application_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks
title: "@kbn/core-application-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks']
---
import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx
index 189ddf1305682..4103153c7db91 100644
--- a/api_docs/kbn_core_application_common.mdx
+++ b/api_docs/kbn_core_application_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common
title: "@kbn/core-application-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common']
---
import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json';
diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx
index c00e06b1d4e53..8d70b14ac7fc9 100644
--- a/api_docs/kbn_core_apps_browser_internal.mdx
+++ b/api_docs/kbn_core_apps_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal
title: "@kbn/core-apps-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal']
---
import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx
index dfc0190d41a19..7048cac854e09 100644
--- a/api_docs/kbn_core_apps_browser_mocks.mdx
+++ b/api_docs/kbn_core_apps_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks
title: "@kbn/core-apps-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks']
---
import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx
index 9a818b7a9cf70..b98e3bec7e364 100644
--- a/api_docs/kbn_core_apps_server_internal.mdx
+++ b/api_docs/kbn_core_apps_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal
title: "@kbn/core-apps-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal']
---
import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx
index 5d983edad908c..dd139afd2ac12 100644
--- a/api_docs/kbn_core_base_browser_mocks.mdx
+++ b/api_docs/kbn_core_base_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks
title: "@kbn/core-base-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks']
---
import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx
index 96380b2c5e499..93925b31b6886 100644
--- a/api_docs/kbn_core_base_common.mdx
+++ b/api_docs/kbn_core_base_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common
title: "@kbn/core-base-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common']
---
import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json';
diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx
index 10e1fbe8f64d3..efbe1b95714bb 100644
--- a/api_docs/kbn_core_base_server_internal.mdx
+++ b/api_docs/kbn_core_base_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal
title: "@kbn/core-base-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal']
---
import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx
index 8811b252d3a45..ba3c7d61fdbb3 100644
--- a/api_docs/kbn_core_base_server_mocks.mdx
+++ b/api_docs/kbn_core_base_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks
title: "@kbn/core-base-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks']
---
import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx
index 3e2a93bdaa39c..e87d1698aca14 100644
--- a/api_docs/kbn_core_capabilities_browser_mocks.mdx
+++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks
title: "@kbn/core-capabilities-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks']
---
import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx
index a43d1d79f59be..1afbb4e468ace 100644
--- a/api_docs/kbn_core_capabilities_common.mdx
+++ b/api_docs/kbn_core_capabilities_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common
title: "@kbn/core-capabilities-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common']
---
import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json';
diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx
index 9aecb50d3630b..5455a6c73adc9 100644
--- a/api_docs/kbn_core_capabilities_server.mdx
+++ b/api_docs/kbn_core_capabilities_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server
title: "@kbn/core-capabilities-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server']
---
import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json';
diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx
index 36c6be975a5db..f88e6cdd91468 100644
--- a/api_docs/kbn_core_capabilities_server_mocks.mdx
+++ b/api_docs/kbn_core_capabilities_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks
title: "@kbn/core-capabilities-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks']
---
import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx
index 6355589137357..7710ec98ae988 100644
--- a/api_docs/kbn_core_chrome_browser.mdx
+++ b/api_docs/kbn_core_chrome_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser
title: "@kbn/core-chrome-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-chrome-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser']
---
import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json';
diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx
index 9b90d0d77d1bc..af6c47068429f 100644
--- a/api_docs/kbn_core_chrome_browser_mocks.mdx
+++ b/api_docs/kbn_core_chrome_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks
title: "@kbn/core-chrome-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-chrome-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks']
---
import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx
index 36d73d21f57f4..f33ae790f55b6 100644
--- a/api_docs/kbn_core_config_server_internal.mdx
+++ b/api_docs/kbn_core_config_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal
title: "@kbn/core-config-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-config-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal']
---
import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx
index 11c405617243b..2be550f15e92e 100644
--- a/api_docs/kbn_core_custom_branding_browser.mdx
+++ b/api_docs/kbn_core_custom_branding_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser
title: "@kbn/core-custom-branding-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser']
---
import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx
index cf5f3594cacd5..ee615d9e90829 100644
--- a/api_docs/kbn_core_custom_branding_browser_internal.mdx
+++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal
title: "@kbn/core-custom-branding-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal']
---
import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx
index 5efaad8b4b761..005c64d3ee70d 100644
--- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx
+++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks
title: "@kbn/core-custom-branding-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks']
---
import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx
index c8d037dfb1be0..5deb236d5be51 100644
--- a/api_docs/kbn_core_custom_branding_common.mdx
+++ b/api_docs/kbn_core_custom_branding_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common
title: "@kbn/core-custom-branding-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common']
---
import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx
index ac3d4fee5471d..cd65af79ad0d8 100644
--- a/api_docs/kbn_core_custom_branding_server.mdx
+++ b/api_docs/kbn_core_custom_branding_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server
title: "@kbn/core-custom-branding-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server']
---
import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx
index f394f80ac1a44..6425cf7029368 100644
--- a/api_docs/kbn_core_custom_branding_server_internal.mdx
+++ b/api_docs/kbn_core_custom_branding_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal
title: "@kbn/core-custom-branding-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal']
---
import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx
index 6fa595b3f7ddb..b342a808f859d 100644
--- a/api_docs/kbn_core_custom_branding_server_mocks.mdx
+++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks
title: "@kbn/core-custom-branding-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks']
---
import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx
index 4dd8071edb617..ca9ea3054dc9f 100644
--- a/api_docs/kbn_core_deprecations_browser.mdx
+++ b/api_docs/kbn_core_deprecations_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser
title: "@kbn/core-deprecations-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser']
---
import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx
index 2868afa3f6c57..c794420203566 100644
--- a/api_docs/kbn_core_deprecations_browser_internal.mdx
+++ b/api_docs/kbn_core_deprecations_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal
title: "@kbn/core-deprecations-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal']
---
import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx
index 3583323fb993a..8e84fd14055ce 100644
--- a/api_docs/kbn_core_deprecations_browser_mocks.mdx
+++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks
title: "@kbn/core-deprecations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks']
---
import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx
index aa0538b54ed96..4943b0b06ff69 100644
--- a/api_docs/kbn_core_deprecations_common.mdx
+++ b/api_docs/kbn_core_deprecations_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common
title: "@kbn/core-deprecations-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common']
---
import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx
index 66613027f1595..e3e37627b59ab 100644
--- a/api_docs/kbn_core_deprecations_server.mdx
+++ b/api_docs/kbn_core_deprecations_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server
title: "@kbn/core-deprecations-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server']
---
import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx
index 07f76eadc4a07..20035cec5d208 100644
--- a/api_docs/kbn_core_deprecations_server_internal.mdx
+++ b/api_docs/kbn_core_deprecations_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal
title: "@kbn/core-deprecations-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal']
---
import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx
index c2eedb7775bc5..a3ed4405de3ec 100644
--- a/api_docs/kbn_core_deprecations_server_mocks.mdx
+++ b/api_docs/kbn_core_deprecations_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks
title: "@kbn/core-deprecations-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks']
---
import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx
index 7476d9890e76d..6a14c6b097272 100644
--- a/api_docs/kbn_core_doc_links_browser.mdx
+++ b/api_docs/kbn_core_doc_links_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser
title: "@kbn/core-doc-links-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser']
---
import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx
index ff520667e6286..ce3c043e48ec1 100644
--- a/api_docs/kbn_core_doc_links_browser_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks
title: "@kbn/core-doc-links-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks']
---
import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx
index 698406787e33c..4509f6c99fd43 100644
--- a/api_docs/kbn_core_doc_links_server.mdx
+++ b/api_docs/kbn_core_doc_links_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server
title: "@kbn/core-doc-links-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server']
---
import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx
index a4bfe1af57f18..c8fa82ffa0df6 100644
--- a/api_docs/kbn_core_doc_links_server_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks
title: "@kbn/core-doc-links-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks']
---
import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
index c6579465e4d94..bcc841f834e08 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal
title: "@kbn/core-elasticsearch-client-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal']
---
import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
index 50797c4a70444..fc029b2523dcf 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks
title: "@kbn/core-elasticsearch-client-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks']
---
import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx
index 5877335b3b4b6..9e56fc9569689 100644
--- a/api_docs/kbn_core_elasticsearch_server.mdx
+++ b/api_docs/kbn_core_elasticsearch_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server
title: "@kbn/core-elasticsearch-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server']
---
import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx
index dfd4378709eee..1c5b97f0d4314 100644
--- a/api_docs/kbn_core_elasticsearch_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal
title: "@kbn/core-elasticsearch-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal']
---
import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx
index b3194820e611d..769046c664e5e 100644
--- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks
title: "@kbn/core-elasticsearch-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks']
---
import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx
index 9096578c4a869..7d6b8330d557b 100644
--- a/api_docs/kbn_core_environment_server_internal.mdx
+++ b/api_docs/kbn_core_environment_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal
title: "@kbn/core-environment-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-environment-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal']
---
import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx
index d8329ab84c6fd..c1c3fb61f2d31 100644
--- a/api_docs/kbn_core_environment_server_mocks.mdx
+++ b/api_docs/kbn_core_environment_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks
title: "@kbn/core-environment-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-environment-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks']
---
import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx
index c6051b14b8bb8..8026c0ab43f0f 100644
--- a/api_docs/kbn_core_execution_context_browser.mdx
+++ b/api_docs/kbn_core_execution_context_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser
title: "@kbn/core-execution-context-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser']
---
import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx
index 0f4b1d809e2a9..f43f70cafd109 100644
--- a/api_docs/kbn_core_execution_context_browser_internal.mdx
+++ b/api_docs/kbn_core_execution_context_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal
title: "@kbn/core-execution-context-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal']
---
import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx
index e0335fd19b456..5ea87b95f6e78 100644
--- a/api_docs/kbn_core_execution_context_browser_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks
title: "@kbn/core-execution-context-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks']
---
import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx
index e34ee98f08541..4f3e3c0abfedf 100644
--- a/api_docs/kbn_core_execution_context_common.mdx
+++ b/api_docs/kbn_core_execution_context_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common
title: "@kbn/core-execution-context-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common']
---
import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx
index a9cd993ef3613..d3995cd89d9fa 100644
--- a/api_docs/kbn_core_execution_context_server.mdx
+++ b/api_docs/kbn_core_execution_context_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server
title: "@kbn/core-execution-context-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server']
---
import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx
index 9a092dd212918..f3b3ef53ac77a 100644
--- a/api_docs/kbn_core_execution_context_server_internal.mdx
+++ b/api_docs/kbn_core_execution_context_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal
title: "@kbn/core-execution-context-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal']
---
import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx
index fe7dfdc0640b1..48c4b63ae503f 100644
--- a/api_docs/kbn_core_execution_context_server_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks
title: "@kbn/core-execution-context-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks']
---
import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx
index ca637613e3dca..19218c6d1169d 100644
--- a/api_docs/kbn_core_fatal_errors_browser.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser
title: "@kbn/core-fatal-errors-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-fatal-errors-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser']
---
import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json';
diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
index 7bae8c7510fe8..833011686adb1 100644
--- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks
title: "@kbn/core-fatal-errors-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks']
---
import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx
index c0dc5ef4d8166..a3f5065ef9c63 100644
--- a/api_docs/kbn_core_http_browser.mdx
+++ b/api_docs/kbn_core_http_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser
title: "@kbn/core-http-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser']
---
import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json';
diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx
index c4a4931aa224e..95b53888ff15d 100644
--- a/api_docs/kbn_core_http_browser_internal.mdx
+++ b/api_docs/kbn_core_http_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal
title: "@kbn/core-http-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal']
---
import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx
index d5b59d087d88d..17a50883ba0a1 100644
--- a/api_docs/kbn_core_http_browser_mocks.mdx
+++ b/api_docs/kbn_core_http_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks
title: "@kbn/core-http-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks']
---
import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx
index fdaf73a8bdf94..b37d72557ef2e 100644
--- a/api_docs/kbn_core_http_common.mdx
+++ b/api_docs/kbn_core_http_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common
title: "@kbn/core-http-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common']
---
import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json';
diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx
index 7a13acd3b6ee4..26cbcf60f73a1 100644
--- a/api_docs/kbn_core_http_context_server_mocks.mdx
+++ b/api_docs/kbn_core_http_context_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks
title: "@kbn/core-http-context-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-context-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks']
---
import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx
index 3bc12db9ecfe0..2e8ac1e2d3077 100644
--- a/api_docs/kbn_core_http_request_handler_context_server.mdx
+++ b/api_docs/kbn_core_http_request_handler_context_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server
title: "@kbn/core-http-request-handler-context-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-request-handler-context-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server']
---
import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json';
diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx
index d6d4afcb46f88..931cead15fe20 100644
--- a/api_docs/kbn_core_http_resources_server.mdx
+++ b/api_docs/kbn_core_http_resources_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server
title: "@kbn/core-http-resources-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server']
---
import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json';
diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx
index f86eb611844b8..42cf6fd76bb0a 100644
--- a/api_docs/kbn_core_http_resources_server_internal.mdx
+++ b/api_docs/kbn_core_http_resources_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal
title: "@kbn/core-http-resources-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal']
---
import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx
index fb0b69d74b6c1..ff0944ca2767c 100644
--- a/api_docs/kbn_core_http_resources_server_mocks.mdx
+++ b/api_docs/kbn_core_http_resources_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks
title: "@kbn/core-http-resources-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks']
---
import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx
index 8717f3484e4d2..218d27aa92c22 100644
--- a/api_docs/kbn_core_http_router_server_internal.mdx
+++ b/api_docs/kbn_core_http_router_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal
title: "@kbn/core-http-router-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-router-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal']
---
import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx
index 89196d48aa807..206b200755990 100644
--- a/api_docs/kbn_core_http_router_server_mocks.mdx
+++ b/api_docs/kbn_core_http_router_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks
title: "@kbn/core-http-router-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-router-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks']
---
import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx
index 13108de8ed0b6..55ba743adc145 100644
--- a/api_docs/kbn_core_http_server.mdx
+++ b/api_docs/kbn_core_http_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server
title: "@kbn/core-http-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server']
---
import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json';
diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx
index c79302c665bd3..7ad722942435d 100644
--- a/api_docs/kbn_core_http_server_internal.mdx
+++ b/api_docs/kbn_core_http_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal
title: "@kbn/core-http-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal']
---
import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx
index 5346aa263fbfb..1f7e2e249d091 100644
--- a/api_docs/kbn_core_http_server_mocks.mdx
+++ b/api_docs/kbn_core_http_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks
title: "@kbn/core-http-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks']
---
import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx
index 5dc4097c8c4dc..643c81a0729fa 100644
--- a/api_docs/kbn_core_i18n_browser.mdx
+++ b/api_docs/kbn_core_i18n_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser
title: "@kbn/core-i18n-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser']
---
import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json';
diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx
index d5bfe62f3f7cd..2d19554b35ca2 100644
--- a/api_docs/kbn_core_i18n_browser_mocks.mdx
+++ b/api_docs/kbn_core_i18n_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks
title: "@kbn/core-i18n-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks']
---
import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx
index a9e8270c39be9..c829815d413e5 100644
--- a/api_docs/kbn_core_i18n_server.mdx
+++ b/api_docs/kbn_core_i18n_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server
title: "@kbn/core-i18n-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server']
---
import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json';
diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx
index f73490a95c855..c9861086656f5 100644
--- a/api_docs/kbn_core_i18n_server_internal.mdx
+++ b/api_docs/kbn_core_i18n_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal
title: "@kbn/core-i18n-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal']
---
import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx
index ef90dab3f1ad8..b8d0c580de7ce 100644
--- a/api_docs/kbn_core_i18n_server_mocks.mdx
+++ b/api_docs/kbn_core_i18n_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks
title: "@kbn/core-i18n-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks']
---
import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
index 1b36c7da81338..bb9991fe13ce3 100644
--- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
+++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks
title: "@kbn/core-injected-metadata-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks']
---
import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx
index 8597ee8c0c58a..a1fc3867009f1 100644
--- a/api_docs/kbn_core_integrations_browser_internal.mdx
+++ b/api_docs/kbn_core_integrations_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal
title: "@kbn/core-integrations-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-integrations-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal']
---
import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx
index 6d73ad37a3a4e..017f0c5598e56 100644
--- a/api_docs/kbn_core_integrations_browser_mocks.mdx
+++ b/api_docs/kbn_core_integrations_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks
title: "@kbn/core-integrations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-integrations-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks']
---
import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx
index e15a9cda86c0a..53ff0c3b398ad 100644
--- a/api_docs/kbn_core_lifecycle_browser.mdx
+++ b/api_docs/kbn_core_lifecycle_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser
title: "@kbn/core-lifecycle-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser']
---
import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx
index f1a80b337c646..b702eb16dbb2e 100644
--- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx
+++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks
title: "@kbn/core-lifecycle-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks']
---
import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx
index fb234bfd464e9..6eb2353eed15e 100644
--- a/api_docs/kbn_core_lifecycle_server.mdx
+++ b/api_docs/kbn_core_lifecycle_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server
title: "@kbn/core-lifecycle-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server']
---
import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx
index c050429f94976..e9f69cbd0d9cd 100644
--- a/api_docs/kbn_core_lifecycle_server_mocks.mdx
+++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks
title: "@kbn/core-lifecycle-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks']
---
import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx
index 4a382b53f4034..cb09b4bc7db92 100644
--- a/api_docs/kbn_core_logging_browser_mocks.mdx
+++ b/api_docs/kbn_core_logging_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks
title: "@kbn/core-logging-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks']
---
import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx
index a1be0d78c787e..2ad83a53b2231 100644
--- a/api_docs/kbn_core_logging_common_internal.mdx
+++ b/api_docs/kbn_core_logging_common_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal
title: "@kbn/core-logging-common-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-common-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal']
---
import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json';
diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx
index d10d6f1cb0fbf..4e1403073495f 100644
--- a/api_docs/kbn_core_logging_server.mdx
+++ b/api_docs/kbn_core_logging_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server
title: "@kbn/core-logging-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server']
---
import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json';
diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx
index 1cb9d7a42a66b..fc8d16111e065 100644
--- a/api_docs/kbn_core_logging_server_internal.mdx
+++ b/api_docs/kbn_core_logging_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal
title: "@kbn/core-logging-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal']
---
import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx
index 76e0e48e87d16..83c9cb19a8b8e 100644
--- a/api_docs/kbn_core_logging_server_mocks.mdx
+++ b/api_docs/kbn_core_logging_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks
title: "@kbn/core-logging-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks']
---
import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx
index 68bcc653afe36..06ecb90c79216 100644
--- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal
title: "@kbn/core-metrics-collectors-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-collectors-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal']
---
import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
index 9be45a959922a..00442a3e3509d 100644
--- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks
title: "@kbn/core-metrics-collectors-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks']
---
import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx
index f91bee45de346..6f9fd7e727ae1 100644
--- a/api_docs/kbn_core_metrics_server.mdx
+++ b/api_docs/kbn_core_metrics_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server
title: "@kbn/core-metrics-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server']
---
import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json';
diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx
index 08fd3abf4b2f2..0da12ecb1481e 100644
--- a/api_docs/kbn_core_metrics_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal
title: "@kbn/core-metrics-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal']
---
import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx
index 0a1cf0c52011e..33a6be07bfb61 100644
--- a/api_docs/kbn_core_metrics_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks
title: "@kbn/core-metrics-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks']
---
import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx
index cdf78183d3627..73cb9338dc0d8 100644
--- a/api_docs/kbn_core_mount_utils_browser.mdx
+++ b/api_docs/kbn_core_mount_utils_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser
title: "@kbn/core-mount-utils-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-mount-utils-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser']
---
import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json';
diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx
index b933d9fb7b074..dd01dbd005950 100644
--- a/api_docs/kbn_core_node_server.mdx
+++ b/api_docs/kbn_core_node_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server
title: "@kbn/core-node-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server']
---
import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json';
diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx
index 09603fc421f92..4974e50cce3fc 100644
--- a/api_docs/kbn_core_node_server_internal.mdx
+++ b/api_docs/kbn_core_node_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal
title: "@kbn/core-node-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal']
---
import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx
index d6b92cf6550ff..afe6c85c40097 100644
--- a/api_docs/kbn_core_node_server_mocks.mdx
+++ b/api_docs/kbn_core_node_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks
title: "@kbn/core-node-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks']
---
import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx
index 9b1954f72aea3..6955b28a4e251 100644
--- a/api_docs/kbn_core_notifications_browser.mdx
+++ b/api_docs/kbn_core_notifications_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser
title: "@kbn/core-notifications-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser']
---
import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json';
diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx
index 8c0198cc375f2..0967be8cc98fc 100644
--- a/api_docs/kbn_core_notifications_browser_internal.mdx
+++ b/api_docs/kbn_core_notifications_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal
title: "@kbn/core-notifications-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal']
---
import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx
index 8321d240778a3..f7e44a841714c 100644
--- a/api_docs/kbn_core_notifications_browser_mocks.mdx
+++ b/api_docs/kbn_core_notifications_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks
title: "@kbn/core-notifications-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks']
---
import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx
index dcd73424735c7..6a70f554916e5 100644
--- a/api_docs/kbn_core_overlays_browser.mdx
+++ b/api_docs/kbn_core_overlays_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser
title: "@kbn/core-overlays-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser']
---
import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json';
diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx
index f8d6214e106b7..c4d9138558e08 100644
--- a/api_docs/kbn_core_overlays_browser_internal.mdx
+++ b/api_docs/kbn_core_overlays_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal
title: "@kbn/core-overlays-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal']
---
import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx
index 3dd3b0dfe1827..ab809f335313f 100644
--- a/api_docs/kbn_core_overlays_browser_mocks.mdx
+++ b/api_docs/kbn_core_overlays_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks
title: "@kbn/core-overlays-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks']
---
import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx
index 99b2909488b72..fd42092e364b1 100644
--- a/api_docs/kbn_core_plugins_browser.mdx
+++ b/api_docs/kbn_core_plugins_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser
title: "@kbn/core-plugins-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser']
---
import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx
index 05bb9690c66da..5a01ed1dc5e5e 100644
--- a/api_docs/kbn_core_plugins_browser_mocks.mdx
+++ b/api_docs/kbn_core_plugins_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks
title: "@kbn/core-plugins-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks']
---
import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx
index 745e3ff7dc368..d881fdd278855 100644
--- a/api_docs/kbn_core_plugins_contracts_browser.mdx
+++ b/api_docs/kbn_core_plugins_contracts_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser
title: "@kbn/core-plugins-contracts-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-contracts-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser']
---
import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx
index dd9290362f01e..7ba2c27d31215 100644
--- a/api_docs/kbn_core_plugins_contracts_server.mdx
+++ b/api_docs/kbn_core_plugins_contracts_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server
title: "@kbn/core-plugins-contracts-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-contracts-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server']
---
import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx
index 22e9bdc289907..307f5c4b53a75 100644
--- a/api_docs/kbn_core_plugins_server.mdx
+++ b/api_docs/kbn_core_plugins_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server
title: "@kbn/core-plugins-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server']
---
import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx
index 141a858f1514f..5c63dd66e7c05 100644
--- a/api_docs/kbn_core_plugins_server_mocks.mdx
+++ b/api_docs/kbn_core_plugins_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks
title: "@kbn/core-plugins-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks']
---
import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx
index 78745c8f8794d..7621ae6cd92a1 100644
--- a/api_docs/kbn_core_preboot_server.mdx
+++ b/api_docs/kbn_core_preboot_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server
title: "@kbn/core-preboot-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-preboot-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server']
---
import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json';
diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx
index ac0c2b312d4f0..206fb083e6110 100644
--- a/api_docs/kbn_core_preboot_server_mocks.mdx
+++ b/api_docs/kbn_core_preboot_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks
title: "@kbn/core-preboot-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-preboot-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks']
---
import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx
index 2eaff65af4b9e..7026e2c22c70c 100644
--- a/api_docs/kbn_core_rendering_browser_mocks.mdx
+++ b/api_docs/kbn_core_rendering_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks
title: "@kbn/core-rendering-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks']
---
import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx
index cac034b79dbb5..4d3319e0f91ed 100644
--- a/api_docs/kbn_core_rendering_server_internal.mdx
+++ b/api_docs/kbn_core_rendering_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal
title: "@kbn/core-rendering-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal']
---
import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx
index ab6260c4eb1db..61796a97cdb48 100644
--- a/api_docs/kbn_core_rendering_server_mocks.mdx
+++ b/api_docs/kbn_core_rendering_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks
title: "@kbn/core-rendering-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks']
---
import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx
index 6ee52e34d7a5f..98270d5009bbf 100644
--- a/api_docs/kbn_core_root_server_internal.mdx
+++ b/api_docs/kbn_core_root_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal
title: "@kbn/core-root-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-root-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal']
---
import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx
index a4696878794f9..2af3f25c189c7 100644
--- a/api_docs/kbn_core_saved_objects_api_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_api_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser
title: "@kbn/core-saved-objects-api-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser']
---
import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx
index a2a20ce874dfe..7a002480ba77e 100644
--- a/api_docs/kbn_core_saved_objects_api_server.mdx
+++ b/api_docs/kbn_core_saved_objects_api_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server
title: "@kbn/core-saved-objects-api-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server']
---
import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx
index 315bd86bcfe8f..df2a81945e3b2 100644
--- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks
title: "@kbn/core-saved-objects-api-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks']
---
import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx
index c6fad755d60d3..0aeac44b76fbc 100644
--- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal
title: "@kbn/core-saved-objects-base-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-base-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal']
---
import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx
index d352c77e86b6f..5366c57af94e9 100644
--- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks
title: "@kbn/core-saved-objects-base-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks']
---
import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx
index 2386bbb345836..a8d0de764357b 100644
--- a/api_docs/kbn_core_saved_objects_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser
title: "@kbn/core-saved-objects-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser']
---
import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx
index f38f8a175534d..be62457bf7b19 100644
--- a/api_docs/kbn_core_saved_objects_browser_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal
title: "@kbn/core-saved-objects-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal']
---
import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx
index e2123b9db7fe9..ec574ccc6ec7b 100644
--- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks
title: "@kbn/core-saved-objects-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks']
---
import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx
index a03a55579e7c8..0cda29f90bb03 100644
--- a/api_docs/kbn_core_saved_objects_common.mdx
+++ b/api_docs/kbn_core_saved_objects_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common
title: "@kbn/core-saved-objects-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common']
---
import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx
index d447d007c9efe..95e988175cc63 100644
--- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal
title: "@kbn/core-saved-objects-import-export-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal']
---
import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx
index e9c44ca486b15..0287b870d218c 100644
--- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks
title: "@kbn/core-saved-objects-import-export-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks']
---
import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx
index 6557ea3b88b01..e2b1f95fb4c6d 100644
--- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal
title: "@kbn/core-saved-objects-migration-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal']
---
import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx
index ca68c544a4a84..2125ae4438662 100644
--- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks
title: "@kbn/core-saved-objects-migration-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks']
---
import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx
index 528d68226c1e8..dfe9ea5043551 100644
--- a/api_docs/kbn_core_saved_objects_server.mdx
+++ b/api_docs/kbn_core_saved_objects_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server
title: "@kbn/core-saved-objects-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server']
---
import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx
index 53029290bbcef..fb5bfa817c01b 100644
--- a/api_docs/kbn_core_saved_objects_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal
title: "@kbn/core-saved-objects-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal']
---
import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx
index aebb6f5ffb2a1..9aded48dd6d8b 100644
--- a/api_docs/kbn_core_saved_objects_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks
title: "@kbn/core-saved-objects-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks']
---
import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx
index 8de3b757d7fe7..c11c935bc29e7 100644
--- a/api_docs/kbn_core_saved_objects_utils_server.mdx
+++ b/api_docs/kbn_core_saved_objects_utils_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server
title: "@kbn/core-saved-objects-utils-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-utils-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server']
---
import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json';
diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx
index 6790c9b264fd0..56441665c4390 100644
--- a/api_docs/kbn_core_status_common.mdx
+++ b/api_docs/kbn_core_status_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common
title: "@kbn/core-status-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common']
---
import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json';
diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx
index da0ed41bb9411..3b9e7b45691e6 100644
--- a/api_docs/kbn_core_status_common_internal.mdx
+++ b/api_docs/kbn_core_status_common_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal
title: "@kbn/core-status-common-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-common-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal']
---
import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json';
diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx
index 2640368c30be9..0e99cc15f38ab 100644
--- a/api_docs/kbn_core_status_server.mdx
+++ b/api_docs/kbn_core_status_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server
title: "@kbn/core-status-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server']
---
import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json';
diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx
index 772cd4def6a63..f6936ce1a1ca6 100644
--- a/api_docs/kbn_core_status_server_internal.mdx
+++ b/api_docs/kbn_core_status_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal
title: "@kbn/core-status-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal']
---
import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx
index 8e08cf85ec1ac..c1d6c80decf18 100644
--- a/api_docs/kbn_core_status_server_mocks.mdx
+++ b/api_docs/kbn_core_status_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks
title: "@kbn/core-status-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks']
---
import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
index 272f643a6321b..f75e9dd8c64f1 100644
--- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
+++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters
title: "@kbn/core-test-helpers-deprecations-getters"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters']
---
import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
index 534bbae8b4697..00026e708759e 100644
--- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
+++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser
title: "@kbn/core-test-helpers-http-setup-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser']
---
import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx
index acdfb8291f5ce..185255218332c 100644
--- a/api_docs/kbn_core_test_helpers_kbn_server.mdx
+++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server
title: "@kbn/core-test-helpers-kbn-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-kbn-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server']
---
import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx
index 8f8d5cd2f0301..6881ed10bf5c8 100644
--- a/api_docs/kbn_core_test_helpers_model_versions.mdx
+++ b/api_docs/kbn_core_test_helpers_model_versions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions
title: "@kbn/core-test-helpers-model-versions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-model-versions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions']
---
import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
index bece1dfffd54b..78daa387636a6 100644
--- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
+++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer
title: "@kbn/core-test-helpers-so-type-serializer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer']
---
import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx
index 03096fa4ea6b8..6254031e10bd5 100644
--- a/api_docs/kbn_core_test_helpers_test_utils.mdx
+++ b/api_docs/kbn_core_test_helpers_test_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils
title: "@kbn/core-test-helpers-test-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-test-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils']
---
import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx
index 10c78c84e5977..1ab7318248ce8 100644
--- a/api_docs/kbn_core_theme_browser.mdx
+++ b/api_docs/kbn_core_theme_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser
title: "@kbn/core-theme-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-theme-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser']
---
import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx
index 8096b2c0c6b2c..f62d99875114b 100644
--- a/api_docs/kbn_core_theme_browser_mocks.mdx
+++ b/api_docs/kbn_core_theme_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks
title: "@kbn/core-theme-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-theme-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks']
---
import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx
index 0806dcc0e27e4..7d3d911ee571b 100644
--- a/api_docs/kbn_core_ui_settings_browser.mdx
+++ b/api_docs/kbn_core_ui_settings_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser
title: "@kbn/core-ui-settings-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser']
---
import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx
index 591c1f9eda155..b50f1a00c481c 100644
--- a/api_docs/kbn_core_ui_settings_browser_internal.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal
title: "@kbn/core-ui-settings-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal']
---
import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx
index c5ed348ea2843..71cf58a6bcaff 100644
--- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks
title: "@kbn/core-ui-settings-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks']
---
import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_common.devdocs.json b/api_docs/kbn_core_ui_settings_common.devdocs.json
index 94cca11eb7ee7..ec564e47a0760 100644
--- a/api_docs/kbn_core_ui_settings_common.devdocs.json
+++ b/api_docs/kbn_core_ui_settings_common.devdocs.json
@@ -517,7 +517,7 @@
"\nUI element type to represent the settings."
],
"signature": [
- "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" | \"array\""
+ "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"array\" | \"markdown\""
],
"path": "packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts",
"deprecated": false,
diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx
index c2713fdc462d8..33ffa56fc322f 100644
--- a/api_docs/kbn_core_ui_settings_common.mdx
+++ b/api_docs/kbn_core_ui_settings_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common
title: "@kbn/core-ui-settings-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common']
---
import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx
index fd65be4fcb46e..24e18ed346492 100644
--- a/api_docs/kbn_core_ui_settings_server.mdx
+++ b/api_docs/kbn_core_ui_settings_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server
title: "@kbn/core-ui-settings-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server']
---
import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx
index cab535e4d818c..b944130ee6ee7 100644
--- a/api_docs/kbn_core_ui_settings_server_internal.mdx
+++ b/api_docs/kbn_core_ui_settings_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal
title: "@kbn/core-ui-settings-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal']
---
import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx
index 8cd3baf2d70bd..bf79396fb5f8e 100644
--- a/api_docs/kbn_core_ui_settings_server_mocks.mdx
+++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks
title: "@kbn/core-ui-settings-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks']
---
import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx
index b2976124fb3ed..49f0ca0e281b7 100644
--- a/api_docs/kbn_core_usage_data_server.mdx
+++ b/api_docs/kbn_core_usage_data_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server
title: "@kbn/core-usage-data-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server']
---
import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json';
diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx
index 46fe662e811a9..2dd8efc8f7fca 100644
--- a/api_docs/kbn_core_usage_data_server_internal.mdx
+++ b/api_docs/kbn_core_usage_data_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal
title: "@kbn/core-usage-data-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal']
---
import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx
index f333f187c4c1c..bada1add429ef 100644
--- a/api_docs/kbn_core_usage_data_server_mocks.mdx
+++ b/api_docs/kbn_core_usage_data_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks
title: "@kbn/core-usage-data-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks']
---
import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx
index f95c6ea99795f..087ff78a3740c 100644
--- a/api_docs/kbn_core_user_settings_server.mdx
+++ b/api_docs/kbn_core_user_settings_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server
title: "@kbn/core-user-settings-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-settings-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server']
---
import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json';
diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx
index 0a5de0b387e34..17ace40f351b5 100644
--- a/api_docs/kbn_core_user_settings_server_internal.mdx
+++ b/api_docs/kbn_core_user_settings_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal
title: "@kbn/core-user-settings-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-settings-server-internal plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal']
---
import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx
index a469906822a7f..e1ca95fbd5f9c 100644
--- a/api_docs/kbn_core_user_settings_server_mocks.mdx
+++ b/api_docs/kbn_core_user_settings_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks
title: "@kbn/core-user-settings-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-settings-server-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks']
---
import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx
index 62d9f95e09516..0a8940cdc097f 100644
--- a/api_docs/kbn_crypto.mdx
+++ b/api_docs/kbn_crypto.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto
title: "@kbn/crypto"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/crypto plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto']
---
import kbnCryptoObj from './kbn_crypto.devdocs.json';
diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx
index d7ca756cce0e6..dc1971b4ace81 100644
--- a/api_docs/kbn_crypto_browser.mdx
+++ b/api_docs/kbn_crypto_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser
title: "@kbn/crypto-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/crypto-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser']
---
import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json';
diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx
index a0ca9002c0700..0cab823efd83e 100644
--- a/api_docs/kbn_custom_icons.mdx
+++ b/api_docs/kbn_custom_icons.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons
title: "@kbn/custom-icons"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/custom-icons plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons']
---
import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json';
diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx
index 3fcd8906bd390..b227181fa2272 100644
--- a/api_docs/kbn_custom_integrations.mdx
+++ b/api_docs/kbn_custom_integrations.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations
title: "@kbn/custom-integrations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/custom-integrations plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations']
---
import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json';
diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx
index bef6cd7cc7ac4..0abfa89f2873e 100644
--- a/api_docs/kbn_cypress_config.mdx
+++ b/api_docs/kbn_cypress_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config
title: "@kbn/cypress-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cypress-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config']
---
import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json';
diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx
index 6f263e3da035f..3fb155dab8c99 100644
--- a/api_docs/kbn_data_service.mdx
+++ b/api_docs/kbn_data_service.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service
title: "@kbn/data-service"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/data-service plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service']
---
import kbnDataServiceObj from './kbn_data_service.devdocs.json';
diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx
index 16beebc820846..3f66b2646a133 100644
--- a/api_docs/kbn_datemath.mdx
+++ b/api_docs/kbn_datemath.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath
title: "@kbn/datemath"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/datemath plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath']
---
import kbnDatemathObj from './kbn_datemath.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx
index 6c571e0fe0b4e..a8e75c3a8cccd 100644
--- a/api_docs/kbn_deeplinks_analytics.mdx
+++ b/api_docs/kbn_deeplinks_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics
title: "@kbn/deeplinks-analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-analytics plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics']
---
import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx
index 2da79e7a1f597..c60c3dc6e77ce 100644
--- a/api_docs/kbn_deeplinks_devtools.mdx
+++ b/api_docs/kbn_deeplinks_devtools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools
title: "@kbn/deeplinks-devtools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-devtools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools']
---
import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx
index 95bff06def67f..aa53dbb6280ef 100644
--- a/api_docs/kbn_deeplinks_management.mdx
+++ b/api_docs/kbn_deeplinks_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management
title: "@kbn/deeplinks-management"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-management plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management']
---
import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx
index 5a9306c0523aa..8f29d01059c09 100644
--- a/api_docs/kbn_deeplinks_ml.mdx
+++ b/api_docs/kbn_deeplinks_ml.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml
title: "@kbn/deeplinks-ml"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-ml plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml']
---
import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx
index da7f8ac91cd99..5ea90ff4e37c1 100644
--- a/api_docs/kbn_deeplinks_observability.mdx
+++ b/api_docs/kbn_deeplinks_observability.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability
title: "@kbn/deeplinks-observability"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-observability plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability']
---
import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx
index 8957459c87878..0fbc4be5c3879 100644
--- a/api_docs/kbn_deeplinks_search.mdx
+++ b/api_docs/kbn_deeplinks_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search
title: "@kbn/deeplinks-search"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-search plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search']
---
import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json';
diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx
index 0584a1becfdd9..95b3d091525be 100644
--- a/api_docs/kbn_default_nav_analytics.mdx
+++ b/api_docs/kbn_default_nav_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics
title: "@kbn/default-nav-analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-analytics plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics']
---
import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json';
diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx
index d1172c422ae54..32304b4386f31 100644
--- a/api_docs/kbn_default_nav_devtools.mdx
+++ b/api_docs/kbn_default_nav_devtools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools
title: "@kbn/default-nav-devtools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-devtools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools']
---
import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json';
diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx
index 97f2b0e545f33..57377f9996c7e 100644
--- a/api_docs/kbn_default_nav_management.mdx
+++ b/api_docs/kbn_default_nav_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management
title: "@kbn/default-nav-management"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-management plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management']
---
import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json';
diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx
index ea8203e7807d9..4582635314dd7 100644
--- a/api_docs/kbn_default_nav_ml.mdx
+++ b/api_docs/kbn_default_nav_ml.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml
title: "@kbn/default-nav-ml"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-ml plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml']
---
import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json';
diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx
index 0bcb226be09e3..4dcf986bf171c 100644
--- a/api_docs/kbn_dev_cli_errors.mdx
+++ b/api_docs/kbn_dev_cli_errors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors
title: "@kbn/dev-cli-errors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-cli-errors plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors']
---
import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json';
diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx
index 4a5e0f11ef6c5..ad7159c4a3290 100644
--- a/api_docs/kbn_dev_cli_runner.mdx
+++ b/api_docs/kbn_dev_cli_runner.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner
title: "@kbn/dev-cli-runner"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-cli-runner plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner']
---
import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json';
diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx
index 652c7f260d807..0e029224181aa 100644
--- a/api_docs/kbn_dev_proc_runner.mdx
+++ b/api_docs/kbn_dev_proc_runner.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner
title: "@kbn/dev-proc-runner"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-proc-runner plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner']
---
import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json';
diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx
index c4901a654547c..a3d4ec813fd7d 100644
--- a/api_docs/kbn_dev_utils.mdx
+++ b/api_docs/kbn_dev_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils
title: "@kbn/dev-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils']
---
import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json';
diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx
index 0aebf568df0e5..af310a488d792 100644
--- a/api_docs/kbn_discover_utils.mdx
+++ b/api_docs/kbn_discover_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils
title: "@kbn/discover-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/discover-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils']
---
import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json';
diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx
index 5a5b37d1782b4..9c66a5017afa4 100644
--- a/api_docs/kbn_doc_links.mdx
+++ b/api_docs/kbn_doc_links.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links
title: "@kbn/doc-links"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/doc-links plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links']
---
import kbnDocLinksObj from './kbn_doc_links.devdocs.json';
diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx
index 32348f44bd009..d9c05f9704329 100644
--- a/api_docs/kbn_docs_utils.mdx
+++ b/api_docs/kbn_docs_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils
title: "@kbn/docs-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/docs-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils']
---
import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json';
diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx
index 9828cab37f002..d3f1ebc0355ad 100644
--- a/api_docs/kbn_dom_drag_drop.mdx
+++ b/api_docs/kbn_dom_drag_drop.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop
title: "@kbn/dom-drag-drop"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dom-drag-drop plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop']
---
import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json';
diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx
index 8508582482b8b..e5867fd5ede07 100644
--- a/api_docs/kbn_ebt_tools.mdx
+++ b/api_docs/kbn_ebt_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools
title: "@kbn/ebt-tools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ebt-tools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools']
---
import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json';
diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx
index 4286c1ccfe661..9df01d4c13e8a 100644
--- a/api_docs/kbn_ecs.mdx
+++ b/api_docs/kbn_ecs.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs
title: "@kbn/ecs"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ecs plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs']
---
import kbnEcsObj from './kbn_ecs.devdocs.json';
diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx
index f96a9ec52b922..e0d5384cfadd6 100644
--- a/api_docs/kbn_ecs_data_quality_dashboard.mdx
+++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard
title: "@kbn/ecs-data-quality-dashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ecs-data-quality-dashboard plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard']
---
import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json';
diff --git a/api_docs/kbn_elastic_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx
index f6df41c4f6dfc..4fd66dd38cd0a 100644
--- a/api_docs/kbn_elastic_agent_utils.mdx
+++ b/api_docs/kbn_elastic_agent_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils
title: "@kbn/elastic-agent-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/elastic-agent-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils']
---
import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json';
diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx
index 909678cae3168..f8d5deb2aaf91 100644
--- a/api_docs/kbn_elastic_assistant.mdx
+++ b/api_docs/kbn_elastic_assistant.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant
title: "@kbn/elastic-assistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/elastic-assistant plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant']
---
import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json';
diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx
index e2e4f236a1a03..e782418a1ac0d 100644
--- a/api_docs/kbn_elastic_assistant_common.mdx
+++ b/api_docs/kbn_elastic_assistant_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common
title: "@kbn/elastic-assistant-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/elastic-assistant-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common']
---
import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json';
diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx
index da45af0b343e9..a399918674467 100644
--- a/api_docs/kbn_es.mdx
+++ b/api_docs/kbn_es.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es
title: "@kbn/es"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/es plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es']
---
import kbnEsObj from './kbn_es.devdocs.json';
diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx
index 67abe05e9bf28..b9d2fb446ad5d 100644
--- a/api_docs/kbn_es_archiver.mdx
+++ b/api_docs/kbn_es_archiver.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver
title: "@kbn/es-archiver"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/es-archiver plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver']
---
import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json';
diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx
index 2c423d62f92f5..0d1d753c572a0 100644
--- a/api_docs/kbn_es_errors.mdx
+++ b/api_docs/kbn_es_errors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors
title: "@kbn/es-errors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/es-errors plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors']
---
import kbnEsErrorsObj from './kbn_es_errors.devdocs.json';
diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx
index 6bdb08de3efe7..f4d0d583c5411 100644
--- a/api_docs/kbn_es_query.mdx
+++ b/api_docs/kbn_es_query.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query
title: "@kbn/es-query"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/es-query plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query']
---
import kbnEsQueryObj from './kbn_es_query.devdocs.json';
diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx
index 0b2165aa8af4e..a89a873653048 100644
--- a/api_docs/kbn_es_types.mdx
+++ b/api_docs/kbn_es_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types
title: "@kbn/es-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/es-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types']
---
import kbnEsTypesObj from './kbn_es_types.devdocs.json';
diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx
index 4791ea44d6b3a..82eec063d23a3 100644
--- a/api_docs/kbn_eslint_plugin_imports.mdx
+++ b/api_docs/kbn_eslint_plugin_imports.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports
title: "@kbn/eslint-plugin-imports"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/eslint-plugin-imports plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports']
---
import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json';
diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx
index e5fcb23a65682..94de7e1bc5746 100644
--- a/api_docs/kbn_event_annotation_common.mdx
+++ b/api_docs/kbn_event_annotation_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common
title: "@kbn/event-annotation-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/event-annotation-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common']
---
import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json';
diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx
index 5187ac07cd6f6..0ab2a85715189 100644
--- a/api_docs/kbn_event_annotation_components.mdx
+++ b/api_docs/kbn_event_annotation_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components
title: "@kbn/event-annotation-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/event-annotation-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components']
---
import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json';
diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx
index 8807a3ef06695..16c94021185b6 100644
--- a/api_docs/kbn_expandable_flyout.mdx
+++ b/api_docs/kbn_expandable_flyout.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout
title: "@kbn/expandable-flyout"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/expandable-flyout plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout']
---
import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json';
diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx
index d30d8c4c09282..caa10aba508d9 100644
--- a/api_docs/kbn_field_types.mdx
+++ b/api_docs/kbn_field_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types
title: "@kbn/field-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/field-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types']
---
import kbnFieldTypesObj from './kbn_field_types.devdocs.json';
diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx
index c1a49910d999a..dc4078eaad987 100644
--- a/api_docs/kbn_field_utils.mdx
+++ b/api_docs/kbn_field_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils
title: "@kbn/field-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/field-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils']
---
import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json';
diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx
index ef45987a7a582..e67021f49c6eb 100644
--- a/api_docs/kbn_find_used_node_modules.mdx
+++ b/api_docs/kbn_find_used_node_modules.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules
title: "@kbn/find-used-node-modules"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/find-used-node-modules plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules']
---
import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json';
diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx
index 222bd8a02a9f5..df850c11313df 100644
--- a/api_docs/kbn_ftr_common_functional_services.mdx
+++ b/api_docs/kbn_ftr_common_functional_services.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services
title: "@kbn/ftr-common-functional-services"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ftr-common-functional-services plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services']
---
import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json';
diff --git a/api_docs/kbn_ftr_common_functional_ui_services.mdx b/api_docs/kbn_ftr_common_functional_ui_services.mdx
index 0462d908e9c32..f3453996777ef 100644
--- a/api_docs/kbn_ftr_common_functional_ui_services.mdx
+++ b/api_docs/kbn_ftr_common_functional_ui_services.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-ui-services
title: "@kbn/ftr-common-functional-ui-services"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ftr-common-functional-ui-services plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-ui-services']
---
import kbnFtrCommonFunctionalUiServicesObj from './kbn_ftr_common_functional_ui_services.devdocs.json';
diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx
index 6de650b834e42..47b16fef7e79a 100644
--- a/api_docs/kbn_generate.mdx
+++ b/api_docs/kbn_generate.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate
title: "@kbn/generate"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/generate plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate']
---
import kbnGenerateObj from './kbn_generate.devdocs.json';
diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx
index 6a42e84834c09..ce49499a15091 100644
--- a/api_docs/kbn_generate_console_definitions.mdx
+++ b/api_docs/kbn_generate_console_definitions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions
title: "@kbn/generate-console-definitions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/generate-console-definitions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions']
---
import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json';
diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx
index 9bb02531f5623..fa0cbd66c8c6e 100644
--- a/api_docs/kbn_generate_csv.mdx
+++ b/api_docs/kbn_generate_csv.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv
title: "@kbn/generate-csv"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/generate-csv plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv']
---
import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json';
diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx
index 164703f1c67fc..2d965fd265ce6 100644
--- a/api_docs/kbn_guided_onboarding.mdx
+++ b/api_docs/kbn_guided_onboarding.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding
title: "@kbn/guided-onboarding"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/guided-onboarding plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding']
---
import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json';
diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx
index 589a9a4b0d095..dfdbc6ae7829d 100644
--- a/api_docs/kbn_handlebars.mdx
+++ b/api_docs/kbn_handlebars.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars
title: "@kbn/handlebars"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/handlebars plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars']
---
import kbnHandlebarsObj from './kbn_handlebars.devdocs.json';
diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx
index 4ae37ede28201..49f60f4537967 100644
--- a/api_docs/kbn_hapi_mocks.mdx
+++ b/api_docs/kbn_hapi_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks
title: "@kbn/hapi-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/hapi-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks']
---
import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json';
diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx
index ed4112af4b5c0..4c6fde1e9b054 100644
--- a/api_docs/kbn_health_gateway_server.mdx
+++ b/api_docs/kbn_health_gateway_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server
title: "@kbn/health-gateway-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/health-gateway-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server']
---
import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json';
diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx
index cb2f6b7600b42..90d13a283b09e 100644
--- a/api_docs/kbn_home_sample_data_card.mdx
+++ b/api_docs/kbn_home_sample_data_card.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card
title: "@kbn/home-sample-data-card"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/home-sample-data-card plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card']
---
import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json';
diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx
index 4ce220fd843db..0d21d5d462dda 100644
--- a/api_docs/kbn_home_sample_data_tab.mdx
+++ b/api_docs/kbn_home_sample_data_tab.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab
title: "@kbn/home-sample-data-tab"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/home-sample-data-tab plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab']
---
import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json';
diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx
index 2d89ab1962b22..5b9a7313b2e09 100644
--- a/api_docs/kbn_i18n.mdx
+++ b/api_docs/kbn_i18n.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n
title: "@kbn/i18n"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/i18n plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n']
---
import kbnI18nObj from './kbn_i18n.devdocs.json';
diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx
index c585b16a07e40..4173a6155759f 100644
--- a/api_docs/kbn_i18n_react.mdx
+++ b/api_docs/kbn_i18n_react.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react
title: "@kbn/i18n-react"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/i18n-react plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react']
---
import kbnI18nReactObj from './kbn_i18n_react.devdocs.json';
diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx
index 2df53cd7c60bc..8d62cf453d1ad 100644
--- a/api_docs/kbn_import_resolver.mdx
+++ b/api_docs/kbn_import_resolver.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver
title: "@kbn/import-resolver"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/import-resolver plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver']
---
import kbnImportResolverObj from './kbn_import_resolver.devdocs.json';
diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx
index 65a3c9801acf2..f17122e42d4cb 100644
--- a/api_docs/kbn_infra_forge.mdx
+++ b/api_docs/kbn_infra_forge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge
title: "@kbn/infra-forge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/infra-forge plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge']
---
import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json';
diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx
index 1ca1131298dc3..a8aa01265c419 100644
--- a/api_docs/kbn_interpreter.mdx
+++ b/api_docs/kbn_interpreter.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter
title: "@kbn/interpreter"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/interpreter plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter']
---
import kbnInterpreterObj from './kbn_interpreter.devdocs.json';
diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx
index c2e410c6fcf88..d40a1694ae71f 100644
--- a/api_docs/kbn_io_ts_utils.mdx
+++ b/api_docs/kbn_io_ts_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils
title: "@kbn/io-ts-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/io-ts-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils']
---
import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json';
diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx
index ff2f8c4ab99a6..5b55cb183c870 100644
--- a/api_docs/kbn_jest_serializers.mdx
+++ b/api_docs/kbn_jest_serializers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers
title: "@kbn/jest-serializers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/jest-serializers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers']
---
import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json';
diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx
index b96dc45e7ae7a..7d5fdde4c7065 100644
--- a/api_docs/kbn_journeys.mdx
+++ b/api_docs/kbn_journeys.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys
title: "@kbn/journeys"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/journeys plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys']
---
import kbnJourneysObj from './kbn_journeys.devdocs.json';
diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx
index 7d530618c92dc..e73825208cd96 100644
--- a/api_docs/kbn_json_ast.mdx
+++ b/api_docs/kbn_json_ast.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast
title: "@kbn/json-ast"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/json-ast plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast']
---
import kbnJsonAstObj from './kbn_json_ast.devdocs.json';
diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx
index 45c9a15b7ed21..90ef2c84d0134 100644
--- a/api_docs/kbn_kibana_manifest_schema.mdx
+++ b/api_docs/kbn_kibana_manifest_schema.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema
title: "@kbn/kibana-manifest-schema"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/kibana-manifest-schema plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema']
---
import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json';
diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx
index ef6c7127fc184..c514684576a5f 100644
--- a/api_docs/kbn_language_documentation_popover.mdx
+++ b/api_docs/kbn_language_documentation_popover.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover
title: "@kbn/language-documentation-popover"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/language-documentation-popover plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover']
---
import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json';
diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx
index 8fc7964ba9fcc..9143183bfdbe1 100644
--- a/api_docs/kbn_lens_embeddable_utils.mdx
+++ b/api_docs/kbn_lens_embeddable_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils
title: "@kbn/lens-embeddable-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/lens-embeddable-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils']
---
import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json';
diff --git a/api_docs/kbn_lens_formula_docs.mdx b/api_docs/kbn_lens_formula_docs.mdx
index ada9e5adb714a..cfb01110ca804 100644
--- a/api_docs/kbn_lens_formula_docs.mdx
+++ b/api_docs/kbn_lens_formula_docs.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-formula-docs
title: "@kbn/lens-formula-docs"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/lens-formula-docs plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-formula-docs']
---
import kbnLensFormulaDocsObj from './kbn_lens_formula_docs.devdocs.json';
diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx
index 5e0b596c73ec1..d54d007a2a91f 100644
--- a/api_docs/kbn_logging.mdx
+++ b/api_docs/kbn_logging.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging
title: "@kbn/logging"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/logging plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging']
---
import kbnLoggingObj from './kbn_logging.devdocs.json';
diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx
index 713ab44ef6d71..367b27b5430c3 100644
--- a/api_docs/kbn_logging_mocks.mdx
+++ b/api_docs/kbn_logging_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks
title: "@kbn/logging-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/logging-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks']
---
import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json';
diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx
index 71d5d1b5bc0f9..31caa571dda02 100644
--- a/api_docs/kbn_managed_vscode_config.mdx
+++ b/api_docs/kbn_managed_vscode_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config
title: "@kbn/managed-vscode-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/managed-vscode-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config']
---
import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json';
diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx
index cf9d1e9b01b3a..3eff89ef98e4b 100644
--- a/api_docs/kbn_management_cards_navigation.mdx
+++ b/api_docs/kbn_management_cards_navigation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation
title: "@kbn/management-cards-navigation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-cards-navigation plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation']
---
import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json';
diff --git a/api_docs/kbn_management_settings_application.mdx b/api_docs/kbn_management_settings_application.mdx
index b8c533fcfb580..3857d89480b86 100644
--- a/api_docs/kbn_management_settings_application.mdx
+++ b/api_docs/kbn_management_settings_application.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application
title: "@kbn/management-settings-application"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-application plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application']
---
import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json';
diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx
index 06ab3a7cc6a2c..c3aee9da43eeb 100644
--- a/api_docs/kbn_management_settings_components_field_category.mdx
+++ b/api_docs/kbn_management_settings_components_field_category.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category
title: "@kbn/management-settings-components-field-category"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-components-field-category plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category']
---
import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json';
diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx
index b4bf5e830f939..744c5a6cfb93b 100644
--- a/api_docs/kbn_management_settings_components_field_input.mdx
+++ b/api_docs/kbn_management_settings_components_field_input.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input
title: "@kbn/management-settings-components-field-input"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-components-field-input plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input']
---
import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json';
diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx
index 4638629c096b6..1cbdc0adfac9f 100644
--- a/api_docs/kbn_management_settings_components_field_row.mdx
+++ b/api_docs/kbn_management_settings_components_field_row.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row
title: "@kbn/management-settings-components-field-row"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-components-field-row plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row']
---
import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json';
diff --git a/api_docs/kbn_management_settings_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx
index ade13d0cdbab0..fc96cadd86af8 100644
--- a/api_docs/kbn_management_settings_components_form.mdx
+++ b/api_docs/kbn_management_settings_components_form.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form
title: "@kbn/management-settings-components-form"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-components-form plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form']
---
import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json';
diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx
index e5d23eca5d4bf..79d72e7e39706 100644
--- a/api_docs/kbn_management_settings_field_definition.mdx
+++ b/api_docs/kbn_management_settings_field_definition.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition
title: "@kbn/management-settings-field-definition"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-field-definition plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition']
---
import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json';
diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx
index ef16bc6baa0ed..735a6ba050e00 100644
--- a/api_docs/kbn_management_settings_ids.mdx
+++ b/api_docs/kbn_management_settings_ids.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids
title: "@kbn/management-settings-ids"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-ids plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids']
---
import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json';
diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx
index 8321ebeb4d893..bb3a82c712c91 100644
--- a/api_docs/kbn_management_settings_section_registry.mdx
+++ b/api_docs/kbn_management_settings_section_registry.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry
title: "@kbn/management-settings-section-registry"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-section-registry plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry']
---
import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json';
diff --git a/api_docs/kbn_management_settings_types.devdocs.json b/api_docs/kbn_management_settings_types.devdocs.json
index c4ac18ed37f62..0e73ea2f96805 100644
--- a/api_docs/kbn_management_settings_types.devdocs.json
+++ b/api_docs/kbn_management_settings_types.devdocs.json
@@ -1499,7 +1499,7 @@
"\nThis is a local type equivalent to {@link UiSettingsType} for flexibility."
],
"signature": [
- "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"markdown\" | \"array\""
+ "\"string\" | \"number\" | \"boolean\" | \"undefined\" | \"color\" | \"image\" | \"select\" | \"json\" | \"array\" | \"markdown\""
],
"path": "packages/kbn-management/settings/types/setting_type.ts",
"deprecated": false,
diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx
index 969775d6e6d6f..697fd1141038b 100644
--- a/api_docs/kbn_management_settings_types.mdx
+++ b/api_docs/kbn_management_settings_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types
title: "@kbn/management-settings-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types']
---
import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json';
diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx
index 7a5b3363f7a30..54ea2bdfccd00 100644
--- a/api_docs/kbn_management_settings_utilities.mdx
+++ b/api_docs/kbn_management_settings_utilities.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities
title: "@kbn/management-settings-utilities"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-settings-utilities plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities']
---
import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json';
diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx
index 66fd051700142..81c28c9c0a7c5 100644
--- a/api_docs/kbn_management_storybook_config.mdx
+++ b/api_docs/kbn_management_storybook_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config
title: "@kbn/management-storybook-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/management-storybook-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config']
---
import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json';
diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx
index 4d0bf1385439e..7223a707611f2 100644
--- a/api_docs/kbn_mapbox_gl.mdx
+++ b/api_docs/kbn_mapbox_gl.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl
title: "@kbn/mapbox-gl"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/mapbox-gl plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl']
---
import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json';
diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx
index 3d33e69cc4618..964438ade4f0d 100644
--- a/api_docs/kbn_maps_vector_tile_utils.mdx
+++ b/api_docs/kbn_maps_vector_tile_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils
title: "@kbn/maps-vector-tile-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/maps-vector-tile-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils']
---
import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx
index 7c0c3e82d55c7..36181abb21114 100644
--- a/api_docs/kbn_ml_agg_utils.mdx
+++ b/api_docs/kbn_ml_agg_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils
title: "@kbn/ml-agg-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-agg-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils']
---
import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx
index 81f73e0edfb76..54c32db062292 100644
--- a/api_docs/kbn_ml_anomaly_utils.mdx
+++ b/api_docs/kbn_ml_anomaly_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils
title: "@kbn/ml-anomaly-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-anomaly-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils']
---
import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx
index cc4feb403b89f..eabf9e9f3d469 100644
--- a/api_docs/kbn_ml_category_validator.mdx
+++ b/api_docs/kbn_ml_category_validator.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator
title: "@kbn/ml-category-validator"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-category-validator plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator']
---
import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json';
diff --git a/api_docs/kbn_ml_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx
index 4c0c3b7cee8ac..c45b66d0c0d9a 100644
--- a/api_docs/kbn_ml_chi2test.mdx
+++ b/api_docs/kbn_ml_chi2test.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test
title: "@kbn/ml-chi2test"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-chi2test plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test']
---
import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json';
diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx
index 57a98f81dfd03..317f8f68b1dc4 100644
--- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx
+++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils
title: "@kbn/ml-data-frame-analytics-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-data-frame-analytics-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils']
---
import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx
index 7e838f9aa80e0..02b9c9ff383d8 100644
--- a/api_docs/kbn_ml_data_grid.mdx
+++ b/api_docs/kbn_ml_data_grid.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid
title: "@kbn/ml-data-grid"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-data-grid plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid']
---
import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json';
diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx
index 713ab86eba72a..c3f413f583f0a 100644
--- a/api_docs/kbn_ml_date_picker.mdx
+++ b/api_docs/kbn_ml_date_picker.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker
title: "@kbn/ml-date-picker"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-date-picker plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker']
---
import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json';
diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx
index 531d9689ede3d..15f7125717649 100644
--- a/api_docs/kbn_ml_date_utils.mdx
+++ b/api_docs/kbn_ml_date_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils
title: "@kbn/ml-date-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-date-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils']
---
import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx
index 06d7b83320e3f..ab6078de2c047 100644
--- a/api_docs/kbn_ml_error_utils.mdx
+++ b/api_docs/kbn_ml_error_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils
title: "@kbn/ml-error-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-error-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils']
---
import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx
index b357ace2ee946..ea3d0f14b2a53 100644
--- a/api_docs/kbn_ml_in_memory_table.mdx
+++ b/api_docs/kbn_ml_in_memory_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table
title: "@kbn/ml-in-memory-table"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-in-memory-table plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table']
---
import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json';
diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx
index 2e312df561945..612447cef46c0 100644
--- a/api_docs/kbn_ml_is_defined.mdx
+++ b/api_docs/kbn_ml_is_defined.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined
title: "@kbn/ml-is-defined"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-is-defined plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined']
---
import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json';
diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx
index d48cdf4046fc5..acf0f735239d1 100644
--- a/api_docs/kbn_ml_is_populated_object.mdx
+++ b/api_docs/kbn_ml_is_populated_object.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object
title: "@kbn/ml-is-populated-object"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-is-populated-object plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object']
---
import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json';
diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx
index 4ec1d8121e4c2..b36b4758d410c 100644
--- a/api_docs/kbn_ml_kibana_theme.mdx
+++ b/api_docs/kbn_ml_kibana_theme.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme
title: "@kbn/ml-kibana-theme"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-kibana-theme plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme']
---
import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json';
diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx
index 98ae63d633221..22b40149a2fe1 100644
--- a/api_docs/kbn_ml_local_storage.mdx
+++ b/api_docs/kbn_ml_local_storage.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage
title: "@kbn/ml-local-storage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-local-storage plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage']
---
import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json';
diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx
index 523f7f330185d..3aaf067318718 100644
--- a/api_docs/kbn_ml_nested_property.mdx
+++ b/api_docs/kbn_ml_nested_property.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property
title: "@kbn/ml-nested-property"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-nested-property plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property']
---
import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json';
diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx
index a0f36bfe015a3..ff075d3630b90 100644
--- a/api_docs/kbn_ml_number_utils.mdx
+++ b/api_docs/kbn_ml_number_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils
title: "@kbn/ml-number-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-number-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils']
---
import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx
index c5e8f8edace08..a50c80f1fc73f 100644
--- a/api_docs/kbn_ml_query_utils.mdx
+++ b/api_docs/kbn_ml_query_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils
title: "@kbn/ml-query-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-query-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils']
---
import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx
index d4d831344a17e..e082fdf07adfe 100644
--- a/api_docs/kbn_ml_random_sampler_utils.mdx
+++ b/api_docs/kbn_ml_random_sampler_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils
title: "@kbn/ml-random-sampler-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-random-sampler-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils']
---
import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx
index 4551285ea2a57..68d665c24230c 100644
--- a/api_docs/kbn_ml_route_utils.mdx
+++ b/api_docs/kbn_ml_route_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils
title: "@kbn/ml-route-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-route-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils']
---
import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx
index bee10c0479887..33eec9a060595 100644
--- a/api_docs/kbn_ml_runtime_field_utils.mdx
+++ b/api_docs/kbn_ml_runtime_field_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils
title: "@kbn/ml-runtime-field-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-runtime-field-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils']
---
import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx
index 9c7000dd9be24..84ac711c4a61b 100644
--- a/api_docs/kbn_ml_string_hash.mdx
+++ b/api_docs/kbn_ml_string_hash.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash
title: "@kbn/ml-string-hash"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-string-hash plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash']
---
import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json';
diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx
index 44814479857cd..de9749cbb51ab 100644
--- a/api_docs/kbn_ml_trained_models_utils.mdx
+++ b/api_docs/kbn_ml_trained_models_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils
title: "@kbn/ml-trained-models-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-trained-models-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils']
---
import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json';
diff --git a/api_docs/kbn_ml_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx
index 667842156e967..20f1fdccc4842 100644
--- a/api_docs/kbn_ml_ui_actions.mdx
+++ b/api_docs/kbn_ml_ui_actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions
title: "@kbn/ml-ui-actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-ui-actions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions']
---
import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json';
diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx
index e4f78f9b55ce5..64d5d731022e7 100644
--- a/api_docs/kbn_ml_url_state.mdx
+++ b/api_docs/kbn_ml_url_state.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state
title: "@kbn/ml-url-state"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ml-url-state plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state']
---
import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json';
diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx
index 120703eb8f8e3..d0ed56c968a12 100644
--- a/api_docs/kbn_monaco.mdx
+++ b/api_docs/kbn_monaco.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco
title: "@kbn/monaco"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/monaco plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco']
---
import kbnMonacoObj from './kbn_monaco.devdocs.json';
diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx
index 09475095c3a01..3acf9feb9914d 100644
--- a/api_docs/kbn_object_versioning.mdx
+++ b/api_docs/kbn_object_versioning.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning
title: "@kbn/object-versioning"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/object-versioning plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning']
---
import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json';
diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx
index e94b1206eb35f..d22663995e9c3 100644
--- a/api_docs/kbn_observability_alert_details.mdx
+++ b/api_docs/kbn_observability_alert_details.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details
title: "@kbn/observability-alert-details"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/observability-alert-details plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details']
---
import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json';
diff --git a/api_docs/kbn_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx
index 0008d5c38e268..e7f0af370bac7 100644
--- a/api_docs/kbn_observability_alerting_test_data.mdx
+++ b/api_docs/kbn_observability_alerting_test_data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data
title: "@kbn/observability-alerting-test-data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/observability-alerting-test-data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data']
---
import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json';
diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx
index 84ec788e62c3f..2ff225e542f76 100644
--- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx
+++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util
title: "@kbn/observability-get-padded-alert-time-range-util"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util']
---
import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json';
diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx
index 605f12107057a..d1f8d87a8e4c3 100644
--- a/api_docs/kbn_openapi_bundler.mdx
+++ b/api_docs/kbn_openapi_bundler.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler
title: "@kbn/openapi-bundler"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/openapi-bundler plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler']
---
import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json';
diff --git a/api_docs/kbn_openapi_generator.devdocs.json b/api_docs/kbn_openapi_generator.devdocs.json
index 9aaaea230439e..9702da67030b1 100644
--- a/api_docs/kbn_openapi_generator.devdocs.json
+++ b/api_docs/kbn_openapi_generator.devdocs.json
@@ -66,6 +66,53 @@
"returnComment": [],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.lint",
+ "type": "Function",
+ "tags": [],
+ "label": "lint",
+ "description": [],
+ "signature": [
+ "(config: ",
+ {
+ "pluginId": "@kbn/openapi-generator",
+ "scope": "common",
+ "docId": "kibKbnOpenapiGeneratorPluginApi",
+ "section": "def-common.LinterConfig",
+ "text": "LinterConfig"
+ },
+ ") => Promise"
+ ],
+ "path": "packages/kbn-openapi-generator/src/openapi_linter.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.lint.$1",
+ "type": "Object",
+ "tags": [],
+ "label": "config",
+ "description": [],
+ "signature": [
+ {
+ "pluginId": "@kbn/openapi-generator",
+ "scope": "common",
+ "docId": "kibKbnOpenapiGeneratorPluginApi",
+ "section": "def-common.LinterConfig",
+ "text": "LinterConfig"
+ }
+ ],
+ "path": "packages/kbn-openapi-generator/src/openapi_linter.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/openapi-generator",
"id": "def-common.runCli",
@@ -131,6 +178,56 @@
"path": "packages/kbn-openapi-generator/src/openapi_generator.ts",
"deprecated": false,
"trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.GeneratorConfig.skipLinting",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "skipLinting",
+ "description": [],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "packages/kbn-openapi-generator/src/openapi_generator.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ }
+ ],
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.LinterConfig",
+ "type": "Interface",
+ "tags": [],
+ "label": "LinterConfig",
+ "description": [],
+ "path": "packages/kbn-openapi-generator/src/openapi_linter.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.LinterConfig.rootDir",
+ "type": "string",
+ "tags": [],
+ "label": "rootDir",
+ "description": [],
+ "path": "packages/kbn-openapi-generator/src/openapi_linter.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/openapi-generator",
+ "id": "def-common.LinterConfig.sourceGlob",
+ "type": "string",
+ "tags": [],
+ "label": "sourceGlob",
+ "description": [],
+ "path": "packages/kbn-openapi-generator/src/openapi_linter.ts",
+ "deprecated": false,
+ "trackAdoption": false
}
],
"initialIsOpen": false
diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx
index b79a5e2986ab7..a17655a19ef64 100644
--- a/api_docs/kbn_openapi_generator.mdx
+++ b/api_docs/kbn_openapi_generator.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator
title: "@kbn/openapi-generator"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/openapi-generator plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator']
---
import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/security-detection-rule-management](https://github.com/orgs/el
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 7 | 0 | 7 | 0 |
+| 13 | 0 | 13 | 0 |
## Common
diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx
index 9c6bc1d29b408..a16c63bd7dd33 100644
--- a/api_docs/kbn_optimizer.mdx
+++ b/api_docs/kbn_optimizer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer
title: "@kbn/optimizer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/optimizer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer']
---
import kbnOptimizerObj from './kbn_optimizer.devdocs.json';
diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx
index 6469a938998c6..b972b79886b91 100644
--- a/api_docs/kbn_optimizer_webpack_helpers.mdx
+++ b/api_docs/kbn_optimizer_webpack_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers
title: "@kbn/optimizer-webpack-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/optimizer-webpack-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers']
---
import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json';
diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx
index c85afb88f8fde..2fdd16bb40c0d 100644
--- a/api_docs/kbn_osquery_io_ts_types.mdx
+++ b/api_docs/kbn_osquery_io_ts_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types
title: "@kbn/osquery-io-ts-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/osquery-io-ts-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types']
---
import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json';
diff --git a/api_docs/kbn_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx
index 5022c3172234d..5d320a22ee90a 100644
--- a/api_docs/kbn_panel_loader.mdx
+++ b/api_docs/kbn_panel_loader.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader
title: "@kbn/panel-loader"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/panel-loader plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader']
---
import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json';
diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx
index db9a30d30413c..69f999678799a 100644
--- a/api_docs/kbn_performance_testing_dataset_extractor.mdx
+++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor
title: "@kbn/performance-testing-dataset-extractor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/performance-testing-dataset-extractor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor']
---
import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json';
diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx
index 00156ca303a8e..3eccc43f4e885 100644
--- a/api_docs/kbn_plugin_generator.mdx
+++ b/api_docs/kbn_plugin_generator.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator
title: "@kbn/plugin-generator"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/plugin-generator plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator']
---
import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json';
diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx
index 7f428a6f42bb0..10855cc0ff33c 100644
--- a/api_docs/kbn_plugin_helpers.mdx
+++ b/api_docs/kbn_plugin_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers
title: "@kbn/plugin-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/plugin-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers']
---
import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json';
diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx
index 1728df95bbb6a..d728ea3fcd50c 100644
--- a/api_docs/kbn_profiling_utils.mdx
+++ b/api_docs/kbn_profiling_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils
title: "@kbn/profiling-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/profiling-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils']
---
import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json';
diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx
index 1a285560c8fcd..c86bdfd3582bb 100644
--- a/api_docs/kbn_random_sampling.mdx
+++ b/api_docs/kbn_random_sampling.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling
title: "@kbn/random-sampling"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/random-sampling plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling']
---
import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json';
diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx
index abdfac7d3d923..8369e1c075833 100644
--- a/api_docs/kbn_react_field.mdx
+++ b/api_docs/kbn_react_field.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field
title: "@kbn/react-field"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-field plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field']
---
import kbnReactFieldObj from './kbn_react_field.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx
index 3f4c70a79e52e..1767f6930eadb 100644
--- a/api_docs/kbn_react_kibana_context_common.mdx
+++ b/api_docs/kbn_react_kibana_context_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common
title: "@kbn/react-kibana-context-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-context-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common']
---
import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx
index ccd5848f67a07..a0769335ea0f7 100644
--- a/api_docs/kbn_react_kibana_context_render.mdx
+++ b/api_docs/kbn_react_kibana_context_render.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render
title: "@kbn/react-kibana-context-render"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-context-render plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render']
---
import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx
index 9207d0cc6b108..41380170af2bb 100644
--- a/api_docs/kbn_react_kibana_context_root.mdx
+++ b/api_docs/kbn_react_kibana_context_root.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root
title: "@kbn/react-kibana-context-root"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-context-root plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root']
---
import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx
index adab4ef567b74..46ca471b459bf 100644
--- a/api_docs/kbn_react_kibana_context_styled.mdx
+++ b/api_docs/kbn_react_kibana_context_styled.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled
title: "@kbn/react-kibana-context-styled"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-context-styled plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled']
---
import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx
index 1c46a73334acf..2986cefa8c885 100644
--- a/api_docs/kbn_react_kibana_context_theme.mdx
+++ b/api_docs/kbn_react_kibana_context_theme.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme
title: "@kbn/react-kibana-context-theme"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-context-theme plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme']
---
import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json';
diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx
index a8cdf13cc1b7b..103f4325c600c 100644
--- a/api_docs/kbn_react_kibana_mount.mdx
+++ b/api_docs/kbn_react_kibana_mount.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount
title: "@kbn/react-kibana-mount"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/react-kibana-mount plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount']
---
import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json';
diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx
index 62b20e0a98ab4..a27824a02847a 100644
--- a/api_docs/kbn_repo_file_maps.mdx
+++ b/api_docs/kbn_repo_file_maps.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps
title: "@kbn/repo-file-maps"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/repo-file-maps plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps']
---
import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json';
diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx
index e15893489ec43..7b3cf70348dbb 100644
--- a/api_docs/kbn_repo_linter.mdx
+++ b/api_docs/kbn_repo_linter.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter
title: "@kbn/repo-linter"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/repo-linter plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter']
---
import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json';
diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx
index aca4a25831e86..3e9e0d953b364 100644
--- a/api_docs/kbn_repo_path.mdx
+++ b/api_docs/kbn_repo_path.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path
title: "@kbn/repo-path"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/repo-path plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path']
---
import kbnRepoPathObj from './kbn_repo_path.devdocs.json';
diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx
index 8a30094caf7ba..c84a9017ace24 100644
--- a/api_docs/kbn_repo_source_classifier.mdx
+++ b/api_docs/kbn_repo_source_classifier.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier
title: "@kbn/repo-source-classifier"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/repo-source-classifier plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier']
---
import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json';
diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx
index f2cfe051b8fa8..b06a744e9879e 100644
--- a/api_docs/kbn_reporting_common.mdx
+++ b/api_docs/kbn_reporting_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common
title: "@kbn/reporting-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common']
---
import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx
index b1ff7cddfad7f..d92e8aaa5c14f 100644
--- a/api_docs/kbn_reporting_export_types_csv.mdx
+++ b/api_docs/kbn_reporting_export_types_csv.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv
title: "@kbn/reporting-export-types-csv"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-csv plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv']
---
import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx
index f4109d758df9f..cb21f6a58393d 100644
--- a/api_docs/kbn_reporting_export_types_csv_common.mdx
+++ b/api_docs/kbn_reporting_export_types_csv_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common
title: "@kbn/reporting-export-types-csv-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-csv-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common']
---
import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx
index f02299934a5dd..c2b00308d8b2a 100644
--- a/api_docs/kbn_reporting_export_types_pdf.mdx
+++ b/api_docs/kbn_reporting_export_types_pdf.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf
title: "@kbn/reporting-export-types-pdf"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-pdf plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf']
---
import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx
index 8af8ba3cbc754..3cc5781e265dc 100644
--- a/api_docs/kbn_reporting_export_types_pdf_common.mdx
+++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common
title: "@kbn/reporting-export-types-pdf-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-pdf-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common']
---
import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx
index 54ee56dcb94eb..3a899ca2b91ab 100644
--- a/api_docs/kbn_reporting_export_types_png.mdx
+++ b/api_docs/kbn_reporting_export_types_png.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png
title: "@kbn/reporting-export-types-png"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-png plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png']
---
import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json';
diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx
index 7cea2352eefdb..246dda133fceb 100644
--- a/api_docs/kbn_reporting_export_types_png_common.mdx
+++ b/api_docs/kbn_reporting_export_types_png_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common
title: "@kbn/reporting-export-types-png-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-export-types-png-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common']
---
import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json';
diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx
index 85491a2b203df..ddd539525913a 100644
--- a/api_docs/kbn_reporting_mocks_server.mdx
+++ b/api_docs/kbn_reporting_mocks_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server
title: "@kbn/reporting-mocks-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-mocks-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server']
---
import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json';
diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx
index 1629166e8c757..c37a722f478ef 100644
--- a/api_docs/kbn_reporting_public.mdx
+++ b/api_docs/kbn_reporting_public.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public
title: "@kbn/reporting-public"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-public plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public']
---
import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json';
diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx
index 358f2b46ceee0..366adddeef749 100644
--- a/api_docs/kbn_reporting_server.mdx
+++ b/api_docs/kbn_reporting_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server
title: "@kbn/reporting-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/reporting-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server']
---
import kbnReportingServerObj from './kbn_reporting_server.devdocs.json';
diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx
index c0b9efd073b9d..6abf3e8f7904c 100644
--- a/api_docs/kbn_resizable_layout.mdx
+++ b/api_docs/kbn_resizable_layout.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout
title: "@kbn/resizable-layout"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/resizable-layout plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout']
---
import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json';
diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx
index f2262eb5c3f03..c3bac84280923 100644
--- a/api_docs/kbn_rison.mdx
+++ b/api_docs/kbn_rison.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison
title: "@kbn/rison"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/rison plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison']
---
import kbnRisonObj from './kbn_rison.devdocs.json';
diff --git a/api_docs/kbn_router_utils.mdx b/api_docs/kbn_router_utils.mdx
index 05ce5fffc3fbc..a4970f0dce124 100644
--- a/api_docs/kbn_router_utils.mdx
+++ b/api_docs/kbn_router_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-utils
title: "@kbn/router-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/router-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-utils']
---
import kbnRouterUtilsObj from './kbn_router_utils.devdocs.json';
diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx
index 4e31b1f5d6234..824c4ab401879 100644
--- a/api_docs/kbn_rrule.mdx
+++ b/api_docs/kbn_rrule.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule
title: "@kbn/rrule"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/rrule plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule']
---
import kbnRruleObj from './kbn_rrule.devdocs.json';
diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx
index 0b65f616203c9..cd170f8ac94a7 100644
--- a/api_docs/kbn_rule_data_utils.mdx
+++ b/api_docs/kbn_rule_data_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils
title: "@kbn/rule-data-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/rule-data-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils']
---
import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json';
diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx
index c99b93756f8cb..14ab7ea2de255 100644
--- a/api_docs/kbn_saved_objects_settings.mdx
+++ b/api_docs/kbn_saved_objects_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings
title: "@kbn/saved-objects-settings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/saved-objects-settings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings']
---
import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json';
diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx
index 051247be85c72..239e438bb3d03 100644
--- a/api_docs/kbn_search_api_panels.mdx
+++ b/api_docs/kbn_search_api_panels.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels
title: "@kbn/search-api-panels"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/search-api-panels plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels']
---
import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json';
diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx
index f0f0fb76dac2a..938b4d10b5639 100644
--- a/api_docs/kbn_search_connectors.mdx
+++ b/api_docs/kbn_search_connectors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors
title: "@kbn/search-connectors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/search-connectors plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors']
---
import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json';
diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx
index e623995ddec52..c8826fa8f82ee 100644
--- a/api_docs/kbn_search_errors.mdx
+++ b/api_docs/kbn_search_errors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors
title: "@kbn/search-errors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/search-errors plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors']
---
import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json';
diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx
index d1ca218b8c1f3..97335a87ff1ed 100644
--- a/api_docs/kbn_search_index_documents.mdx
+++ b/api_docs/kbn_search_index_documents.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents
title: "@kbn/search-index-documents"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/search-index-documents plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents']
---
import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json';
diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx
index 6cb31ef0814de..f0987ff271622 100644
--- a/api_docs/kbn_search_response_warnings.mdx
+++ b/api_docs/kbn_search_response_warnings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings
title: "@kbn/search-response-warnings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/search-response-warnings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings']
---
import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json';
diff --git a/api_docs/kbn_security_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx
index f422a3f537b5f..f31ef8d5f57bd 100644
--- a/api_docs/kbn_security_plugin_types_common.mdx
+++ b/api_docs/kbn_security_plugin_types_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common
title: "@kbn/security-plugin-types-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-plugin-types-common plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common']
---
import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json';
diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx
index 9554c4323a80a..ed8dac284acf0 100644
--- a/api_docs/kbn_security_plugin_types_public.mdx
+++ b/api_docs/kbn_security_plugin_types_public.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public
title: "@kbn/security-plugin-types-public"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-plugin-types-public plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public']
---
import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json';
diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx
index e7aa4d3a2dd0c..5b52df834e85c 100644
--- a/api_docs/kbn_security_plugin_types_server.mdx
+++ b/api_docs/kbn_security_plugin_types_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server
title: "@kbn/security-plugin-types-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-plugin-types-server plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server']
---
import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json';
diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx
index 9ee6d05d0319a..5fb8773e632a3 100644
--- a/api_docs/kbn_security_solution_features.mdx
+++ b/api_docs/kbn_security_solution_features.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features
title: "@kbn/security-solution-features"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-solution-features plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features']
---
import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json';
diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx
index c1b27ac7e22ca..4a01f2909868e 100644
--- a/api_docs/kbn_security_solution_navigation.mdx
+++ b/api_docs/kbn_security_solution_navigation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation
title: "@kbn/security-solution-navigation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-solution-navigation plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation']
---
import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json';
diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx
index e8d753976dbb2..d22044ea362e6 100644
--- a/api_docs/kbn_security_solution_side_nav.mdx
+++ b/api_docs/kbn_security_solution_side_nav.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav
title: "@kbn/security-solution-side-nav"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-solution-side-nav plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav']
---
import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json';
diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx
index 5987e154ad976..1f29a1e9f7b2c 100644
--- a/api_docs/kbn_security_solution_storybook_config.mdx
+++ b/api_docs/kbn_security_solution_storybook_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config
title: "@kbn/security-solution-storybook-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/security-solution-storybook-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config']
---
import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx
index c00585e7e584d..4fcb239c6fbce 100644
--- a/api_docs/kbn_securitysolution_autocomplete.mdx
+++ b/api_docs/kbn_securitysolution_autocomplete.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete
title: "@kbn/securitysolution-autocomplete"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-autocomplete plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete']
---
import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx
index 31edbe0e987bf..6dc148c9686d5 100644
--- a/api_docs/kbn_securitysolution_data_table.mdx
+++ b/api_docs/kbn_securitysolution_data_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table
title: "@kbn/securitysolution-data-table"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-data-table plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table']
---
import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx
index 79ae0889e9b56..959f8d8b98e8b 100644
--- a/api_docs/kbn_securitysolution_ecs.mdx
+++ b/api_docs/kbn_securitysolution_ecs.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs
title: "@kbn/securitysolution-ecs"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-ecs plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs']
---
import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx
index e2d8ecabdd015..ac17fae183fb2 100644
--- a/api_docs/kbn_securitysolution_es_utils.mdx
+++ b/api_docs/kbn_securitysolution_es_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils
title: "@kbn/securitysolution-es-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-es-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils']
---
import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx
index f3d16f98cfe50..78ab4c3bf22b4 100644
--- a/api_docs/kbn_securitysolution_exception_list_components.mdx
+++ b/api_docs/kbn_securitysolution_exception_list_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components
title: "@kbn/securitysolution-exception-list-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-exception-list-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components']
---
import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx
index 9f5e7ab288089..16504d99e3506 100644
--- a/api_docs/kbn_securitysolution_grouping.mdx
+++ b/api_docs/kbn_securitysolution_grouping.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping
title: "@kbn/securitysolution-grouping"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-grouping plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping']
---
import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx
index 72daa43ab655d..33c9a661dfe5b 100644
--- a/api_docs/kbn_securitysolution_hook_utils.mdx
+++ b/api_docs/kbn_securitysolution_hook_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils
title: "@kbn/securitysolution-hook-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-hook-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils']
---
import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx
index 1fec8a6afab41..43dc7b6b4a29b 100644
--- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types
title: "@kbn/securitysolution-io-ts-alerting-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types']
---
import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx
index a3bc207155a34..2c5532706da05 100644
--- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types
title: "@kbn/securitysolution-io-ts-list-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-io-ts-list-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types']
---
import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx
index f267d2864ebb5..98a6674c00f6e 100644
--- a/api_docs/kbn_securitysolution_io_ts_types.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types
title: "@kbn/securitysolution-io-ts-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-io-ts-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types']
---
import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx
index cca115723befe..bfb9f2a40b6df 100644
--- a/api_docs/kbn_securitysolution_io_ts_utils.mdx
+++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils
title: "@kbn/securitysolution-io-ts-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-io-ts-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils']
---
import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx
index 3004e887c712d..f7769bef2b90f 100644
--- a/api_docs/kbn_securitysolution_list_api.mdx
+++ b/api_docs/kbn_securitysolution_list_api.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api
title: "@kbn/securitysolution-list-api"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-list-api plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api']
---
import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx
index 9ef0c846b50eb..2e06bc4a89139 100644
--- a/api_docs/kbn_securitysolution_list_constants.mdx
+++ b/api_docs/kbn_securitysolution_list_constants.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants
title: "@kbn/securitysolution-list-constants"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-list-constants plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants']
---
import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx
index f3422437f90ea..d8f9516c1fefb 100644
--- a/api_docs/kbn_securitysolution_list_hooks.mdx
+++ b/api_docs/kbn_securitysolution_list_hooks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks
title: "@kbn/securitysolution-list-hooks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-list-hooks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks']
---
import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx
index 641c80338bae4..8d0fe8c8f1454 100644
--- a/api_docs/kbn_securitysolution_list_utils.mdx
+++ b/api_docs/kbn_securitysolution_list_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils
title: "@kbn/securitysolution-list-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-list-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils']
---
import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx
index e0b25aa2b53ea..75b4ff391311c 100644
--- a/api_docs/kbn_securitysolution_rules.mdx
+++ b/api_docs/kbn_securitysolution_rules.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules
title: "@kbn/securitysolution-rules"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-rules plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules']
---
import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx
index 861b75ea630ba..b4a5b70c19c9f 100644
--- a/api_docs/kbn_securitysolution_t_grid.mdx
+++ b/api_docs/kbn_securitysolution_t_grid.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid
title: "@kbn/securitysolution-t-grid"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-t-grid plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid']
---
import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json';
diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx
index 4d3732c8fd04d..e51db6363a863 100644
--- a/api_docs/kbn_securitysolution_utils.mdx
+++ b/api_docs/kbn_securitysolution_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils
title: "@kbn/securitysolution-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/securitysolution-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils']
---
import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json';
diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx
index 435496895bfa2..c28f46670aa28 100644
--- a/api_docs/kbn_server_http_tools.mdx
+++ b/api_docs/kbn_server_http_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools
title: "@kbn/server-http-tools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/server-http-tools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools']
---
import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json';
diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx
index e602b89e617b1..f63d64e85610b 100644
--- a/api_docs/kbn_server_route_repository.mdx
+++ b/api_docs/kbn_server_route_repository.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository
title: "@kbn/server-route-repository"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/server-route-repository plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository']
---
import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json';
diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx
index c77f381d416dc..981f565778699 100644
--- a/api_docs/kbn_serverless_common_settings.mdx
+++ b/api_docs/kbn_serverless_common_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings
title: "@kbn/serverless-common-settings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-common-settings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings']
---
import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json';
diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx
index def8a59b63c0b..88c28a9bb6eac 100644
--- a/api_docs/kbn_serverless_observability_settings.mdx
+++ b/api_docs/kbn_serverless_observability_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings
title: "@kbn/serverless-observability-settings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-observability-settings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings']
---
import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json';
diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx
index 8b03d326266bc..52e78bb9cf4c1 100644
--- a/api_docs/kbn_serverless_project_switcher.mdx
+++ b/api_docs/kbn_serverless_project_switcher.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher
title: "@kbn/serverless-project-switcher"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-project-switcher plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher']
---
import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json';
diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx
index 05330095c4f34..b850510d1ad19 100644
--- a/api_docs/kbn_serverless_search_settings.mdx
+++ b/api_docs/kbn_serverless_search_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings
title: "@kbn/serverless-search-settings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-search-settings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings']
---
import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json';
diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx
index 7ec53585281d3..9e9286c355442 100644
--- a/api_docs/kbn_serverless_security_settings.mdx
+++ b/api_docs/kbn_serverless_security_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings
title: "@kbn/serverless-security-settings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-security-settings plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings']
---
import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json';
diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx
index 09a17afeb930c..c30d01ff499ce 100644
--- a/api_docs/kbn_serverless_storybook_config.mdx
+++ b/api_docs/kbn_serverless_storybook_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config
title: "@kbn/serverless-storybook-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/serverless-storybook-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config']
---
import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json';
diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx
index 823411fdbf8fe..890daebead8c7 100644
--- a/api_docs/kbn_shared_svg.mdx
+++ b/api_docs/kbn_shared_svg.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg
title: "@kbn/shared-svg"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-svg plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg']
---
import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx
index c409b690c6456..cbd2ed2b4e556 100644
--- a/api_docs/kbn_shared_ux_avatar_solution.mdx
+++ b/api_docs/kbn_shared_ux_avatar_solution.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution
title: "@kbn/shared-ux-avatar-solution"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-avatar-solution plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution']
---
import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx
index cac9a71252c5b..e572b8a996e45 100644
--- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx
+++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen
title: "@kbn/shared-ux-button-exit-full-screen"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen']
---
import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx
index 88dded75428d6..15aaa6fdd1dbc 100644
--- a/api_docs/kbn_shared_ux_button_toolbar.mdx
+++ b/api_docs/kbn_shared_ux_button_toolbar.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar
title: "@kbn/shared-ux-button-toolbar"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-button-toolbar plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar']
---
import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_card_no_data.devdocs.json b/api_docs/kbn_shared_ux_card_no_data.devdocs.json
index 1f648e15e5a1f..c4346d8b39563 100644
--- a/api_docs/kbn_shared_ux_card_no_data.devdocs.json
+++ b/api_docs/kbn_shared_ux_card_no_data.devdocs.json
@@ -130,9 +130,9 @@
"\nProps for the `NoDataCard` pure component."
],
"signature": [
- "Partial> & { button?: React.ReactNode; onClick?: React.MouseEventHandler | undefined; description?: React.ReactNode; category?: string | undefined; canAccessFleet?: boolean | undefined; }"
+ ", \"className\" | \"title\" | \"href\">> & { button?: React.ReactNode; onClick?: React.MouseEventHandler | undefined; description?: React.ReactNode; category?: string | undefined; canAccessFleet?: boolean | undefined; }"
],
"path": "packages/shared-ux/card/no_data/types/index.d.ts",
"deprecated": false,
@@ -168,9 +168,9 @@
"\nProps for the `NoDataCard` sevice-connected component."
],
"signature": [
- "Partial> & { button?: React.ReactNode; onClick?: React.MouseEventHandler | undefined; description?: React.ReactNode; category?: string | undefined; canAccessFleet?: boolean | undefined; }"
+ ", \"className\" | \"title\" | \"href\">> & { button?: React.ReactNode; onClick?: React.MouseEventHandler | undefined; description?: React.ReactNode; category?: string | undefined; canAccessFleet?: boolean | undefined; }"
],
"path": "packages/shared-ux/card/no_data/types/index.d.ts",
"deprecated": false,
diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx
index aa75fb31f0aae..53348978adfa7 100644
--- a/api_docs/kbn_shared_ux_card_no_data.mdx
+++ b/api_docs/kbn_shared_ux_card_no_data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data
title: "@kbn/shared-ux-card-no-data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-card-no-data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data']
---
import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx
index 6f7b65aac95ba..e5212e5a9d832 100644
--- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx
+++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks
title: "@kbn/shared-ux-card-no-data-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks']
---
import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx
index 5d17a765d2304..6ff7035f15620 100644
--- a/api_docs/kbn_shared_ux_chrome_navigation.mdx
+++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation
title: "@kbn/shared-ux-chrome-navigation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-chrome-navigation plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation']
---
import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx
index d78f20c30eafc..3e765bda5e4d1 100644
--- a/api_docs/kbn_shared_ux_error_boundary.mdx
+++ b/api_docs/kbn_shared_ux_error_boundary.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary
title: "@kbn/shared-ux-error-boundary"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-error-boundary plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary']
---
import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx
index d64d3da11302b..b6d1d6e6c0d86 100644
--- a/api_docs/kbn_shared_ux_file_context.mdx
+++ b/api_docs/kbn_shared_ux_file_context.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context
title: "@kbn/shared-ux-file-context"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-context plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context']
---
import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx
index 33f63c702108c..dcbd79232d341 100644
--- a/api_docs/kbn_shared_ux_file_image.mdx
+++ b/api_docs/kbn_shared_ux_file_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image
title: "@kbn/shared-ux-file-image"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-image plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image']
---
import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx
index a76fa0df487e8..eacc1f3bf4bdb 100644
--- a/api_docs/kbn_shared_ux_file_image_mocks.mdx
+++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks
title: "@kbn/shared-ux-file-image-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-image-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks']
---
import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx
index 683855969b416..3edb904674b74 100644
--- a/api_docs/kbn_shared_ux_file_mocks.mdx
+++ b/api_docs/kbn_shared_ux_file_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks
title: "@kbn/shared-ux-file-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks']
---
import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx
index 55fa022e43351..bd42d6d6e4109 100644
--- a/api_docs/kbn_shared_ux_file_picker.mdx
+++ b/api_docs/kbn_shared_ux_file_picker.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker
title: "@kbn/shared-ux-file-picker"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-picker plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker']
---
import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx
index 40068d1b30a11..561a775b70a2d 100644
--- a/api_docs/kbn_shared_ux_file_types.mdx
+++ b/api_docs/kbn_shared_ux_file_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types
title: "@kbn/shared-ux-file-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types']
---
import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx
index 52af2912e4994..2feed58be911c 100644
--- a/api_docs/kbn_shared_ux_file_upload.mdx
+++ b/api_docs/kbn_shared_ux_file_upload.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload
title: "@kbn/shared-ux-file-upload"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-upload plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload']
---
import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx
index 329b66574c6ce..4f056d368e465 100644
--- a/api_docs/kbn_shared_ux_file_util.mdx
+++ b/api_docs/kbn_shared_ux_file_util.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util
title: "@kbn/shared-ux-file-util"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-file-util plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util']
---
import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx
index c120f8c1c345e..e46c3cc9e37dc 100644
--- a/api_docs/kbn_shared_ux_link_redirect_app.mdx
+++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app
title: "@kbn/shared-ux-link-redirect-app"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-link-redirect-app plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app']
---
import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx
index 9a7ce12cf8acd..23ee1e56f2cb1 100644
--- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx
+++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks
title: "@kbn/shared-ux-link-redirect-app-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks']
---
import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx
index 4c79a852c3905..78cc761962edb 100644
--- a/api_docs/kbn_shared_ux_markdown.mdx
+++ b/api_docs/kbn_shared_ux_markdown.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown
title: "@kbn/shared-ux-markdown"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-markdown plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown']
---
import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx
index 1a12232e0b2f4..11cfb4a53dead 100644
--- a/api_docs/kbn_shared_ux_markdown_mocks.mdx
+++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks
title: "@kbn/shared-ux-markdown-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-markdown-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks']
---
import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.devdocs.json b/api_docs/kbn_shared_ux_page_analytics_no_data.devdocs.json
index 8adf2b60d76c9..cf6703bbdd7bb 100644
--- a/api_docs/kbn_shared_ux_page_analytics_no_data.devdocs.json
+++ b/api_docs/kbn_shared_ux_page_analytics_no_data.devdocs.json
@@ -50,9 +50,7 @@
"\nA pure component of an entire page that can be displayed when Kibana \"has no data\", specifically for Analytics."
],
"signature": [
- "({ kibanaGuideDocLink, onDataViewCreated, allowAdHocDataView, showPlainSpinner, prependBasePath, pageFlavor, }: ",
- "Props",
- ") => JSX.Element"
+ "({ onDataViewCreated, allowAdHocDataView, showPlainSpinner, ...services }: React.PropsWithChildren) => JSX.Element"
],
"path": "packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx",
"deprecated": false,
@@ -61,12 +59,12 @@
{
"parentPluginId": "@kbn/shared-ux-page-analytics-no-data",
"id": "def-public.AnalyticsNoDataPage.$1",
- "type": "Object",
+ "type": "CompoundType",
"tags": [],
- "label": "{\n kibanaGuideDocLink,\n onDataViewCreated,\n allowAdHocDataView,\n showPlainSpinner,\n prependBasePath,\n pageFlavor = 'kibana',\n}",
+ "label": "{\n onDataViewCreated,\n allowAdHocDataView,\n showPlainSpinner,\n ...services\n}",
"description": [],
"signature": [
- "Props"
+ "React.PropsWithChildren"
],
"path": "packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx",
"deprecated": false,
@@ -154,6 +152,69 @@
],
"returnComment": [],
"initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/shared-ux-page-analytics-no-data",
+ "id": "def-public.getHasApiKeys$",
+ "type": "Function",
+ "tags": [],
+ "label": "getHasApiKeys$",
+ "description": [],
+ "signature": [
+ "({ get, }: { get: (path: string) => Promise; }) => ",
+ "Observable",
+ "<",
+ "HasApiKeysResponse",
+ ">"
+ ],
+ "path": "packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/shared-ux-page-analytics-no-data",
+ "id": "def-public.getHasApiKeys$.$1",
+ "type": "Object",
+ "tags": [],
+ "label": "{\n get,\n}",
+ "description": [],
+ "path": "packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/shared-ux-page-analytics-no-data",
+ "id": "def-public.getHasApiKeys$.$1.get",
+ "type": "Function",
+ "tags": [],
+ "label": "get",
+ "description": [],
+ "signature": [
+ "(path: string) => Promise"
+ ],
+ "path": "packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "returnComment": [],
+ "children": [
+ {
+ "parentPluginId": "@kbn/shared-ux-page-analytics-no-data",
+ "id": "def-public.getHasApiKeys$.$1.get.$1",
+ "type": "string",
+ "tags": [],
+ "label": "path",
+ "description": [],
+ "path": "packages/shared-ux/page/analytics_no_data/types/index.d.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
}
],
"interfaces": [
diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
index d9d3673bd3bb7..12feee7493d8f 100644
--- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
+++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data
title: "@kbn/shared-ux-page-analytics-no-data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data']
---
import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 14 | 0 | 5 | 1 |
+| 18 | 0 | 9 | 1 |
## Client
diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx
index 97714d7b54229..ccd0584a9246d 100644
--- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx
+++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks
title: "@kbn/shared-ux-page-analytics-no-data-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks']
---
import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx
index 6600b947fe2e1..8d952e5f609b0 100644
--- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx
+++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data
title: "@kbn/shared-ux-page-kibana-no-data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data']
---
import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx
index aa6aaa03ebf86..048324dd312bd 100644
--- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx
+++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks
title: "@kbn/shared-ux-page-kibana-no-data-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks']
---
import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx
index 87657ae6f1907..174540edf9c10 100644
--- a/api_docs/kbn_shared_ux_page_kibana_template.mdx
+++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template
title: "@kbn/shared-ux-page-kibana-template"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-kibana-template plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template']
---
import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx
index 6bf28994f3b3a..c15f87b3afeb6 100644
--- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx
+++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks
title: "@kbn/shared-ux-page-kibana-template-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks']
---
import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx
index 737dabad08b5b..33c3216092c47 100644
--- a/api_docs/kbn_shared_ux_page_no_data.mdx
+++ b/api_docs/kbn_shared_ux_page_no_data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data
title: "@kbn/shared-ux-page-no-data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-no-data plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data']
---
import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx
index 525aef5e95ca3..e329847b7d479 100644
--- a/api_docs/kbn_shared_ux_page_no_data_config.mdx
+++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config
title: "@kbn/shared-ux-page-no-data-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-no-data-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config']
---
import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx
index 17c1929004f3d..ed18c6cab72cc 100644
--- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx
+++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks
title: "@kbn/shared-ux-page-no-data-config-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks']
---
import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx
index 40a7869373d11..5f7b075a730c4 100644
--- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx
+++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks
title: "@kbn/shared-ux-page-no-data-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks']
---
import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx
index 891feab6e4df6..ab0903bfb08da 100644
--- a/api_docs/kbn_shared_ux_page_solution_nav.mdx
+++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav
title: "@kbn/shared-ux-page-solution-nav"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-page-solution-nav plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav']
---
import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.devdocs.json b/api_docs/kbn_shared_ux_prompt_no_data_views.devdocs.json
index 071772e1a1780..b45b0685c9896 100644
--- a/api_docs/kbn_shared_ux_prompt_no_data_views.devdocs.json
+++ b/api_docs/kbn_shared_ux_prompt_no_data_views.devdocs.json
@@ -3,6 +3,23 @@
"client": {
"classes": [],
"functions": [
+ {
+ "parentPluginId": "@kbn/shared-ux-prompt-no-data-views",
+ "id": "def-public.DataViewIllustration",
+ "type": "Function",
+ "tags": [],
+ "label": "DataViewIllustration",
+ "description": [],
+ "signature": [
+ "() => JSX.Element"
+ ],
+ "path": "packages/shared-ux/prompt/no_data_views/impl/src/data_view_illustration.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [],
+ "returnComment": [],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/shared-ux-prompt-no-data-views",
"id": "def-public.NoDataViewsPrompt",
diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx
index caa3acb9fbf2f..176e4d0cc0b8e 100644
--- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx
+++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views
title: "@kbn/shared-ux-prompt-no-data-views"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views']
---
import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 25 | 0 | 10 | 0 |
+| 26 | 0 | 11 | 0 |
## Client
diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx
index d3bafe9772ef9..25e7e08accb56 100644
--- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx
+++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks
title: "@kbn/shared-ux-prompt-no-data-views-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks']
---
import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx
index a7d8129d6771e..13b8bff986574 100644
--- a/api_docs/kbn_shared_ux_prompt_not_found.mdx
+++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found
title: "@kbn/shared-ux-prompt-not-found"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-prompt-not-found plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found']
---
import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx
index bab20d3ae174b..10fd975b3e16e 100644
--- a/api_docs/kbn_shared_ux_router.mdx
+++ b/api_docs/kbn_shared_ux_router.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router
title: "@kbn/shared-ux-router"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-router plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router']
---
import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx
index 2dbcdccbdae4c..8faeb087e77a1 100644
--- a/api_docs/kbn_shared_ux_router_mocks.mdx
+++ b/api_docs/kbn_shared_ux_router_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks
title: "@kbn/shared-ux-router-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-router-mocks plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks']
---
import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx
index e5ceb4b1d0b33..f38fdfdcba20e 100644
--- a/api_docs/kbn_shared_ux_storybook_config.mdx
+++ b/api_docs/kbn_shared_ux_storybook_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config
title: "@kbn/shared-ux-storybook-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-storybook-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config']
---
import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx
index 6c3d9e5432ce5..2b8023195b2be 100644
--- a/api_docs/kbn_shared_ux_storybook_mock.mdx
+++ b/api_docs/kbn_shared_ux_storybook_mock.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock
title: "@kbn/shared-ux-storybook-mock"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-storybook-mock plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock']
---
import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json';
diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx
index 66229d6d6b75b..c292a81967916 100644
--- a/api_docs/kbn_shared_ux_utility.mdx
+++ b/api_docs/kbn_shared_ux_utility.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility
title: "@kbn/shared-ux-utility"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/shared-ux-utility plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility']
---
import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json';
diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx
index 91fe7f815a779..f6e83f969e544 100644
--- a/api_docs/kbn_slo_schema.mdx
+++ b/api_docs/kbn_slo_schema.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema
title: "@kbn/slo-schema"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/slo-schema plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema']
---
import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json';
diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx
index 172a66d34cd48..038109510225a 100644
--- a/api_docs/kbn_some_dev_log.mdx
+++ b/api_docs/kbn_some_dev_log.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log
title: "@kbn/some-dev-log"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/some-dev-log plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log']
---
import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json';
diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx
index 903d805980252..63b8ec3981967 100644
--- a/api_docs/kbn_std.mdx
+++ b/api_docs/kbn_std.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std
title: "@kbn/std"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/std plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std']
---
import kbnStdObj from './kbn_std.devdocs.json';
diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx
index 5a819a2483e7e..682956431d844 100644
--- a/api_docs/kbn_stdio_dev_helpers.mdx
+++ b/api_docs/kbn_stdio_dev_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers
title: "@kbn/stdio-dev-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/stdio-dev-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers']
---
import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json';
diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx
index ddf60813b3e6f..c7e4650172205 100644
--- a/api_docs/kbn_storybook.mdx
+++ b/api_docs/kbn_storybook.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook
title: "@kbn/storybook"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/storybook plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook']
---
import kbnStorybookObj from './kbn_storybook.devdocs.json';
diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx
index d357765de093e..9c546f6689120 100644
--- a/api_docs/kbn_telemetry_tools.mdx
+++ b/api_docs/kbn_telemetry_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools
title: "@kbn/telemetry-tools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/telemetry-tools plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools']
---
import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json';
diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx
index deef6f2d8bfa2..a3edc1f892b62 100644
--- a/api_docs/kbn_test.mdx
+++ b/api_docs/kbn_test.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test
title: "@kbn/test"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/test plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test']
---
import kbnTestObj from './kbn_test.devdocs.json';
diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx
index ee0a17dd56e4b..5f3a9d66dcc8c 100644
--- a/api_docs/kbn_test_jest_helpers.mdx
+++ b/api_docs/kbn_test_jest_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers
title: "@kbn/test-jest-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/test-jest-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers']
---
import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json';
diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx
index 8d65942208d82..0a70990a451e2 100644
--- a/api_docs/kbn_test_subj_selector.mdx
+++ b/api_docs/kbn_test_subj_selector.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector
title: "@kbn/test-subj-selector"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/test-subj-selector plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector']
---
import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json';
diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx
index 1a147019c623f..612f6416439f7 100644
--- a/api_docs/kbn_text_based_editor.mdx
+++ b/api_docs/kbn_text_based_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor
title: "@kbn/text-based-editor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/text-based-editor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor']
---
import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json';
diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx
index 0bcb9d298d2ad..4ea18eb9b5979 100644
--- a/api_docs/kbn_tooling_log.mdx
+++ b/api_docs/kbn_tooling_log.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log
title: "@kbn/tooling-log"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/tooling-log plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log']
---
import kbnToolingLogObj from './kbn_tooling_log.devdocs.json';
diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx
index 8c143f9b47d4c..ff0fd73d461e3 100644
--- a/api_docs/kbn_triggers_actions_ui_types.mdx
+++ b/api_docs/kbn_triggers_actions_ui_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types
title: "@kbn/triggers-actions-ui-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/triggers-actions-ui-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types']
---
import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json';
diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx
index 0bcc134f3bd72..857ea4ffeb8ab 100644
--- a/api_docs/kbn_ts_projects.mdx
+++ b/api_docs/kbn_ts_projects.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects
title: "@kbn/ts-projects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ts-projects plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects']
---
import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json';
diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx
index 08cde87cb3cf6..64da8fa7ef145 100644
--- a/api_docs/kbn_typed_react_router_config.mdx
+++ b/api_docs/kbn_typed_react_router_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config
title: "@kbn/typed-react-router-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/typed-react-router-config plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config']
---
import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json';
diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx
index 153d573a373e6..ac5af74404f8f 100644
--- a/api_docs/kbn_ui_actions_browser.mdx
+++ b/api_docs/kbn_ui_actions_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser
title: "@kbn/ui-actions-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ui-actions-browser plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser']
---
import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json';
diff --git a/api_docs/kbn_ui_shared_deps_src.devdocs.json b/api_docs/kbn_ui_shared_deps_src.devdocs.json
index 43ebafeb195cf..28d0d05e41462 100644
--- a/api_docs/kbn_ui_shared_deps_src.devdocs.json
+++ b/api_docs/kbn_ui_shared_deps_src.devdocs.json
@@ -644,6 +644,17 @@
"path": "packages/kbn-ui-shared-deps-src/src/definitions.js",
"deprecated": false,
"trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/ui-shared-deps-src",
+ "id": "def-common.externals.kbncodeeditor",
+ "type": "string",
+ "tags": [],
+ "label": "'@kbn/code-editor'",
+ "description": [],
+ "path": "packages/kbn-ui-shared-deps-src/src/definitions.js",
+ "deprecated": false,
+ "trackAdoption": false
}
],
"initialIsOpen": false
diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx
index fb710c473e0b3..4742f7421ba03 100644
--- a/api_docs/kbn_ui_shared_deps_src.mdx
+++ b/api_docs/kbn_ui_shared_deps_src.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src
title: "@kbn/ui-shared-deps-src"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ui-shared-deps-src plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src']
---
import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 54 | 0 | 45 | 0 |
+| 55 | 0 | 46 | 0 |
## Common
diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx
index 7454b53b0e2f8..923e08a6d40cf 100644
--- a/api_docs/kbn_ui_theme.mdx
+++ b/api_docs/kbn_ui_theme.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme
title: "@kbn/ui-theme"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ui-theme plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme']
---
import kbnUiThemeObj from './kbn_ui_theme.devdocs.json';
diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx
index 2380b7372f2f5..dafe6513c4374 100644
--- a/api_docs/kbn_unified_data_table.mdx
+++ b/api_docs/kbn_unified_data_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table
title: "@kbn/unified-data-table"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/unified-data-table plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table']
---
import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json';
diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx
index 79db7c5bfe3d9..e159e6e1fddeb 100644
--- a/api_docs/kbn_unified_doc_viewer.mdx
+++ b/api_docs/kbn_unified_doc_viewer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer
title: "@kbn/unified-doc-viewer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/unified-doc-viewer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer']
---
import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json';
diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx
index 000295820d1cb..503acdaa6a9b5 100644
--- a/api_docs/kbn_unified_field_list.mdx
+++ b/api_docs/kbn_unified_field_list.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list
title: "@kbn/unified-field-list"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/unified-field-list plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list']
---
import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json';
diff --git a/api_docs/kbn_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx
index 455d75bd1f3da..b0065014245ea 100644
--- a/api_docs/kbn_unsaved_changes_badge.mdx
+++ b/api_docs/kbn_unsaved_changes_badge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge
title: "@kbn/unsaved-changes-badge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/unsaved-changes-badge plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge']
---
import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json';
diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx
index 530559e8179f5..b9ebbcb5e997e 100644
--- a/api_docs/kbn_url_state.mdx
+++ b/api_docs/kbn_url_state.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state
title: "@kbn/url-state"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/url-state plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state']
---
import kbnUrlStateObj from './kbn_url_state.devdocs.json';
diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx
index 12971d1114d22..070d4d6f44a98 100644
--- a/api_docs/kbn_use_tracked_promise.mdx
+++ b/api_docs/kbn_use_tracked_promise.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise
title: "@kbn/use-tracked-promise"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/use-tracked-promise plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise']
---
import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json';
diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx
index dc8b88022e02a..8697ab0eb1de8 100644
--- a/api_docs/kbn_user_profile_components.mdx
+++ b/api_docs/kbn_user_profile_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components
title: "@kbn/user-profile-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/user-profile-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components']
---
import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json';
diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx
index 202d72ad321f8..7662c66dc1a82 100644
--- a/api_docs/kbn_utility_types.mdx
+++ b/api_docs/kbn_utility_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types
title: "@kbn/utility-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/utility-types plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types']
---
import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json';
diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx
index fad43a7ed0bdf..5b692a537c3c5 100644
--- a/api_docs/kbn_utility_types_jest.mdx
+++ b/api_docs/kbn_utility_types_jest.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest
title: "@kbn/utility-types-jest"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/utility-types-jest plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest']
---
import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json';
diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx
index 9835772148f74..dd6d68c9c8c55 100644
--- a/api_docs/kbn_utils.mdx
+++ b/api_docs/kbn_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils
title: "@kbn/utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils']
---
import kbnUtilsObj from './kbn_utils.devdocs.json';
diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx
index 844311235ca6d..b4c12b6f4b541 100644
--- a/api_docs/kbn_visualization_ui_components.mdx
+++ b/api_docs/kbn_visualization_ui_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components
title: "@kbn/visualization-ui-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/visualization-ui-components plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components']
---
import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json';
diff --git a/api_docs/kbn_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx
index daba78a1274ff..04ef84ac2c2b9 100644
--- a/api_docs/kbn_visualization_utils.mdx
+++ b/api_docs/kbn_visualization_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils
title: "@kbn/visualization-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/visualization-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils']
---
import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json';
diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx
index ad4d3d9ec23ac..ea75b1eb66cee 100644
--- a/api_docs/kbn_xstate_utils.mdx
+++ b/api_docs/kbn_xstate_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils
title: "@kbn/xstate-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/xstate-utils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils']
---
import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json';
diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx
index a46de2706bd40..bc1f865165d70 100644
--- a/api_docs/kbn_yarn_lock_validator.mdx
+++ b/api_docs/kbn_yarn_lock_validator.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator
title: "@kbn/yarn-lock-validator"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/yarn-lock-validator plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator']
---
import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json';
diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx
index 80db9667d58e5..82077af1c0597 100644
--- a/api_docs/kbn_zod_helpers.mdx
+++ b/api_docs/kbn_zod_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers
title: "@kbn/zod-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/zod-helpers plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers']
---
import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json';
diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx
index ae784410c387a..3b4ca595ba71b 100644
--- a/api_docs/kibana_overview.mdx
+++ b/api_docs/kibana_overview.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview
title: "kibanaOverview"
image: https://source.unsplash.com/400x175/?github
description: API docs for the kibanaOverview plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview']
---
import kibanaOverviewObj from './kibana_overview.devdocs.json';
diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json
index 8707e724e80e0..1d779c94c042d 100644
--- a/api_docs/kibana_react.devdocs.json
+++ b/api_docs/kibana_react.devdocs.json
@@ -190,110 +190,6 @@
}
],
"functions": [
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.CodeEditor",
- "type": "Function",
- "tags": [
- "see"
- ],
- "label": "CodeEditor",
- "description": [
- "\nRenders a Monaco code editor with EUI color theme.\n"
- ],
- "signature": [
- "(props: React.PropsWithChildren<",
- {
- "pluginId": "@kbn/code-editor",
- "scope": "common",
- "docId": "kibKbnCodeEditorPluginApi",
- "section": "def-common.CodeEditorProps",
- "text": "CodeEditorProps"
- },
- ">) => JSX.Element"
- ],
- "path": "src/plugins/kibana_react/public/code_editor/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "children": [
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.CodeEditor.$1",
- "type": "CompoundType",
- "tags": [],
- "label": "props",
- "description": [],
- "signature": [
- "React.PropsWithChildren<",
- {
- "pluginId": "@kbn/code-editor",
- "scope": "common",
- "docId": "kibKbnCodeEditorPluginApi",
- "section": "def-common.CodeEditorProps",
- "text": "CodeEditorProps"
- },
- ">"
- ],
- "path": "src/plugins/kibana_react/public/code_editor/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "isRequired": true
- }
- ],
- "returnComment": [],
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.CodeEditorField",
- "type": "Function",
- "tags": [],
- "label": "CodeEditorField",
- "description": [
- "\nRenders a Monaco code editor in the same style as other EUI form fields."
- ],
- "signature": [
- "(props: React.PropsWithChildren<",
- {
- "pluginId": "@kbn/code-editor",
- "scope": "common",
- "docId": "kibKbnCodeEditorPluginApi",
- "section": "def-common.CodeEditorProps",
- "text": "CodeEditorProps"
- },
- ">) => JSX.Element"
- ],
- "path": "src/plugins/kibana_react/public/code_editor/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "children": [
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.CodeEditorField.$1",
- "type": "CompoundType",
- "tags": [],
- "label": "props",
- "description": [],
- "signature": [
- "React.PropsWithChildren<",
- {
- "pluginId": "@kbn/code-editor",
- "scope": "common",
- "docId": "kibKbnCodeEditorPluginApi",
- "section": "def-common.CodeEditorProps",
- "text": "CodeEditorProps"
- },
- ">"
- ],
- "path": "src/plugins/kibana_react/public/code_editor/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "isRequired": true
- }
- ],
- "returnComment": [],
- "initialIsOpen": false
- },
{
"parentPluginId": "kibanaReact",
"id": "def-public.createKibanaReactContext",
@@ -2752,6 +2648,14 @@
"plugin": "lens",
"path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/edit_action_helpers.ts"
},
+ {
+ "plugin": "lens",
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/in_app_embeddable_edit_action_helpers.tsx"
+ },
+ {
+ "plugin": "lens",
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/in_app_embeddable_edit_action_helpers.tsx"
+ },
{
"plugin": "security",
"path": "x-pack/plugins/security/public/account_management/account_management_app.tsx"
@@ -4864,18 +4768,6 @@
],
"enums": [],
"misc": [
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.CodeEditorProps",
- "type": "Type",
- "tags": [],
- "label": "CodeEditorProps",
- "description": [],
- "path": "src/plugins/kibana_react/public/code_editor/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
{
"parentPluginId": "kibanaReact",
"id": "def-public.ElasticAgentCardProps",
@@ -5082,96 +4974,6 @@
"references": [],
"initialIsOpen": false
},
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"css\""
- ],
- "path": "packages/shared-ux/code_editor/languages/css/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"markdown\""
- ],
- "path": "packages/shared-ux/code_editor/languages/markdown/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"yaml\""
- ],
- "path": "packages/shared-ux/code_editor/languages/yaml/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"handlebars\""
- ],
- "path": "packages/shared-ux/code_editor/languages/handlebars/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"hjson\""
- ],
- "path": "packages/shared-ux/code_editor/languages/hjson/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
- {
- "parentPluginId": "kibanaReact",
- "id": "def-public.LANG",
- "type": "string",
- "tags": [],
- "label": "LANG",
- "description": [],
- "signature": [
- "\"grok\""
- ],
- "path": "packages/shared-ux/code_editor/languages/grok/constants.ts",
- "deprecated": false,
- "trackAdoption": false,
- "initialIsOpen": false
- },
{
"parentPluginId": "kibanaReact",
"id": "def-public.NO_DATA_RECOMMENDED",
diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx
index a2a3d5c5ce4bb..5c77175997b47 100644
--- a/api_docs/kibana_react.mdx
+++ b/api_docs/kibana_react.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact
title: "kibanaReact"
image: https://source.unsplash.com/400x175/?github
description: API docs for the kibanaReact plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact']
---
import kibanaReactObj from './kibana_react.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 163 | 0 | 129 | 3 |
+| 152 | 0 | 120 | 3 |
## Client
diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx
index 5ab86f6c3e6b7..3c0e7f5f71214 100644
--- a/api_docs/kibana_utils.mdx
+++ b/api_docs/kibana_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils
title: "kibanaUtils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the kibanaUtils plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils']
---
import kibanaUtilsObj from './kibana_utils.devdocs.json';
diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx
index 91f61d77ce8da..f578b1df32d76 100644
--- a/api_docs/kubernetes_security.mdx
+++ b/api_docs/kubernetes_security.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity
title: "kubernetesSecurity"
image: https://source.unsplash.com/400x175/?github
description: API docs for the kubernetesSecurity plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity']
---
import kubernetesSecurityObj from './kubernetes_security.devdocs.json';
diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json
index 77331951572fc..089199051608c 100644
--- a/api_docs/lens.devdocs.json
+++ b/api_docs/lens.devdocs.json
@@ -2873,6 +2873,276 @@
],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext",
+ "type": "Interface",
+ "tags": [],
+ "label": "InlineEditLensEmbeddableContext",
+ "description": [],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.attributes",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "attributes",
+ "description": [],
+ "signature": [
+ "LensAttributes<\"lnsXY\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.XYState",
+ "text": "XYState"
+ },
+ "> | LensAttributes<\"lnsPie\", ",
+ "PieVisualizationState",
+ "> | LensAttributes<\"lnsHeatmap\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.HeatmapVisualizationState",
+ "text": "HeatmapVisualizationState"
+ },
+ "> | LensAttributes<\"lnsGauge\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.GaugeVisualizationState",
+ "text": "GaugeVisualizationState"
+ },
+ "> | LensAttributes<\"lnsDatatable\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.DatatableVisualizationState",
+ "text": "DatatableVisualizationState"
+ },
+ "> | LensAttributes<\"lnsLegacyMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "common",
+ "docId": "kibLensPluginApi",
+ "section": "def-common.LegacyMetricState",
+ "text": "LegacyMetricState"
+ },
+ "> | LensAttributes<\"lnsMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.MetricVisualizationState",
+ "text": "MetricVisualizationState"
+ },
+ "> | LensAttributes"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.lensEvent",
+ "type": "Object",
+ "tags": [],
+ "label": "lensEvent",
+ "description": [],
+ "signature": [
+ "LensChartLoadEvent"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.onUpdate",
+ "type": "Function",
+ "tags": [],
+ "label": "onUpdate",
+ "description": [],
+ "signature": [
+ "(newAttributes: LensAttributes<\"lnsXY\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.XYState",
+ "text": "XYState"
+ },
+ "> | LensAttributes<\"lnsPie\", ",
+ "PieVisualizationState",
+ "> | LensAttributes<\"lnsHeatmap\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.HeatmapVisualizationState",
+ "text": "HeatmapVisualizationState"
+ },
+ "> | LensAttributes<\"lnsGauge\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.GaugeVisualizationState",
+ "text": "GaugeVisualizationState"
+ },
+ "> | LensAttributes<\"lnsDatatable\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.DatatableVisualizationState",
+ "text": "DatatableVisualizationState"
+ },
+ "> | LensAttributes<\"lnsLegacyMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "common",
+ "docId": "kibLensPluginApi",
+ "section": "def-common.LegacyMetricState",
+ "text": "LegacyMetricState"
+ },
+ "> | LensAttributes<\"lnsMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.MetricVisualizationState",
+ "text": "MetricVisualizationState"
+ },
+ "> | LensAttributes) => void"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.onUpdate.$1",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "newAttributes",
+ "description": [],
+ "signature": [
+ "LensAttributes<\"lnsXY\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.XYState",
+ "text": "XYState"
+ },
+ "> | LensAttributes<\"lnsPie\", ",
+ "PieVisualizationState",
+ "> | LensAttributes<\"lnsHeatmap\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.HeatmapVisualizationState",
+ "text": "HeatmapVisualizationState"
+ },
+ "> | LensAttributes<\"lnsGauge\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.GaugeVisualizationState",
+ "text": "GaugeVisualizationState"
+ },
+ "> | LensAttributes<\"lnsDatatable\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.DatatableVisualizationState",
+ "text": "DatatableVisualizationState"
+ },
+ "> | LensAttributes<\"lnsLegacyMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "common",
+ "docId": "kibLensPluginApi",
+ "section": "def-common.LegacyMetricState",
+ "text": "LegacyMetricState"
+ },
+ "> | LensAttributes<\"lnsMetric\", ",
+ {
+ "pluginId": "lens",
+ "scope": "public",
+ "docId": "kibLensPluginApi",
+ "section": "def-public.MetricVisualizationState",
+ "text": "MetricVisualizationState"
+ },
+ "> | LensAttributes"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": []
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.onApply",
+ "type": "Function",
+ "tags": [],
+ "label": "onApply",
+ "description": [],
+ "signature": [
+ "(() => void) | undefined"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [],
+ "returnComment": []
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.onCancel",
+ "type": "Function",
+ "tags": [],
+ "label": "onCancel",
+ "description": [],
+ "signature": [
+ "(() => void) | undefined"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [],
+ "returnComment": []
+ },
+ {
+ "parentPluginId": "lens",
+ "id": "def-public.InlineEditLensEmbeddableContext.container",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "container",
+ "description": [],
+ "signature": [
+ "HTMLElement | null | undefined"
+ ],
+ "path": "x-pack/plugins/lens/public/trigger_actions/open_lens_config/in_app_embeddable_edit/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ }
+ ],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "lens",
"id": "def-public.LastValueIndexPatternColumn",
diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx
index a85196d522907..b0129d5f39f72 100644
--- a/api_docs/lens.mdx
+++ b/api_docs/lens.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens
title: "lens"
image: https://source.unsplash.com/400x175/?github
description: API docs for the lens plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens']
---
import lensObj from './lens.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 644 | 0 | 545 | 60 |
+| 652 | 0 | 553 | 61 |
## Client
diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx
index d4a4818992a98..44cf1efea8971 100644
--- a/api_docs/license_api_guard.mdx
+++ b/api_docs/license_api_guard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard
title: "licenseApiGuard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the licenseApiGuard plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard']
---
import licenseApiGuardObj from './license_api_guard.devdocs.json';
diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx
index 43deddf578652..d69f64a4a7916 100644
--- a/api_docs/license_management.mdx
+++ b/api_docs/license_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement
title: "licenseManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the licenseManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement']
---
import licenseManagementObj from './license_management.devdocs.json';
diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx
index 435dff6429fe9..7dc956b6d3c8b 100644
--- a/api_docs/licensing.mdx
+++ b/api_docs/licensing.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing
title: "licensing"
image: https://source.unsplash.com/400x175/?github
description: API docs for the licensing plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing']
---
import licensingObj from './licensing.devdocs.json';
diff --git a/api_docs/links.mdx b/api_docs/links.mdx
index 8961e4efc4e72..8a15a2f611f47 100644
--- a/api_docs/links.mdx
+++ b/api_docs/links.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links
title: "links"
image: https://source.unsplash.com/400x175/?github
description: API docs for the links plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links']
---
import linksObj from './links.devdocs.json';
diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx
index e528494c28b51..7de3cc9a2ef1b 100644
--- a/api_docs/lists.mdx
+++ b/api_docs/lists.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists
title: "lists"
image: https://source.unsplash.com/400x175/?github
description: API docs for the lists plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists']
---
import listsObj from './lists.devdocs.json';
diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx
index 61e28f7dd904c..56d751ee8abe5 100644
--- a/api_docs/log_explorer.mdx
+++ b/api_docs/log_explorer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer
title: "logExplorer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the logExplorer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer']
---
import logExplorerObj from './log_explorer.devdocs.json';
diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx
index 5df148d5030a2..33874c6e5722e 100644
--- a/api_docs/logs_shared.mdx
+++ b/api_docs/logs_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared
title: "logsShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the logsShared plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared']
---
import logsSharedObj from './logs_shared.devdocs.json';
diff --git a/api_docs/management.mdx b/api_docs/management.mdx
index 97c2448a4a607..2f9a516a52402 100644
--- a/api_docs/management.mdx
+++ b/api_docs/management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management
title: "management"
image: https://source.unsplash.com/400x175/?github
description: API docs for the management plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management']
---
import managementObj from './management.devdocs.json';
diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx
index 8249fbd219284..c4778ccb45f24 100644
--- a/api_docs/maps.mdx
+++ b/api_docs/maps.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps
title: "maps"
image: https://source.unsplash.com/400x175/?github
description: API docs for the maps plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps']
---
import mapsObj from './maps.devdocs.json';
diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx
index 2cb6c52f80293..113d4e5740ad5 100644
--- a/api_docs/maps_ems.mdx
+++ b/api_docs/maps_ems.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms
title: "mapsEms"
image: https://source.unsplash.com/400x175/?github
description: API docs for the mapsEms plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms']
---
import mapsEmsObj from './maps_ems.devdocs.json';
diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx
index f47cdcc792385..57a0dada764b4 100644
--- a/api_docs/metrics_data_access.mdx
+++ b/api_docs/metrics_data_access.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess
title: "metricsDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the metricsDataAccess plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess']
---
import metricsDataAccessObj from './metrics_data_access.devdocs.json';
diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx
index 7147bfdacb014..974c694c57f37 100644
--- a/api_docs/ml.mdx
+++ b/api_docs/ml.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml
title: "ml"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ml plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml']
---
import mlObj from './ml.devdocs.json';
diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx
index fdadf8f97a194..a470b93b49d8f 100644
--- a/api_docs/mock_idp_plugin.mdx
+++ b/api_docs/mock_idp_plugin.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin
title: "mockIdpPlugin"
image: https://source.unsplash.com/400x175/?github
description: API docs for the mockIdpPlugin plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin']
---
import mockIdpPluginObj from './mock_idp_plugin.devdocs.json';
diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx
index de35753b2b772..7d0330b7da5bd 100644
--- a/api_docs/monitoring.mdx
+++ b/api_docs/monitoring.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring
title: "monitoring"
image: https://source.unsplash.com/400x175/?github
description: API docs for the monitoring plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring']
---
import monitoringObj from './monitoring.devdocs.json';
diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx
index 6755ee6a39ee0..5781339ef2ca2 100644
--- a/api_docs/monitoring_collection.mdx
+++ b/api_docs/monitoring_collection.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection
title: "monitoringCollection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the monitoringCollection plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection']
---
import monitoringCollectionObj from './monitoring_collection.devdocs.json';
diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx
index 46c8c85aa1280..f041660a21e03 100644
--- a/api_docs/navigation.mdx
+++ b/api_docs/navigation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation
title: "navigation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the navigation plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation']
---
import navigationObj from './navigation.devdocs.json';
diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx
index 48caf17193c0e..5125da50d24d1 100644
--- a/api_docs/newsfeed.mdx
+++ b/api_docs/newsfeed.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed
title: "newsfeed"
image: https://source.unsplash.com/400x175/?github
description: API docs for the newsfeed plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed']
---
import newsfeedObj from './newsfeed.devdocs.json';
diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx
index e45789a082436..6808786242231 100644
--- a/api_docs/no_data_page.mdx
+++ b/api_docs/no_data_page.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage
title: "noDataPage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the noDataPage plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage']
---
import noDataPageObj from './no_data_page.devdocs.json';
diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx
index f5e5b2f68ea4e..aa0f55d0eb19b 100644
--- a/api_docs/notifications.mdx
+++ b/api_docs/notifications.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications
title: "notifications"
image: https://source.unsplash.com/400x175/?github
description: API docs for the notifications plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications']
---
import notificationsObj from './notifications.devdocs.json';
diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json
index 905d4306e1661..b2b384bfc1a42 100644
--- a/api_docs/observability.devdocs.json
+++ b/api_docs/observability.devdocs.json
@@ -2434,6 +2434,28 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "observability",
+ "id": "def-public.ObservabilityPublicPluginsSetup.fieldFormats",
+ "type": "Object",
+ "tags": [],
+ "label": "fieldFormats",
+ "description": [],
+ "signature": [
+ "{ register: (fieldFormats: ",
+ {
+ "pluginId": "fieldFormats",
+ "scope": "common",
+ "docId": "kibFieldFormatsPluginApi",
+ "section": "def-common.FieldFormatInstanceType",
+ "text": "FieldFormatInstanceType"
+ },
+ "[]) => void; has: (id: string) => boolean; }"
+ ],
+ "path": "x-pack/plugins/observability/public/plugin.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "observability",
"id": "def-public.ObservabilityPublicPluginsSetup.observabilityShared",
@@ -2972,6 +2994,36 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "observability",
+ "id": "def-public.ObservabilityPublicPluginsStart.fieldFormats",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "fieldFormats",
+ "description": [],
+ "signature": [
+ "Omit<",
+ {
+ "pluginId": "fieldFormats",
+ "scope": "common",
+ "docId": "kibFieldFormatsPluginApi",
+ "section": "def-common.FieldFormatsRegistry",
+ "text": "FieldFormatsRegistry"
+ },
+ ", \"init\" | \"register\"> & { deserialize: ",
+ {
+ "pluginId": "fieldFormats",
+ "scope": "common",
+ "docId": "kibFieldFormatsPluginApi",
+ "section": "def-common.FormatFactory",
+ "text": "FormatFactory"
+ },
+ "; }"
+ ],
+ "path": "x-pack/plugins/observability/public/plugin.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "observability",
"id": "def-public.ObservabilityPublicPluginsStart.guidedOnboarding",
diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx
index 1aabd1bace5e3..6d3c07eeeac7e 100644
--- a/api_docs/observability.mdx
+++ b/api_docs/observability.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability
title: "observability"
image: https://source.unsplash.com/400x175/?github
description: API docs for the observability plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability']
---
import observabilityObj from './observability.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 603 | 2 | 594 | 17 |
+| 605 | 2 | 596 | 17 |
## Client
diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx
index 4ebd383be1990..6f70a17239146 100644
--- a/api_docs/observability_a_i_assistant.mdx
+++ b/api_docs/observability_a_i_assistant.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant
title: "observabilityAIAssistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the observabilityAIAssistant plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant']
---
import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json';
diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx
index f6df8e3688821..abd7e5729b89f 100644
--- a/api_docs/observability_log_explorer.mdx
+++ b/api_docs/observability_log_explorer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer
title: "observabilityLogExplorer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the observabilityLogExplorer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer']
---
import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json';
diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx
index 41404c514c318..abaeeffcd9297 100644
--- a/api_docs/observability_onboarding.mdx
+++ b/api_docs/observability_onboarding.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding
title: "observabilityOnboarding"
image: https://source.unsplash.com/400x175/?github
description: API docs for the observabilityOnboarding plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding']
---
import observabilityOnboardingObj from './observability_onboarding.devdocs.json';
diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json
index fb0a79a236383..1a9b523b8ae4e 100644
--- a/api_docs/observability_shared.devdocs.json
+++ b/api_docs/observability_shared.devdocs.json
@@ -481,6 +481,39 @@
"returnComment": [],
"initialIsOpen": false
},
+ {
+ "parentPluginId": "observabilityShared",
+ "id": "def-public.FeatureFeedbackButton",
+ "type": "Function",
+ "tags": [],
+ "label": "FeatureFeedbackButton",
+ "description": [],
+ "signature": [
+ "({ formUrl, \"data-test-subj\": dts, onClickCapture, defaultButton, kibanaVersion, isCloudEnv, isServerlessEnv, sanitizedPath, surveyButtonText, }: FeatureFeedbackButtonProps) => JSX.Element"
+ ],
+ "path": "x-pack/plugins/observability_shared/public/components/feature_feedback_button/feature_feedback_button.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "observabilityShared",
+ "id": "def-public.FeatureFeedbackButton.$1",
+ "type": "Object",
+ "tags": [],
+ "label": "{\n formUrl,\n 'data-test-subj': dts,\n onClickCapture,\n defaultButton,\n kibanaVersion,\n isCloudEnv,\n isServerlessEnv,\n sanitizedPath,\n surveyButtonText = (\n \n ),\n}",
+ "description": [],
+ "signature": [
+ "FeatureFeedbackButtonProps"
+ ],
+ "path": "x-pack/plugins/observability_shared/public/components/feature_feedback_button/feature_feedback_button.tsx",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": [],
+ "initialIsOpen": false
+ },
{
"parentPluginId": "observabilityShared",
"id": "def-public.getContextMenuItemsFromActions",
@@ -910,7 +943,7 @@
"DisambiguateSet",
", Omit, \"href\">> & Omit, \"href\">) | (",
"DisambiguateSet",
- ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; iconType?: ",
+ ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; rel?: string | undefined; target?: string | undefined; external?: boolean | undefined; iconType?: ",
"IconType",
" | undefined; iconProps?: Omit<",
"EuiIconProps",
@@ -949,7 +982,7 @@
"DisambiguateSet",
", Omit, \"href\">> & Omit, \"href\">) | (",
"DisambiguateSet",
- ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; iconType?: ",
+ ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; rel?: string | undefined; target?: string | undefined; external?: boolean | undefined; iconType?: ",
"IconType",
" | undefined; iconProps?: Omit<",
"EuiIconProps",
@@ -3089,7 +3122,7 @@
"DisambiguateSet",
", Omit, \"href\">> & Omit, \"href\">) | (",
"DisambiguateSet",
- ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; iconType?: ",
+ ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"l\" | \"xs\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; rel?: string | undefined; target?: string | undefined; external?: boolean | undefined; iconType?: ",
"IconType",
" | undefined; iconProps?: Omit<",
"EuiIconProps",
diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx
index e625482424d63..dd462e95a34d5 100644
--- a/api_docs/observability_shared.mdx
+++ b/api_docs/observability_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared
title: "observabilityShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the observabilityShared plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared']
---
import observabilitySharedObj from './observability_shared.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observ
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 310 | 1 | 305 | 15 |
+| 312 | 1 | 307 | 15 |
## Client
diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx
index 0506487c4bb88..b7cf0332dad94 100644
--- a/api_docs/osquery.mdx
+++ b/api_docs/osquery.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery
title: "osquery"
image: https://source.unsplash.com/400x175/?github
description: API docs for the osquery plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery']
---
import osqueryObj from './osquery.devdocs.json';
diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx
index 6514a7ff90bca..5bec1202c6333 100644
--- a/api_docs/painless_lab.mdx
+++ b/api_docs/painless_lab.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab
title: "painlessLab"
image: https://source.unsplash.com/400x175/?github
description: API docs for the painlessLab plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab']
---
import painlessLabObj from './painless_lab.devdocs.json';
diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx
index c3f83b74fae47..8d59030601b0b 100644
--- a/api_docs/plugin_directory.mdx
+++ b/api_docs/plugin_directory.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory
slug: /kibana-dev-docs/api-meta/plugin-api-directory
title: Directory
description: Directory of public APIs available through plugins or packages.
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
@@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| Count | Plugins or Packages with a
public API | Number of teams |
|--------------|----------|------------------------|
-| 739 | 630 | 41 |
+| 740 | 631 | 41 |
### Public API health stats
| API Count | Any Count | Missing comments | Missing exports |
|--------------|----------|-----------------|--------|
-| 78586 | 237 | 67267 | 1696 |
+| 78609 | 237 | 67290 | 1697 |
## Plugin Directory
@@ -116,11 +116,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 123 | 2 | 96 | 4 |
| | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides UI and APIs for the interactive setup mode. | 28 | 0 | 18 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 |
-| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 163 | 0 | 129 | 3 |
+| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 152 | 0 | 120 | 3 |
| kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 609 | 3 | 416 | 9 |
| | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 5 | 0 | 5 | 1 |
-| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 644 | 0 | 545 | 60 |
+| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 652 | 0 | 553 | 61 |
| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 8 | 0 | 8 | 0 |
| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 1 |
| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 |
@@ -141,11 +141,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 |
-| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 603 | 2 | 594 | 17 |
+| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 605 | 2 | 596 | 17 |
| | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 75 | 0 | 73 | 13 |
| | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | This plugin exposes and registers observability log consumption features. | 18 | 0 | 18 | 1 |
| | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 14 | 0 | 14 | 0 |
-| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 310 | 1 | 305 | 15 |
+| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 312 | 1 | 307 | 15 |
| | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 |
| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 2 | 0 |
| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 219 | 2 | 164 | 11 |
@@ -254,7 +254,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 3 | 0 | 3 | 0 |
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 62 | 0 | 17 | 1 |
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 |
-| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 26 | 0 | 9 | 0 |
+| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 15 | 0 |
+| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 |
| | [@elastic/appex-qa](https://github.com/orgs/elastic/teams/appex-qa) | - | 8 | 0 | 4 | 0 |
| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 206 | 0 | 169 | 8 |
| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 76 | 0 | 47 | 9 |
@@ -539,7 +540,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 99 | 1 | 99 | 0 |
| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 3 | 0 | 3 | 1 |
| | [@elastic/security-detection-rule-management](https://github.com/orgs/elastic/teams/security-detection-rule-management) | - | 6 | 0 | 6 | 0 |
-| | [@elastic/security-detection-rule-management](https://github.com/orgs/elastic/teams/security-detection-rule-management) | - | 7 | 0 | 7 | 0 |
+| | [@elastic/security-detection-rule-management](https://github.com/orgs/elastic/teams/security-detection-rule-management) | - | 13 | 0 | 13 | 0 |
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 45 | 0 | 45 | 10 |
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 51 | 5 | 34 | 0 |
| | [@elastic/security-asset-management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 66 | 0 | 66 | 0 |
@@ -634,7 +635,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 9 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 31 | 0 |
-| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 14 | 0 | 5 | 1 |
+| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 18 | 0 | 9 | 1 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 17 | 0 | 17 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 3 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 25 | 0 | 24 | 0 |
@@ -645,7 +646,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 24 | 0 | 24 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 27 | 0 | 26 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 5 | 0 | 3 | 1 |
-| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 25 | 0 | 10 | 0 |
+| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 26 | 0 | 11 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 17 | 0 | 16 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 1 | 0 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 14 | 0 | 13 | 0 |
@@ -668,7 +669,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana']
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 39 | 0 | 25 | 1 |
| | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 86 | 0 | 86 | 1 |
| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 44 | 0 | 30 | 0 |
-| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 54 | 0 | 45 | 0 |
+| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 55 | 0 | 46 | 0 |
| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 7 | 0 | 6 | 0 |
| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the unified data table which can be integrated into apps | 109 | 0 | 49 | 1 |
| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 14 | 0 | 13 | 6 |
diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx
index 74e6e10decd07..ec5b6b5c42b8a 100644
--- a/api_docs/presentation_util.mdx
+++ b/api_docs/presentation_util.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil
title: "presentationUtil"
image: https://source.unsplash.com/400x175/?github
description: API docs for the presentationUtil plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil']
---
import presentationUtilObj from './presentation_util.devdocs.json';
diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx
index 29f635109fcc8..c4abb87a096e6 100644
--- a/api_docs/profiling.mdx
+++ b/api_docs/profiling.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling
title: "profiling"
image: https://source.unsplash.com/400x175/?github
description: API docs for the profiling plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling']
---
import profilingObj from './profiling.devdocs.json';
diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx
index d4b71e053ed65..2d6f25d246acf 100644
--- a/api_docs/profiling_data_access.mdx
+++ b/api_docs/profiling_data_access.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess
title: "profilingDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the profilingDataAccess plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess']
---
import profilingDataAccessObj from './profiling_data_access.devdocs.json';
diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx
index 44d743b543ed2..b08b638ba08f3 100644
--- a/api_docs/remote_clusters.mdx
+++ b/api_docs/remote_clusters.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters
title: "remoteClusters"
image: https://source.unsplash.com/400x175/?github
description: API docs for the remoteClusters plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters']
---
import remoteClustersObj from './remote_clusters.devdocs.json';
diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx
index 3329e5263415d..f861b90b58899 100644
--- a/api_docs/reporting.mdx
+++ b/api_docs/reporting.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting
title: "reporting"
image: https://source.unsplash.com/400x175/?github
description: API docs for the reporting plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting']
---
import reportingObj from './reporting.devdocs.json';
diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx
index 06ebfce041714..1633268c4e947 100644
--- a/api_docs/rollup.mdx
+++ b/api_docs/rollup.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup
title: "rollup"
image: https://source.unsplash.com/400x175/?github
description: API docs for the rollup plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup']
---
import rollupObj from './rollup.devdocs.json';
diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx
index 62e7671dd9895..1fc7eef0a40c2 100644
--- a/api_docs/rule_registry.mdx
+++ b/api_docs/rule_registry.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry
title: "ruleRegistry"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ruleRegistry plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry']
---
import ruleRegistryObj from './rule_registry.devdocs.json';
diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx
index 0fb857e630089..9a840e8cd225f 100644
--- a/api_docs/runtime_fields.mdx
+++ b/api_docs/runtime_fields.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields
title: "runtimeFields"
image: https://source.unsplash.com/400x175/?github
description: API docs for the runtimeFields plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields']
---
import runtimeFieldsObj from './runtime_fields.devdocs.json';
diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx
index 0892b8561c119..50c9c3562e657 100644
--- a/api_docs/saved_objects.mdx
+++ b/api_docs/saved_objects.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects
title: "savedObjects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedObjects plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects']
---
import savedObjectsObj from './saved_objects.devdocs.json';
diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx
index 246e8be6725e1..6a50a5db78051 100644
--- a/api_docs/saved_objects_finder.mdx
+++ b/api_docs/saved_objects_finder.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder
title: "savedObjectsFinder"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedObjectsFinder plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder']
---
import savedObjectsFinderObj from './saved_objects_finder.devdocs.json';
diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx
index 8a92cc6216763..33472e9677c57 100644
--- a/api_docs/saved_objects_management.mdx
+++ b/api_docs/saved_objects_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement
title: "savedObjectsManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedObjectsManagement plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement']
---
import savedObjectsManagementObj from './saved_objects_management.devdocs.json';
diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx
index cbaba9681304e..9182642f1a836 100644
--- a/api_docs/saved_objects_tagging.mdx
+++ b/api_docs/saved_objects_tagging.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging
title: "savedObjectsTagging"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedObjectsTagging plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging']
---
import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json';
diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx
index 8089744a3da73..5309d62cabff5 100644
--- a/api_docs/saved_objects_tagging_oss.mdx
+++ b/api_docs/saved_objects_tagging_oss.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss
title: "savedObjectsTaggingOss"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedObjectsTaggingOss plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss']
---
import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json';
diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx
index 122cd18cbcdc3..1ed371d12614e 100644
--- a/api_docs/saved_search.mdx
+++ b/api_docs/saved_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch
title: "savedSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the savedSearch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch']
---
import savedSearchObj from './saved_search.devdocs.json';
diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx
index 68c9adfa10b51..9137b2e64e6cf 100644
--- a/api_docs/screenshot_mode.mdx
+++ b/api_docs/screenshot_mode.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode
title: "screenshotMode"
image: https://source.unsplash.com/400x175/?github
description: API docs for the screenshotMode plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode']
---
import screenshotModeObj from './screenshot_mode.devdocs.json';
diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx
index 10361f87a534b..c77c924b8160d 100644
--- a/api_docs/screenshotting.mdx
+++ b/api_docs/screenshotting.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting
title: "screenshotting"
image: https://source.unsplash.com/400x175/?github
description: API docs for the screenshotting plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting']
---
import screenshottingObj from './screenshotting.devdocs.json';
diff --git a/api_docs/security.mdx b/api_docs/security.mdx
index 9bf5b994cc406..bf77bad477e66 100644
--- a/api_docs/security.mdx
+++ b/api_docs/security.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security
title: "security"
image: https://source.unsplash.com/400x175/?github
description: API docs for the security plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security']
---
import securityObj from './security.devdocs.json';
diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx
index ba6c70b164553..0adf1cd855763 100644
--- a/api_docs/security_solution.mdx
+++ b/api_docs/security_solution.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution
title: "securitySolution"
image: https://source.unsplash.com/400x175/?github
description: API docs for the securitySolution plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution']
---
import securitySolutionObj from './security_solution.devdocs.json';
diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx
index 25f68ee7e5510..fe7e52e117e63 100644
--- a/api_docs/security_solution_ess.mdx
+++ b/api_docs/security_solution_ess.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss
title: "securitySolutionEss"
image: https://source.unsplash.com/400x175/?github
description: API docs for the securitySolutionEss plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss']
---
import securitySolutionEssObj from './security_solution_ess.devdocs.json';
diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx
index c3e1d15be89e9..82cdcc37b8f19 100644
--- a/api_docs/security_solution_serverless.mdx
+++ b/api_docs/security_solution_serverless.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless
title: "securitySolutionServerless"
image: https://source.unsplash.com/400x175/?github
description: API docs for the securitySolutionServerless plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless']
---
import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json';
diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx
index 077333a053dfb..c9879d7282677 100644
--- a/api_docs/serverless.mdx
+++ b/api_docs/serverless.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless
title: "serverless"
image: https://source.unsplash.com/400x175/?github
description: API docs for the serverless plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless']
---
import serverlessObj from './serverless.devdocs.json';
diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx
index 534e533edab52..1b7608c548ee9 100644
--- a/api_docs/serverless_observability.mdx
+++ b/api_docs/serverless_observability.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability
title: "serverlessObservability"
image: https://source.unsplash.com/400x175/?github
description: API docs for the serverlessObservability plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability']
---
import serverlessObservabilityObj from './serverless_observability.devdocs.json';
diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx
index 102604d95ab79..1e76789b7e42f 100644
--- a/api_docs/serverless_search.mdx
+++ b/api_docs/serverless_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch
title: "serverlessSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the serverlessSearch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch']
---
import serverlessSearchObj from './serverless_search.devdocs.json';
diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx
index 763ca419fed88..c8075c9e1c876 100644
--- a/api_docs/session_view.mdx
+++ b/api_docs/session_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView
title: "sessionView"
image: https://source.unsplash.com/400x175/?github
description: API docs for the sessionView plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView']
---
import sessionViewObj from './session_view.devdocs.json';
diff --git a/api_docs/share.mdx b/api_docs/share.mdx
index 339d6c508087c..d4a78d733505b 100644
--- a/api_docs/share.mdx
+++ b/api_docs/share.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share
title: "share"
image: https://source.unsplash.com/400x175/?github
description: API docs for the share plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share']
---
import shareObj from './share.devdocs.json';
diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx
index 21f5f0258bc20..c3c5fd58325b6 100644
--- a/api_docs/snapshot_restore.mdx
+++ b/api_docs/snapshot_restore.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore
title: "snapshotRestore"
image: https://source.unsplash.com/400x175/?github
description: API docs for the snapshotRestore plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore']
---
import snapshotRestoreObj from './snapshot_restore.devdocs.json';
diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx
index 4c7128a9930d5..aa21f5d6e8a1e 100644
--- a/api_docs/spaces.mdx
+++ b/api_docs/spaces.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces
title: "spaces"
image: https://source.unsplash.com/400x175/?github
description: API docs for the spaces plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces']
---
import spacesObj from './spaces.devdocs.json';
diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx
index 27324a3195cd1..765ae95359e17 100644
--- a/api_docs/stack_alerts.mdx
+++ b/api_docs/stack_alerts.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts
title: "stackAlerts"
image: https://source.unsplash.com/400x175/?github
description: API docs for the stackAlerts plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts']
---
import stackAlertsObj from './stack_alerts.devdocs.json';
diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx
index fad3a15191dcb..ba4dbb949e0a4 100644
--- a/api_docs/stack_connectors.mdx
+++ b/api_docs/stack_connectors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors
title: "stackConnectors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the stackConnectors plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors']
---
import stackConnectorsObj from './stack_connectors.devdocs.json';
diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx
index b73de4d4a8f85..9b5b9238963bb 100644
--- a/api_docs/task_manager.mdx
+++ b/api_docs/task_manager.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager
title: "taskManager"
image: https://source.unsplash.com/400x175/?github
description: API docs for the taskManager plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager']
---
import taskManagerObj from './task_manager.devdocs.json';
diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx
index adbb8316668a9..6761f08ba7cce 100644
--- a/api_docs/telemetry.mdx
+++ b/api_docs/telemetry.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry
title: "telemetry"
image: https://source.unsplash.com/400x175/?github
description: API docs for the telemetry plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry']
---
import telemetryObj from './telemetry.devdocs.json';
diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx
index dac5b90d56c34..b7269b03c2811 100644
--- a/api_docs/telemetry_collection_manager.mdx
+++ b/api_docs/telemetry_collection_manager.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager
title: "telemetryCollectionManager"
image: https://source.unsplash.com/400x175/?github
description: API docs for the telemetryCollectionManager plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager']
---
import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json';
diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx
index d4800130c11ed..16394e8ffa74e 100644
--- a/api_docs/telemetry_collection_xpack.mdx
+++ b/api_docs/telemetry_collection_xpack.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack
title: "telemetryCollectionXpack"
image: https://source.unsplash.com/400x175/?github
description: API docs for the telemetryCollectionXpack plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack']
---
import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json';
diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx
index b802885ce63c8..0794f162ffa45 100644
--- a/api_docs/telemetry_management_section.mdx
+++ b/api_docs/telemetry_management_section.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection
title: "telemetryManagementSection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the telemetryManagementSection plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection']
---
import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json';
diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx
index 90f4c737ef5d5..b69f7716496c7 100644
--- a/api_docs/text_based_languages.mdx
+++ b/api_docs/text_based_languages.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages
title: "textBasedLanguages"
image: https://source.unsplash.com/400x175/?github
description: API docs for the textBasedLanguages plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages']
---
import textBasedLanguagesObj from './text_based_languages.devdocs.json';
diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx
index e65d055c5015b..6b7416f91d976 100644
--- a/api_docs/threat_intelligence.mdx
+++ b/api_docs/threat_intelligence.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence
title: "threatIntelligence"
image: https://source.unsplash.com/400x175/?github
description: API docs for the threatIntelligence plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence']
---
import threatIntelligenceObj from './threat_intelligence.devdocs.json';
diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx
index 623a249277ff8..1f486f79e2f29 100644
--- a/api_docs/timelines.mdx
+++ b/api_docs/timelines.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines
title: "timelines"
image: https://source.unsplash.com/400x175/?github
description: API docs for the timelines plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines']
---
import timelinesObj from './timelines.devdocs.json';
diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx
index c8d87b3d53b18..50855d7449afa 100644
--- a/api_docs/transform.mdx
+++ b/api_docs/transform.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform
title: "transform"
image: https://source.unsplash.com/400x175/?github
description: API docs for the transform plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform']
---
import transformObj from './transform.devdocs.json';
diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx
index a88344d51d8fe..15751499adb70 100644
--- a/api_docs/triggers_actions_ui.mdx
+++ b/api_docs/triggers_actions_ui.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi
title: "triggersActionsUi"
image: https://source.unsplash.com/400x175/?github
description: API docs for the triggersActionsUi plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi']
---
import triggersActionsUiObj from './triggers_actions_ui.devdocs.json';
diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx
index 0588c01b591f6..66d33558cc180 100644
--- a/api_docs/ui_actions.mdx
+++ b/api_docs/ui_actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions
title: "uiActions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the uiActions plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions']
---
import uiActionsObj from './ui_actions.devdocs.json';
diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx
index be083bd8db8b1..84063b858f9e1 100644
--- a/api_docs/ui_actions_enhanced.mdx
+++ b/api_docs/ui_actions_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced
title: "uiActionsEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the uiActionsEnhanced plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced']
---
import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json';
diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx
index 0bd5ea3e32041..4fa3ed4474a35 100644
--- a/api_docs/unified_doc_viewer.mdx
+++ b/api_docs/unified_doc_viewer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer
title: "unifiedDocViewer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the unifiedDocViewer plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer']
---
import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json';
diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx
index bcbef43c6e33b..0c1cd7e67fcc6 100644
--- a/api_docs/unified_histogram.mdx
+++ b/api_docs/unified_histogram.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram
title: "unifiedHistogram"
image: https://source.unsplash.com/400x175/?github
description: API docs for the unifiedHistogram plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram']
---
import unifiedHistogramObj from './unified_histogram.devdocs.json';
diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx
index 3b4027f728d85..df1b9a795f4e9 100644
--- a/api_docs/unified_search.mdx
+++ b/api_docs/unified_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch
title: "unifiedSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the unifiedSearch plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch']
---
import unifiedSearchObj from './unified_search.devdocs.json';
diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx
index 5d9fe8a04f0c1..bcbbcc26b7b87 100644
--- a/api_docs/unified_search_autocomplete.mdx
+++ b/api_docs/unified_search_autocomplete.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete
title: "unifiedSearch.autocomplete"
image: https://source.unsplash.com/400x175/?github
description: API docs for the unifiedSearch.autocomplete plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete']
---
import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json';
diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx
index 779a7b84fe526..66d1ff2eb0ba2 100644
--- a/api_docs/uptime.mdx
+++ b/api_docs/uptime.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime
title: "uptime"
image: https://source.unsplash.com/400x175/?github
description: API docs for the uptime plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime']
---
import uptimeObj from './uptime.devdocs.json';
diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx
index 5a91922a20ba3..dca7d4b463034 100644
--- a/api_docs/url_forwarding.mdx
+++ b/api_docs/url_forwarding.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding
title: "urlForwarding"
image: https://source.unsplash.com/400x175/?github
description: API docs for the urlForwarding plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding']
---
import urlForwardingObj from './url_forwarding.devdocs.json';
diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx
index 1938ebf53a753..c150db7e40c71 100644
--- a/api_docs/usage_collection.mdx
+++ b/api_docs/usage_collection.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection
title: "usageCollection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the usageCollection plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection']
---
import usageCollectionObj from './usage_collection.devdocs.json';
diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx
index 669c55c297b0e..c3a873032b75a 100644
--- a/api_docs/ux.mdx
+++ b/api_docs/ux.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux
title: "ux"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ux plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux']
---
import uxObj from './ux.devdocs.json';
diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx
index 65878ec3d271e..162f4480820d3 100644
--- a/api_docs/vis_default_editor.mdx
+++ b/api_docs/vis_default_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor
title: "visDefaultEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visDefaultEditor plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor']
---
import visDefaultEditorObj from './vis_default_editor.devdocs.json';
diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx
index c89a81f472595..9df5499dffe26 100644
--- a/api_docs/vis_type_gauge.mdx
+++ b/api_docs/vis_type_gauge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge
title: "visTypeGauge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeGauge plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge']
---
import visTypeGaugeObj from './vis_type_gauge.devdocs.json';
diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx
index 5390a71f9dd26..72202d6965d90 100644
--- a/api_docs/vis_type_heatmap.mdx
+++ b/api_docs/vis_type_heatmap.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap
title: "visTypeHeatmap"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeHeatmap plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap']
---
import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json';
diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx
index 4f11ecdc9acea..5c7b0e5752cfc 100644
--- a/api_docs/vis_type_pie.mdx
+++ b/api_docs/vis_type_pie.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie
title: "visTypePie"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypePie plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie']
---
import visTypePieObj from './vis_type_pie.devdocs.json';
diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx
index 888f28ef64f7e..dd130078c8e2f 100644
--- a/api_docs/vis_type_table.mdx
+++ b/api_docs/vis_type_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable
title: "visTypeTable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeTable plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable']
---
import visTypeTableObj from './vis_type_table.devdocs.json';
diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx
index dcd8f9dc2e15a..bb8217757269d 100644
--- a/api_docs/vis_type_timelion.mdx
+++ b/api_docs/vis_type_timelion.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion
title: "visTypeTimelion"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeTimelion plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion']
---
import visTypeTimelionObj from './vis_type_timelion.devdocs.json';
diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx
index 9df8977c8abe0..647deed56b3be 100644
--- a/api_docs/vis_type_timeseries.mdx
+++ b/api_docs/vis_type_timeseries.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries
title: "visTypeTimeseries"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeTimeseries plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries']
---
import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json';
diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx
index b675520306dd3..272852d4edc30 100644
--- a/api_docs/vis_type_vega.mdx
+++ b/api_docs/vis_type_vega.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega
title: "visTypeVega"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeVega plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega']
---
import visTypeVegaObj from './vis_type_vega.devdocs.json';
diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx
index e75e83e13f70a..51b55129f5dcc 100644
--- a/api_docs/vis_type_vislib.mdx
+++ b/api_docs/vis_type_vislib.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib
title: "visTypeVislib"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeVislib plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib']
---
import visTypeVislibObj from './vis_type_vislib.devdocs.json';
diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx
index cf476fb5dc48c..484686fb48f96 100644
--- a/api_docs/vis_type_xy.mdx
+++ b/api_docs/vis_type_xy.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy
title: "visTypeXy"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visTypeXy plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy']
---
import visTypeXyObj from './vis_type_xy.devdocs.json';
diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx
index 22233095d28e5..b4105cec07bb3 100644
--- a/api_docs/visualizations.mdx
+++ b/api_docs/visualizations.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations
title: "visualizations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the visualizations plugin
-date: 2024-01-05
+date: 2024-01-08
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations']
---
import visualizationsObj from './visualizations.devdocs.json';
diff --git a/docs/management/cases/setup-cases.asciidoc b/docs/management/cases/setup-cases.asciidoc
index a404042bf3f60..fdc4dde72504e 100644
--- a/docs/management/cases/setup-cases.asciidoc
+++ b/docs/management/cases/setup-cases.asciidoc
@@ -24,7 +24,7 @@ The *{connectors-feature}* feature privilege is required to create, add,
delete, and modify case connectors and to send updates to external systems.
By default, `All` for the *Cases* feature includes authority to delete cases
-and comments unless you customize the sub-feature privileges.
+and comments and edit case settings unless you customize the sub-feature privileges.
====
| Give assignee access to cases
@@ -33,10 +33,10 @@ a| `All` for the *Cases* feature under *Management*.
NOTE: Before a user can be assigned to a case, they must log into {kib} at
least once, which creates a user profile.
-| Give view-only access for cases | `Read` for the *Cases* feature under *Management*.
+| Give view-only access to cases
+a| `Read` for the *Cases* feature under *Management*.
-| Give access to view and delete cases | `Read` for the *Cases* feature under
-*Management* with the deletion sub-feature enabled.
+NOTE: By default, `Read` for the *Cases* feature does not include authority to delete cases and comments or edit case settings. You can grant this authority by customizing the sub-feature privileges.
| Revoke all access to cases | `None` for the *Cases* feature under *Management*.
diff --git a/package.json b/package.json
index 1655f03ace40a..d1e552344a70c 100644
--- a/package.json
+++ b/package.json
@@ -96,8 +96,8 @@
"@dnd-kit/core": "^3.1.1",
"@dnd-kit/sortable": "^4.0.0",
"@dnd-kit/utilities": "^2.0.0",
- "@elastic/apm-rum": "^5.15.0",
- "@elastic/apm-rum-react": "^2.0.1",
+ "@elastic/apm-rum": "^5.16.0",
+ "@elastic/apm-rum-react": "^2.0.2",
"@elastic/charts": "61.2.0",
"@elastic/datemath": "5.0.3",
"@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1",
@@ -1295,6 +1295,7 @@
"@kbn/storybook": "link:packages/kbn-storybook",
"@kbn/telemetry-tools": "link:packages/kbn-telemetry-tools",
"@kbn/test": "link:packages/kbn-test",
+ "@kbn/test-eui-helpers": "link:packages/kbn-test-eui-helpers",
"@kbn/test-jest-helpers": "link:packages/kbn-test-jest-helpers",
"@kbn/test-subj-selector": "link:packages/kbn-test-subj-selector",
"@kbn/tooling-log": "link:packages/kbn-tooling-log",
diff --git a/packages/kbn-alerting-types/alert_type.ts b/packages/kbn-alerting-types/alert_type.ts
new file mode 100644
index 0000000000000..61746aaaa14f6
--- /dev/null
+++ b/packages/kbn-alerting-types/alert_type.ts
@@ -0,0 +1,20 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { TechnicalRuleDataFieldName } from '@kbn/rule-data-utils';
+
+export interface BasicFields {
+ _id: string;
+ _index: string;
+}
+
+export type Alert = BasicFields & {
+ [Property in TechnicalRuleDataFieldName]?: string[];
+} & {
+ [x: string]: unknown[];
+};
diff --git a/packages/kbn-alerting-types/index.ts b/packages/kbn-alerting-types/index.ts
index f260374c13183..6d63366f4343d 100644
--- a/packages/kbn-alerting-types/index.ts
+++ b/packages/kbn-alerting-types/index.ts
@@ -9,3 +9,4 @@
export * from './builtin_action_groups_types';
export * from './rule_type';
export * from './action_group_types';
+export * from './alert_type';
diff --git a/packages/kbn-alerting-types/tsconfig.json b/packages/kbn-alerting-types/tsconfig.json
index 049d2ef8d89b1..911e35551bbbd 100644
--- a/packages/kbn-alerting-types/tsconfig.json
+++ b/packages/kbn-alerting-types/tsconfig.json
@@ -18,5 +18,6 @@
"kbn_references": [
"@kbn/i18n",
"@kbn/licensing-plugin",
+ "@kbn/rule-data-utils"
]
}
diff --git a/packages/kbn-alerts-ui-shared/index.ts b/packages/kbn-alerts-ui-shared/index.ts
index 3dd1174da4129..25ef9bf8a66ca 100644
--- a/packages/kbn-alerts-ui-shared/index.ts
+++ b/packages/kbn-alerts-ui-shared/index.ts
@@ -15,3 +15,5 @@ export * from './src/alerts_search_bar/hooks';
export * from './src/alerts_search_bar/apis';
export { AlertsSearchBar } from './src/alerts_search_bar';
export type { AlertsSearchBarProps } from './src/alerts_search_bar/types';
+
+export * from './src/alert_fields_table';
diff --git a/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.test.tsx b/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.test.tsx
new file mode 100644
index 0000000000000..e930faa7acc0a
--- /dev/null
+++ b/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.test.tsx
@@ -0,0 +1,100 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import React from 'react';
+import { AlertFieldsTable, AlertFieldsTableProps } from '.';
+import { mount, ReactWrapper } from 'enzyme';
+
+describe('AlertFieldsTable', () => {
+ const defaultProps = {
+ alert: {
+ 'kibana.alert.status': ['active'],
+ 'kibana.alert.url': ['ALERT_URL'],
+ 'kibana.alert.evaluation.conditions': [
+ 'Number of matching documents is NOT greater than 1000',
+ ],
+ 'kibana.alert.rule.producer': ['stackAlerts'],
+ 'kibana.alert.reason.text': [
+ 'Document count is 0 in the last 5m in metrics-* data view. Alert when greater than 1000.',
+ ],
+ 'kibana.alert.rule.rule_type_id': ['.es-query'],
+ 'kibana.alert.evaluation.value': ['0'],
+ 'kibana.alert.instance.id': ['query matched'],
+ 'kibana.alert.flapping': [true],
+ 'kibana.alert.rule.name': ['Test rule'],
+ 'event.kind': ['signal'],
+ 'kibana.alert.title': ["rule 'Test rule' recovered"],
+ 'kibana.alert.workflow_status': ['open'],
+ 'kibana.alert.rule.uuid': ['313b0cfb-3455-41da-aff9-cee2bc9637f1'],
+ 'kibana.alert.time_range': [
+ {
+ gte: '1703241047013',
+ },
+ ],
+ 'kibana.alert.flapping_history': [false],
+ 'kibana.alert.reason': [
+ 'Document count is 0 in the last 5m in metrics-* data view. Alert when greater than 1000.',
+ ],
+ 'kibana.alert.rule.consumer': ['infrastructure'],
+ 'kibana.alert.action_group': ['query matched'],
+ 'kibana.alert.rule.category': ['Elasticsearch query'],
+ 'kibana.alert.start': ['2023-12-22T10:30:47.013Z'],
+ 'event.action': ['active'],
+ '@timestamp': ['2023-12-22T10:32:53.036Z'],
+ 'kibana.alert.duration.us': [126023000],
+ 'kibana.alert.rule.execution.uuid': ['ffcc5773-a4cc-48be-a265-9b16f85f4e62'],
+ 'kibana.alert.uuid': ['93377bf3-d837-425d-b63f-97a8a5ae8054'],
+ 'kibana.space_ids': ['default'],
+ 'kibana.version': ['8.13.0'],
+ 'kibana.alert.evaluation.threshold': [1000],
+ 'kibana.alert.rule.parameters': [
+ {
+ searchConfiguration: {
+ query: {
+ language: 'kuery',
+ query: '',
+ },
+ index: '8e29356e-9d83-4a89-a79d-7d096104f3f6',
+ },
+ timeField: '@timestamp',
+ searchType: 'searchSource',
+ timeWindowSize: 5,
+ timeWindowUnit: 'm',
+ threshold: [1000],
+ thresholdComparator: '>',
+ size: 100,
+ aggType: 'count',
+ groupBy: 'all',
+ termSize: 5,
+ excludeHitsFromPreviousRun: true,
+ },
+ ],
+ 'kibana.alert.rule.revision': [0],
+ _id: '93377bf3-d837-425d-b63f-97a8a5ae8054',
+ _index: '.internal.alerts-stack.alerts-default-000001',
+ },
+ } as unknown as AlertFieldsTableProps;
+ let wrapper: ReactWrapper;
+
+ beforeEach(async () => {
+ wrapper = mount();
+ });
+
+ it('should paginate the results', () => {
+ expect(wrapper.find('tbody tr')).toHaveLength(25);
+ wrapper.find(`[data-test-subj="pagination-button-next"]`).last().simulate('click');
+ expect(wrapper.find('tbody tr')).toHaveLength(8);
+ });
+
+ it('should filter the rows according to the search string', async () => {
+ wrapper
+ .find('input[type="search"]')
+ .simulate('keyup', { target: { value: 'kibana.alert.status' } });
+ expect(wrapper.find('tbody tr')).toHaveLength(1);
+ });
+});
diff --git a/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.tsx b/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.tsx
new file mode 100644
index 0000000000000..cf120a00e5aa2
--- /dev/null
+++ b/packages/kbn-alerts-ui-shared/src/alert_fields_table/index.tsx
@@ -0,0 +1,114 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { i18n } from '@kbn/i18n';
+import {
+ EuiInMemoryTable,
+ EuiTabbedContent,
+ EuiTabbedContentProps,
+ useEuiOverflowScroll,
+} from '@elastic/eui';
+import { css } from '@emotion/react';
+import React, { memo, useCallback, useMemo, useState } from 'react';
+import { Alert } from '@kbn/alerting-types';
+import { euiThemeVars } from '@kbn/ui-theme';
+
+export const search = {
+ box: {
+ incremental: true,
+ placeholder: i18n.translate('alertsUIShared.alertFieldsTable.filter.placeholder', {
+ defaultMessage: 'Filter by Field, Value, or Description...',
+ }),
+ schema: true,
+ },
+};
+
+const columns = [
+ {
+ field: 'key',
+ name: i18n.translate('alertsUIShared.alertFieldsTable.field', {
+ defaultMessage: 'Field',
+ }),
+ width: '30%',
+ },
+ {
+ field: 'value',
+ name: i18n.translate('alertsUIShared.alertFieldsTable.value', {
+ defaultMessage: 'Value',
+ }),
+ width: '70%',
+ },
+];
+
+export const ScrollableFlyoutTabbedContent = (props: EuiTabbedContentProps) => (
+
+);
+
+const COUNT_PER_PAGE_OPTIONS = [25, 50, 100];
+
+const useFieldBrowserPagination = () => {
+ const [pagination, setPagination] = useState<{ pageIndex: number }>({
+ pageIndex: 0,
+ });
+
+ const onTableChange = useCallback(({ page: { index } }: { page: { index: number } }) => {
+ setPagination({ pageIndex: index });
+ }, []);
+ const paginationTableProp = useMemo(
+ () => ({
+ ...pagination,
+ pageSizeOptions: COUNT_PER_PAGE_OPTIONS,
+ }),
+ [pagination]
+ );
+
+ return {
+ onTableChange,
+ paginationTableProp,
+ };
+};
+
+export interface AlertFieldsTableProps {
+ alert: Alert;
+}
+
+export const AlertFieldsTable = memo(({ alert }: AlertFieldsTableProps) => {
+ const { onTableChange, paginationTableProp } = useFieldBrowserPagination();
+ return (
+ ({
+ key,
+ value: Array.isArray(value) ? value?.[0] : value,
+ }))}
+ itemId="key"
+ columns={columns}
+ onTableChange={onTableChange}
+ pagination={paginationTableProp}
+ search={search}
+ css={css`
+ & .euiTableRow {
+ font-size: ${euiThemeVars.euiFontSizeXS};
+ font-family: ${euiThemeVars.euiCodeFontFamily};
+ }
+ `}
+ />
+ );
+});
diff --git a/packages/kbn-alerts-ui-shared/tsconfig.json b/packages/kbn-alerts-ui-shared/tsconfig.json
index a7af1fcec80cc..f2347b579acef 100644
--- a/packages/kbn-alerts-ui-shared/tsconfig.json
+++ b/packages/kbn-alerts-ui-shared/tsconfig.json
@@ -28,5 +28,6 @@
"@kbn/data-views-plugin",
"@kbn/unified-search-plugin",
"@kbn/es-query",
+ "@kbn/ui-theme",
]
}
diff --git a/packages/kbn-check-mappings-update-cli/current_fields.json b/packages/kbn-check-mappings-update-cli/current_fields.json
index c745e4886cde9..3a51ffd206ab0 100644
--- a/packages/kbn-check-mappings-update-cli/current_fields.json
+++ b/packages/kbn-check-mappings-update-cli/current_fields.json
@@ -468,6 +468,7 @@
"ingest_manager_settings": [
"fleet_server_hosts",
"has_seen_add_data_notice",
+ "output_secret_storage_requirements_met",
"prerelease_integrations_enabled",
"secret_storage_requirements_met"
],
diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json
index 7f5c94647b941..1c4c15482934a 100644
--- a/packages/kbn-check-mappings-update-cli/current_mappings.json
+++ b/packages/kbn-check-mappings-update-cli/current_mappings.json
@@ -1564,6 +1564,9 @@
"prerelease_integrations_enabled": {
"type": "boolean"
},
+ "output_secret_storage_requirements_met": {
+ "type": "boolean"
+ },
"secret_storage_requirements_met": {
"type": "boolean"
}
diff --git a/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts b/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts
index d27f2407ce64c..e10c8a4cb6119 100644
--- a/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts
+++ b/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts
@@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
import { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/typescript-estree';
-import { cleanString, lowerCaseFirstLetter, upperCaseFirstLetter } from './utils';
+import { geti18nIdentifierFromString, lowerCaseFirstLetter } from './utils';
const EXEMPTED_TAG_NAMES = ['EuiCode', 'EuiBetaBadge', 'FormattedMessage'];
@@ -14,13 +14,7 @@ export function getIntentFromNode(
value: string,
parent: TSESTree.Node | undefined
): string | false {
- const processedValue = lowerCaseFirstLetter(
- cleanString(value)
- .split(' ')
- .filter((_, i) => i < 4)
- .map(upperCaseFirstLetter)
- .join('')
- );
+ const intent = geti18nIdentifierFromString(value);
if (
parent &&
@@ -36,10 +30,10 @@ export function getIntentFromNode(
}
if (parentTagName.includes('Eui')) {
- return `${processedValue}${parentTagName.replace('Eui', '')}Label`;
+ return `${intent}${parentTagName.replace('Eui', '')}Label`;
}
- return `${lowerCaseFirstLetter(parentTagName)}.${processedValue}Label`;
+ return `${lowerCaseFirstLetter(parentTagName)}.${intent}Label`;
}
if (
@@ -57,8 +51,8 @@ export function getIntentFromNode(
return false;
}
- return `${lowerCaseFirstLetter(parentTagName)}.${processedValue}Label`;
+ return `${lowerCaseFirstLetter(parentTagName)}.${intent}Label`;
}
- return `${processedValue}Label`;
+ return `${intent}Label`;
}
diff --git a/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts b/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts
index 9d36c7a7e1e9c..8b2979efbadde 100644
--- a/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts
+++ b/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts
@@ -6,7 +6,12 @@
* Side Public License, v 1.
*/
-import { cleanString, lowerCaseFirstLetter } from './utils';
+import {
+ getTranslatableValueFromString,
+ geti18nIdentifierFromString,
+ lowerCaseFirstLetter,
+ upperCaseFirstLetter,
+} from './utils';
describe('Utils', () => {
describe('lowerCaseFirstLetter', () => {
@@ -22,34 +27,89 @@ describe('Utils', () => {
});
});
- describe('cleanString', () => {
+ describe('upperCaseFirstLetter', () => {
+ it('should uppercase the first letter', () => {
+ expect(upperCaseFirstLetter('hello')).toBe('Hello');
+ expect(upperCaseFirstLetter('greatSuccessYes')).toBe('GreatSuccessYes');
+ expect(upperCaseFirstLetter('how is it going?')).toBe('How is it going?');
+ });
+ });
+
+ describe('getTranslatableValueFromString', () => {
it('should remove all numbers', () => {
- expect(cleanString('123')).toBe('');
+ expect(getTranslatableValueFromString('123')).toBe('');
});
it('should remove all white spaces from beginning and end', () => {
- expect(cleanString(' abc ')).toBe('abc');
- expect(cleanString(' This is a test ')).toBe('This is a test');
- expect(
- cleanString(`
-
-
- hello
-
-
-
- great!`)
- ).toBe('hello great');
+ expect(getTranslatableValueFromString(' abc ')).toBe('abc');
+ expect(getTranslatableValueFromString(' This is a test ')).toBe('This is a test');
});
- it('should remove all non alphabet characters', () => {
- expect(cleanString('abc123!@#')).toBe('abc');
- expect(cleanString('!@#$%^&*()_+{}|')).toBe('');
- expect(cleanString(' Hey, this is great! Success. ')).toBe('Hey this is great Success');
+ it('should leave markdown alone', () => {
+ expect(getTranslatableValueFromString('```hello```')).toBe('');
});
- it('should leave markdown alone', () => {
- expect(cleanString('```hello```')).toBe('');
+ it('should remove all non alphabet characters unless they are incorporated in a sentence', () => {
+ expect(getTranslatableValueFromString('1')).toBe('');
+ expect(getTranslatableValueFromString('12')).toBe('');
+ expect(getTranslatableValueFromString('123')).toBe('');
+ expect(getTranslatableValueFromString('?')).toBe('');
+ expect(getTranslatableValueFromString('!')).toBe('');
+ expect(getTranslatableValueFromString('!!')).toBe('');
+ expect(getTranslatableValueFromString('!!!')).toBe('');
+ expect(getTranslatableValueFromString('!!!!')).toBe('');
+ expect(getTranslatableValueFromString('@')).toBe('');
+ expect(getTranslatableValueFromString('!@#$%^&*()_+{}|')).toBe('');
+ });
+
+ it('should leave special characters inside sentences alone', () => {
+ expect(getTranslatableValueFromString('Hey, you.')).toBe('Hey, you.');
+ expect(getTranslatableValueFromString('Hey, "you".')).toBe('Hey, "you".');
+ expect(getTranslatableValueFromString("Hey, 'you'.")).toBe("Hey, 'you'.");
+ expect(getTranslatableValueFromString(' Hey, you. ')).toBe('Hey, you.');
+ expect(
+ getTranslatableValueFromString(` Hey,
+
+
+ you. `)
+ ).toBe(`Hey,
+
+
+ you.`);
+ expect(getTranslatableValueFromString(' Hey? ')).toBe('Hey?');
+ expect(getTranslatableValueFromString('Hey?')).toBe('Hey?');
+ expect(getTranslatableValueFromString('Hey, this is great! Success.')).toBe(
+ 'Hey, this is great! Success.'
+ );
+ expect(getTranslatableValueFromString(' Hey, this is great! Success. ')).toBe(
+ 'Hey, this is great! Success.'
+ );
+ });
+ });
+
+ describe('geti18nIdentifierFromString', () => {
+ it('should create a camel cased string which strips all non alphanumeric characters', () => {
+ expect(geti18nIdentifierFromString('1')).toBe('');
+ expect(geti18nIdentifierFromString('12')).toBe('');
+ expect(geti18nIdentifierFromString('123')).toBe('');
+ expect(geti18nIdentifierFromString('?')).toBe('');
+ expect(geti18nIdentifierFromString('!')).toBe('');
+ expect(geti18nIdentifierFromString('!!')).toBe('');
+ expect(geti18nIdentifierFromString('!!!')).toBe('');
+ expect(geti18nIdentifierFromString('!!!!')).toBe('');
+ expect(geti18nIdentifierFromString('@')).toBe('');
+ expect(geti18nIdentifierFromString('!@#$%^&*()_+{}|')).toBe('');
+ expect(geti18nIdentifierFromString('!@#$%^&*()_+{}| 123 456 789')).toBe('');
+ expect(geti18nIdentifierFromString('!@#$%^&*()_+{}|123456789')).toBe('');
+
+ expect(geti18nIdentifierFromString('Hey, you.')).toBe('heyYou');
+ expect(geti18nIdentifierFromString('Hey, "you".')).toBe('heyYou');
+ expect(geti18nIdentifierFromString("Hey, 'you'.")).toBe('heyYou');
+ expect(geti18nIdentifierFromString(' Hey, you. ')).toBe('heyYou');
+ expect(geti18nIdentifierFromString(' Hey? ')).toBe('hey');
+ expect(geti18nIdentifierFromString('Hey?')).toBe('hey');
+ expect(geti18nIdentifierFromString('Hey, this is great! Success.')).toBe('heyThisIsGreat');
+ expect(geti18nIdentifierFromString('1Hey, this is great! Success.')).toBe('heyThisIsGreat');
});
});
});
diff --git a/packages/kbn-eslint-plugin-i18n/helpers/utils.ts b/packages/kbn-eslint-plugin-i18n/helpers/utils.ts
index bfa0ceaf2aecc..28ec739047401 100644
--- a/packages/kbn-eslint-plugin-i18n/helpers/utils.ts
+++ b/packages/kbn-eslint-plugin-i18n/helpers/utils.ts
@@ -24,10 +24,36 @@ function isUpperCase(val: string) {
return /^[A-Z]+$/.test(val);
}
-export function cleanString(str: string) {
+export function geti18nIdentifierFromString(str: string) {
return str
+ .trim()
.replace(/```\w*```/g, '')
+ .replace(/[\'\"]+/g, '')
.replace(/\s+/g, ' ')
- .replace(/[^a-zA-Z\s]*/g, '')
- .trim();
+ .split(' ')
+ .filter((_, i) => i <= 3)
+ .map(upperCaseFirstLetter)
+ .map((word, index) => (index === 0 ? word.toLowerCase() : word))
+ .join('')
+ .replace(/[^a-zA-Z\s]*/g, '');
+}
+
+export function getTranslatableValueFromString(str: string) {
+ const strTrimmed = str.trim();
+
+ if (strTrimmed.length === 1) {
+ return '';
+ }
+
+ // Markdown
+ if (strTrimmed.replace(/```\w*```/g, '').length === 0) {
+ return '';
+ }
+
+ // Special characters, numbers, and white spaces
+ if (strTrimmed.replace(/[!\@\#\$\%\^\&\*\(\)\_\+\{\}\|]|[0-9]|\s+/g, '').length === 0) {
+ return '';
+ }
+
+ return strTrimmed;
}
diff --git a/packages/kbn-eslint-plugin-i18n/jest.config.js b/packages/kbn-eslint-plugin-i18n/jest.config.js
index 1ab5f78f024bf..eb06fa28e20ef 100644
--- a/packages/kbn-eslint-plugin-i18n/jest.config.js
+++ b/packages/kbn-eslint-plugin-i18n/jest.config.js
@@ -10,4 +10,7 @@ module.exports = {
preset: '@kbn/test/jest_node',
rootDir: '../..',
roots: ['/packages/kbn-eslint-plugin-i18n'],
+ globals: {
+ structuredClone: {},
+ },
};
diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts
index ea96cf313d1b4..008aa2e559679 100644
--- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts
+++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts
@@ -12,7 +12,7 @@ import { getIntentFromNode } from '../helpers/get_intent_from_node';
import { getI18nIdentifierFromFilePath } from '../helpers/get_i18n_identifier_from_file_path';
import { getFunctionName } from '../helpers/get_function_name';
import { getI18nImportFixer } from '../helpers/get_i18n_import_fixer';
-import { cleanString, isTruthy } from '../helpers/utils';
+import { getTranslatableValueFromString, isTruthy } from '../helpers/utils';
export const RULE_WARNING_MESSAGE =
'Strings should be translated with . Use the autofix suggestion or add your own.';
@@ -26,9 +26,9 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = {
return {
JSXText: (node: TSESTree.JSXText) => {
- const value = cleanString(node.value);
+ const value = getTranslatableValueFromString(node.value);
- // If the JSXText element is empty we don't need to do anything
+ // If the JSXText element is empty or untranslatable we don't need to do anything
if (!value) return;
// Get the whitespaces before the string so we can add them to the autofix suggestion
@@ -86,12 +86,12 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = {
'value' in node.value.expression &&
typeof node.value.expression.value === 'string'
) {
- val = cleanString(node.value.expression.value);
+ val = getTranslatableValueFromString(node.value.expression.value);
}
// label="foo"
if (node.value && 'value' in node.value && typeof node.value.value === 'string') {
- val = cleanString(node.value.value);
+ val = getTranslatableValueFromString(node.value.value);
}
if (!val) return;
diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts
index ec1630de115e6..ec8bdb13815fe 100644
--- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts
+++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts
@@ -12,7 +12,7 @@ import { getIntentFromNode } from '../helpers/get_intent_from_node';
import { getI18nIdentifierFromFilePath } from '../helpers/get_i18n_identifier_from_file_path';
import { getFunctionName } from '../helpers/get_function_name';
import { getI18nImportFixer } from '../helpers/get_i18n_import_fixer';
-import { cleanString, isTruthy } from '../helpers/utils';
+import { getTranslatableValueFromString, isTruthy } from '../helpers/utils';
export const RULE_WARNING_MESSAGE =
'Strings should be translated with i18n. Use the autofix suggestion or add your own.';
@@ -27,9 +27,9 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = {
return {
JSXText: (node: TSESTree.JSXText) => {
- const value = cleanString(node.value);
+ const value = getTranslatableValueFromString(node.value);
- // If the JSXText element is empty we don't need to do anything
+ // If the JSXText element is empty or untranslatable we don't need to do anything
if (!value) return;
// Get the whitespaces before the string so we can add them to the autofix suggestion
@@ -84,12 +84,12 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = {
'value' in node.value.expression &&
typeof node.value.expression.value === 'string'
) {
- val = cleanString(node.value.expression.value);
+ val = getTranslatableValueFromString(node.value.expression.value);
}
// label="foo"
if (node.value && 'value' in node.value && typeof node.value.value === 'string') {
- val = cleanString(node.value.value);
+ val = getTranslatableValueFromString(node.value.value);
}
if (!val) return;
diff --git a/packages/kbn-management/settings/components/form/reload_page_toast.tsx b/packages/kbn-management/settings/components/form/reload_page_toast.tsx
index a8414dd4ccbe8..430dec61a7d7f 100644
--- a/packages/kbn-management/settings/components/form/reload_page_toast.tsx
+++ b/packages/kbn-management/settings/components/form/reload_page_toast.tsx
@@ -45,5 +45,6 @@ export const reloadPageToast = (theme: ThemeServiceStart, i18nStart: I18nStart):
{ i18n: i18nStart, theme }
),
color: 'success',
+ toastLifeTimeMs: 15000,
};
};
diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml
index 6811987dc146b..dae455d8bb8ac 100644
--- a/packages/kbn-optimizer/limits.yml
+++ b/packages/kbn-optimizer/limits.yml
@@ -33,7 +33,7 @@ pageLoadAssetSize:
datasetQuality: 50624
dataViewEditor: 28082
dataViewFieldEditor: 27000
- dataViewManagement: 5100
+ dataViewManagement: 5136
dataViews: 48300
dataVisualizer: 27530
devTools: 38637
diff --git a/packages/kbn-reporting/common/types.ts b/packages/kbn-reporting/common/types.ts
index a208bd24226f1..5b5a26a18d775 100644
--- a/packages/kbn-reporting/common/types.ts
+++ b/packages/kbn-reporting/common/types.ts
@@ -42,6 +42,13 @@ export interface TaskRunResult {
error_code?: string;
}
+export interface ExecutionError {
+ name: string;
+ message: string;
+ stack: string;
+ cause: string;
+}
+
export interface ReportOutput extends TaskRunResult {
content: string | null;
size: number;
@@ -136,6 +143,10 @@ export interface ReportSource {
* `output` is only populated if the report job is completed or failed.
*/
output: ReportOutput | null;
+ /**
+ * Execution error during one of the execute task runs.
+ */
+ error?: ExecutionError | unknown;
/*
* Optional fields: populated when the job is claimed to execute, and after
diff --git a/packages/kbn-test-eui-helpers/index.ts b/packages/kbn-test-eui-helpers/index.ts
new file mode 100644
index 0000000000000..7e514b179b9c4
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/index.ts
@@ -0,0 +1,9 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+export * from './src/rtl_helpers';
diff --git a/packages/kbn-test-eui-helpers/jest.config.js b/packages/kbn-test-eui-helpers/jest.config.js
new file mode 100644
index 0000000000000..a902329d1426a
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/jest.config.js
@@ -0,0 +1,13 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+module.exports = {
+ preset: '@kbn/test',
+ rootDir: '../..',
+ roots: ['/packages/kbn-test-eui-helpers'],
+};
diff --git a/packages/kbn-test-eui-helpers/kibana.jsonc b/packages/kbn-test-eui-helpers/kibana.jsonc
new file mode 100644
index 0000000000000..fc97c720f827d
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/kibana.jsonc
@@ -0,0 +1,6 @@
+{
+ "type": "shared-common",
+ "id": "@kbn/test-eui-helpers",
+ "devOnly": true,
+ "owner": ["@elastic/kibana-visualizations"],
+}
diff --git a/packages/kbn-test-eui-helpers/package.json b/packages/kbn-test-eui-helpers/package.json
new file mode 100644
index 0000000000000..fb416ef292622
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "@kbn/test-eui-helpers",
+ "version": "1.0.0",
+ "private": true,
+ "license": "SSPL-1.0 OR Elastic License 2.0"
+}
\ No newline at end of file
diff --git a/packages/kbn-test-eui-helpers/src/rtl_helpers.tsx b/packages/kbn-test-eui-helpers/src/rtl_helpers.tsx
new file mode 100644
index 0000000000000..e5a44615e980d
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/src/rtl_helpers.tsx
@@ -0,0 +1,14 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { screen, within } from '@testing-library/react';
+
+export const getButtonGroupInputValue = (testId: string) => () => {
+ const buttonGroup = screen.getByTestId(testId);
+ return within(buttonGroup).getByRole('button', { pressed: true });
+};
diff --git a/packages/kbn-test-eui-helpers/tsconfig.json b/packages/kbn-test-eui-helpers/tsconfig.json
new file mode 100644
index 0000000000000..9f1c443c02ee8
--- /dev/null
+++ b/packages/kbn-test-eui-helpers/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "target/types",
+ "types": ["jest", "node"]
+ },
+ "include": [
+ "**/*.ts",
+ "**/*.tsx",
+ ],
+ "kbn_references": [],
+ "exclude": [
+ "target/**/*",
+ ],
+}
diff --git a/packages/kbn-test/jest-preset.js b/packages/kbn-test/jest-preset.js
index 8d50a88e23073..73c5ffdf7257d 100644
--- a/packages/kbn-test/jest-preset.js
+++ b/packages/kbn-test/jest-preset.js
@@ -124,4 +124,10 @@ module.exports = {
watchPathIgnorePatterns: ['.*/__tmp__/.*'],
resolver: '/packages/kbn-test/src/jest/resolver.js',
+
+ // Workaround to "TypeError: Cannot assign to read only property 'structuredClone' of object '[object global]'"
+ // This happens when we run jest tests with --watch after node20+
+ globals: {
+ structuredClone: {},
+ },
};
diff --git a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap
index 17eb4ef8804cd..cd50761ed954b 100644
--- a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap
+++ b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap
@@ -11,6 +11,7 @@ exports[`NoDataCardComponent props button 1`] = `
description="Use Elastic Agent for a simple, unified way to collect data from your machines."
footer={
Button
@@ -40,7 +41,9 @@ exports[`NoDataCardComponent props href 1`] = `
description="Use Elastic Agent for a simple, unified way to collect data from your machines."
footer={
Add Elastic Agent
@@ -70,6 +73,7 @@ exports[`NoDataCardComponent renders 1`] = `
description="Use Elastic Agent for a simple, unified way to collect data from your machines."
footer={
Add Elastic Agent
diff --git a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.test.tsx.snap b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.test.tsx.snap
index 474abd65a5991..915f1f6750bff 100644
--- a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.test.tsx.snap
+++ b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.test.tsx.snap
@@ -61,9 +61,11 @@ exports[`NoDataCard props button 1`] = `
@@ -142,9 +144,11 @@ exports[`NoDataCard props extends EuiCardProps 1`] = `
@@ -223,9 +227,11 @@ exports[`NoDataCard props href 1`] = `
@@ -370,9 +376,11 @@ exports[`NoDataCard renders 1`] = `
diff --git a/packages/shared-ux/card/no_data/impl/src/no_data_card.component.tsx b/packages/shared-ux/card/no_data/impl/src/no_data_card.component.tsx
index 2c05f0319bfcd..264c4db677185 100644
--- a/packages/shared-ux/card/no_data/impl/src/no_data_card.component.tsx
+++ b/packages/shared-ux/card/no_data/impl/src/no_data_card.component.tsx
@@ -56,6 +56,7 @@ export const NoDataCard = ({
description: descriptionProp,
canAccessFleet,
button,
+ href,
...props
}: Props) => {
const styles = NoDataCardStyles();
@@ -72,7 +73,11 @@ export const NoDataCard = ({
}
// Default footer action is a button with the provided or default string
- return {button || titleProp || defaultTitle};
+ return (
+
+ {button || titleProp || defaultTitle}
+
+ );
};
const title = () => {
@@ -103,6 +108,7 @@ export const NoDataCard = ({
description={description()}
footer={footer()}
isDisabled={!canAccessFleet}
+ href={href}
image={}
{...props}
/>
diff --git a/packages/shared-ux/card/no_data/types/index.d.ts b/packages/shared-ux/card/no_data/types/index.d.ts
index e52843b160639..085d1629fd70a 100644
--- a/packages/shared-ux/card/no_data/types/index.d.ts
+++ b/packages/shared-ux/card/no_data/types/index.d.ts
@@ -56,7 +56,7 @@ export type NoDataCardKibanaDependencies = KibanaDependencies & RedirectAppLinks
* Props for the `NoDataCard` pure component.
*/
export type NoDataCardComponentProps = Partial<
- Omit
+ Pick
> & {
/**
* Provide just a string for the button's label, or a whole component;
diff --git a/packages/shared-ux/page/analytics_no_data/impl/index.ts b/packages/shared-ux/page/analytics_no_data/impl/index.ts
index 2296d0e5d47bb..d977d4496d880 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/index.ts
+++ b/packages/shared-ux/page/analytics_no_data/impl/index.ts
@@ -15,3 +15,5 @@ export type {
AnalyticsNoDataPageKibanaDependencies,
AnalyticsNoDataPageProps,
} from '@kbn/shared-ux-page-analytics-no-data-types';
+
+export { getHasApiKeys$ } from './lib/get_has_api_keys';
diff --git a/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.test.ts b/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.test.ts
new file mode 100644
index 0000000000000..3ad7b42ff1bd7
--- /dev/null
+++ b/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.test.ts
@@ -0,0 +1,56 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { HttpSetup } from '@kbn/core-http-browser';
+import { httpServiceMock } from '@kbn/core-http-browser-mocks';
+import { HasApiKeysResponse, getHasApiKeys$ } from './get_has_api_keys';
+
+describe('getHasApiKeys$', () => {
+ let mockHttp: HttpSetup;
+ beforeEach(() => {
+ mockHttp = httpServiceMock.createSetupContract({ basePath: '/test' });
+ });
+
+ it('should return the correct sequence of states', (done) => {
+ const httpGetSpy = jest.spyOn(mockHttp, 'get');
+ httpGetSpy.mockResolvedValue({ hasApiKeys: true });
+ const source$ = getHasApiKeys$(mockHttp);
+
+ const emittedValues: HasApiKeysResponse[] = [];
+
+ source$.subscribe({
+ next: (value) => emittedValues.push(value),
+ complete: () => {
+ expect(emittedValues).toEqual([
+ { error: null, hasApiKeys: null, isLoading: true },
+ { error: null, hasApiKeys: true, isLoading: false },
+ ]);
+ done();
+ },
+ });
+ });
+
+ it('should forward the error', (done) => {
+ const httpGetSpy = jest.spyOn(mockHttp, 'get');
+ httpGetSpy.mockRejectedValue('something bad');
+ const source$ = getHasApiKeys$(mockHttp);
+
+ const emittedValues: HasApiKeysResponse[] = [];
+
+ source$.subscribe({
+ next: (value) => emittedValues.push(value),
+ complete: () => {
+ expect(emittedValues).toEqual([
+ { error: null, hasApiKeys: null, isLoading: true },
+ { error: 'something bad', hasApiKeys: null, isLoading: false },
+ ]);
+ done();
+ },
+ });
+ });
+});
diff --git a/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts b/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts
new file mode 100644
index 0000000000000..7684f9ecdd682
--- /dev/null
+++ b/packages/shared-ux/page/analytics_no_data/impl/lib/get_has_api_keys.ts
@@ -0,0 +1,54 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import type { AnalyticsNoDataPageServices } from '@kbn/shared-ux-page-analytics-no-data-types';
+import { of, Observable, catchError, from, map, startWith } from 'rxjs';
+
+export interface HasApiKeysEndpointResponseData {
+ hasApiKeys: boolean;
+}
+
+export interface HasApiKeysResponse {
+ hasApiKeys: boolean | null;
+ isLoading: boolean;
+ error: Error | null;
+}
+
+const HAS_API_KEYS_ENDPOINT_PATH = '/internal/security/api_key/_has_active';
+
+export const getHasApiKeys$ = ({
+ get,
+}: {
+ get: AnalyticsNoDataPageServices['getHttp'];
+}): Observable => {
+ return from(get(HAS_API_KEYS_ENDPOINT_PATH)).pipe(
+ map((responseData) => {
+ return {
+ isLoading: false,
+ hasApiKeys: responseData.hasApiKeys,
+ error: null,
+ };
+ }),
+ startWith({
+ isLoading: true,
+ hasApiKeys: null,
+ error: null,
+ }),
+ // catch any errors
+ catchError((error) => {
+ // eslint-disable-next-line no-console
+ console.error('Could not determine whether user has API keys:', error);
+
+ return of({
+ hasApiKeys: null,
+ isLoading: false,
+ error,
+ });
+ })
+ );
+};
diff --git a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.test.tsx b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.test.tsx
index ac59185e25ef9..da580f948995f 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.test.tsx
+++ b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.test.tsx
@@ -21,6 +21,7 @@ import { getAnalyticsNoDataPageServicesMock } from '@kbn/shared-ux-page-analytic
describe('AnalyticsNoDataPageComponent', () => {
const services = getAnalyticsNoDataPageServicesMock();
+ services.kibanaGuideDocLink = 'http://www.test.com';
const onDataViewCreated = jest.fn();
it('renders correctly', async () => {
@@ -28,10 +29,9 @@ describe('AnalyticsNoDataPageComponent', () => {
// Include context so composed components will have access to their services.
path}
/>
);
@@ -52,11 +52,10 @@ describe('AnalyticsNoDataPageComponent', () => {
const component = mountWithIntl(
path}
/>
);
@@ -74,17 +73,16 @@ describe('AnalyticsNoDataPageComponent', () => {
false }}>
path}
/>
);
await screen.findByTestId('kbnOverviewAddIntegrations');
- await screen.getAllByText('Add integrations');
+ screen.getAllByText('Add integrations');
});
it('renders disabled add integrations card when fleet is not available', async () => {
@@ -94,71 +92,72 @@ describe('AnalyticsNoDataPageComponent', () => {
{...{ ...services, hasESData: async () => false, canAccessFleet: false }}
>
path}
/>
);
await screen.findByTestId('kbnOverviewAddIntegrations');
- await screen.getByText('Contact your administrator');
+ screen.getByText('Contact your administrator');
});
});
describe('serverless_search flavor', () => {
- it('renders getting started card', async () => {
+ beforeEach(() => {
+ services.pageFlavor = 'serverless_search';
+ });
+
+ it('renders Add Data card', async () => {
render(
false }}>
path}
/>
);
- await screen.findByTestId('kbnOverviewElasticsearchGettingStarted');
+ await screen.findByTestId('kbnOverviewElasticsearchAddData');
});
- it('renders the same getting started card when fleet is not available', async () => {
+ it('renders the same Add Data card when fleet is not available', async () => {
render(
false, canAccessFleet: false }}
>
path}
- pageFlavor={'serverless_search'}
/>
);
- await screen.findByTestId('kbnOverviewElasticsearchGettingStarted');
+ await screen.findByTestId('kbnOverviewElasticsearchAddData');
});
});
describe('serverless_observability flavor', () => {
- it('renders getting started card', async () => {
+ beforeEach(() => {
+ services.pageFlavor = 'serverless_observability';
+ });
+
+ it('renders Add Data card', async () => {
render(
false }}>
path}
/>
diff --git a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx
index a7cb75e2c1fb0..59ca3a9b77e33 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx
+++ b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.component.tsx
@@ -5,32 +5,35 @@
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
-import React from 'react';
+
+import React, { useMemo } from 'react';
+import useObservable from 'react-use/lib/useObservable';
+
import { i18n } from '@kbn/i18n';
+import { AnalyticsNoDataPageFlavor, Services } from '@kbn/shared-ux-page-analytics-no-data-types';
import { KibanaNoDataPage } from '@kbn/shared-ux-page-kibana-no-data';
import { KibanaNoDataPageProps } from '@kbn/shared-ux-page-kibana-no-data-types';
-import { AnalyticsNoDataPageFlavor } from '@kbn/shared-ux-page-analytics-no-data-types';
+import { getHasApiKeys$ } from '../lib/get_has_api_keys';
/**
* Props for the pure component.
*/
export interface Props {
- /** A link to documentation. */
- kibanaGuideDocLink: string;
/** Handler for successfully creating a new data view. */
onDataViewCreated: (dataView: unknown) => void;
/** if set to true allows creation of an ad-hoc dataview from data view editor */
allowAdHocDataView?: boolean;
/** if the kibana instance is customly branded */
showPlainSpinner: boolean;
- /** The flavor of the empty page to use. */
- pageFlavor?: AnalyticsNoDataPageFlavor;
- prependBasePath: (path: string) => string;
}
+type AnalyticsNoDataPageProps = Props &
+ Pick;
+
const flavors: {
[K in AnalyticsNoDataPageFlavor]: (deps: {
kibanaGuideDocLink: string;
+ hasApiKeys: boolean;
prependBasePath: (path: string) => string;
}) => KibanaNoDataPageProps['noDataConfig'];
} = {
@@ -55,7 +58,7 @@ const flavors: {
},
docsLink: kibanaGuideDocLink,
}),
- serverless_search: ({ prependBasePath }) => ({
+ serverless_search: ({ hasApiKeys, prependBasePath }) => ({
solution: i18n.translate('sharedUXPackages.noDataConfig.elasticsearch', {
defaultMessage: 'Elasticsearch',
}),
@@ -66,14 +69,16 @@ const flavors: {
action: {
elasticsearch: {
title: i18n.translate('sharedUXPackages.noDataConfig.elasticsearchTitle', {
- defaultMessage: 'Get started',
+ defaultMessage: 'Add data',
}),
description: i18n.translate('sharedUXPackages.noDataConfig.elasticsearchDescription', {
defaultMessage:
'Set up your programming language client, ingest some data, and start searching.',
}),
- 'data-test-subj': 'kbnOverviewElasticsearchGettingStarted',
- href: prependBasePath('/app/elasticsearch/'),
+ 'data-test-subj': 'kbnOverviewElasticsearchAddData',
+ href: hasApiKeys
+ ? prependBasePath('/app/elasticsearch/#ingestData') // use Ingest Data section of Home page if project has ES API keys
+ : prependBasePath('/app/elasticsearch/'),
/** force the no data card to be shown **/
canAccessFleet: true,
},
@@ -109,17 +114,19 @@ const flavors: {
/**
* A pure component of an entire page that can be displayed when Kibana "has no data", specifically for Analytics.
*/
-export const AnalyticsNoDataPage = ({
- kibanaGuideDocLink,
+export const AnalyticsNoDataPage: React.FC = ({
onDataViewCreated,
allowAdHocDataView,
showPlainSpinner,
- prependBasePath,
- pageFlavor = 'kibana',
-}: Props) => {
+ ...services
+}) => {
+ const { prependBasePath, kibanaGuideDocLink, getHttp: get, pageFlavor } = services;
+ const { hasApiKeys } = useObservable(useMemo(() => getHasApiKeys$({ get }), [get])) ?? {};
+
const noDataConfig: KibanaNoDataPageProps['noDataConfig'] = flavors[pageFlavor]({
kibanaGuideDocLink,
prependBasePath,
+ hasApiKeys: Boolean(hasApiKeys),
});
return (
diff --git a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.test.tsx b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.test.tsx
index 6a8eb777db73b..2b36648ce1204 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.test.tsx
+++ b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.test.tsx
@@ -38,11 +38,8 @@ describe('AnalyticsNoDataPage', () => {
await act(() => new Promise(setImmediate));
expect(component.find(Component).length).toBe(1);
- expect(component.find(Component).props().kibanaGuideDocLink).toBe(services.kibanaGuideDocLink);
expect(component.find(Component).props().onDataViewCreated).toBe(onDataViewCreated);
expect(component.find(Component).props().allowAdHocDataView).toBe(true);
- expect(component.find(Component).props().prependBasePath).toBe(services.prependBasePath);
- expect(component.find(Component).props().pageFlavor).toBe(services.pageFlavor);
});
it('passes correct boolean value to showPlainSpinner', () => {
diff --git a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.tsx b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.tsx
index e9d3ee318d3fd..3ad51b54c1feb 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.tsx
+++ b/packages/shared-ux/page/analytics_no_data/impl/src/analytics_no_data_page.tsx
@@ -20,21 +20,15 @@ export const AnalyticsNoDataPage = ({
onDataViewCreated,
allowAdHocDataView,
}: AnalyticsNoDataPageProps) => {
- const services = useServices();
- const { kibanaGuideDocLink, customBranding, prependBasePath, pageFlavor } = services;
- const { hasCustomBranding$ } = customBranding;
- const showPlainSpinner = useObservable(hasCustomBranding$) ?? false;
+ const { customBranding, ...services } = useServices();
+ const showPlainSpinner = useObservable(customBranding.hasCustomBranding$) ?? false;
return (
);
};
diff --git a/packages/shared-ux/page/analytics_no_data/impl/src/services.tsx b/packages/shared-ux/page/analytics_no_data/impl/src/services.tsx
index 4d514ba032ec9..f79861f680a0d 100644
--- a/packages/shared-ux/page/analytics_no_data/impl/src/services.tsx
+++ b/packages/shared-ux/page/analytics_no_data/impl/src/services.tsx
@@ -27,10 +27,12 @@ export const AnalyticsNoDataPageProvider: FC = ({
children,
...services
}) => {
- const { kibanaGuideDocLink, customBranding, prependBasePath, pageFlavor } = services;
+ const { kibanaGuideDocLink, customBranding, getHttp, prependBasePath, pageFlavor } = services;
return (
-
+
{children}
);
@@ -48,6 +50,7 @@ export const AnalyticsNoDataPageKibanaProvider: FC {
kibanaGuideDocLink: 'Kibana guide',
customBranding: { hasCustomBranding$: of(false) },
prependBasePath: (path) => path,
+ getHttp: () => Promise.resolve({} as T),
pageFlavor: 'kibana',
};
@@ -29,6 +30,7 @@ export const getServicesMockCustomBranding = () => {
customBranding: { hasCustomBranding$: of(true) },
kibanaGuideDocLink: 'Kibana guide',
prependBasePath: (path) => path,
+ getHttp: () => Promise.resolve({} as T),
pageFlavor: 'kibana',
};
diff --git a/packages/shared-ux/page/analytics_no_data/mocks/src/storybook.ts b/packages/shared-ux/page/analytics_no_data/mocks/src/storybook.ts
index 6bb3f07e34a87..5b5f26fd18a7f 100644
--- a/packages/shared-ux/page/analytics_no_data/mocks/src/storybook.ts
+++ b/packages/shared-ux/page/analytics_no_data/mocks/src/storybook.ts
@@ -53,6 +53,7 @@ export class StorybookMock extends AbstractStorybookMock<
},
pageFlavor: 'kibana',
prependBasePath: (path) => path,
+ getHttp: () => Promise.resolve({} as T),
...kibanaNoDataMock.getServices(params),
};
}
diff --git a/packages/shared-ux/page/analytics_no_data/types/index.d.ts b/packages/shared-ux/page/analytics_no_data/types/index.d.ts
index 1b71ac172f0de..f744595a2fe29 100644
--- a/packages/shared-ux/page/analytics_no_data/types/index.d.ts
+++ b/packages/shared-ux/page/analytics_no_data/types/index.d.ts
@@ -5,11 +5,14 @@
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
+
+import { Observable } from 'rxjs';
+
+import { NoDataPagePluginSetup } from '@kbn/no-data-page-plugin/public';
import {
KibanaNoDataPageServices,
KibanaNoDataPageKibanaDependencies,
} from '@kbn/shared-ux-page-kibana-no-data-types';
-import { Observable } from 'rxjs';
/**
* A list of services that are consumed by this component.
@@ -18,6 +21,7 @@ export interface Services {
kibanaGuideDocLink: string;
customBranding: { hasCustomBranding$: Observable };
prependBasePath: (path: string) => string;
+ getHttp: (path: string) => Promise;
pageFlavor: AnalyticsNoDataPageFlavor;
}
@@ -44,11 +48,10 @@ export interface KibanaDependencies {
basePath: {
prepend: (path: string) => string;
};
+ get: (path: string, options?: object) => Promise;
};
};
- noDataPage?: {
- getAnalyticsNoDataPageFlavor: () => AnalyticsNoDataPageFlavor;
- };
+ noDataPage?: NoDataPagePluginSetup;
}
/**
diff --git a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json
index e34fff5c01f9b..e46f95f52599b 100644
--- a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json
+++ b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json
@@ -12,5 +12,6 @@
],
"kbn_references": [
"@kbn/shared-ux-page-kibana-no-data-types",
+ "@kbn/no-data-page-plugin",
]
}
diff --git a/packages/shared-ux/page/no_data_config/impl/src/no_data_config_page.test.tsx b/packages/shared-ux/page/no_data_config/impl/src/no_data_config_page.test.tsx
index fbd897314eceb..da932bff12d8a 100644
--- a/packages/shared-ux/page/no_data_config/impl/src/no_data_config_page.test.tsx
+++ b/packages/shared-ux/page/no_data_config/impl/src/no_data_config_page.test.tsx
@@ -34,6 +34,8 @@ describe('NoDataConfigPage', () => {
);
expect(component.find('h1').html()).toContain('Welcome to Elastic Solution!');
- expect(component.find('button').html()).toContain('Click me');
+ expect(component.find('a[data-test-subj="noDataDefaultFooterAction"]').html()).toContain(
+ 'Click me'
+ );
});
});
diff --git a/packages/shared-ux/prompt/no_data_views/impl/index.ts b/packages/shared-ux/prompt/no_data_views/impl/index.ts
index 1b068a2267052..69a602f9eac3b 100644
--- a/packages/shared-ux/prompt/no_data_views/impl/index.ts
+++ b/packages/shared-ux/prompt/no_data_views/impl/index.ts
@@ -16,3 +16,4 @@ export type {
export { NoDataViewsPrompt } from './src/no_data_views';
export { NoDataViewsPrompt as NoDataViewsPromptComponent } from './src/no_data_views.component';
export { NoDataViewsPromptKibanaProvider, NoDataViewsPromptProvider } from './src/services';
+export { DataViewIllustration } from './src/data_view_illustration';
diff --git a/packages/shared-ux/prompt/no_data_views/impl/src/no_data_views.stories.tsx b/packages/shared-ux/prompt/no_data_views/impl/src/no_data_views.stories.tsx
index 748687fbda5e8..dc7ca32ed2d93 100644
--- a/packages/shared-ux/prompt/no_data_views/impl/src/no_data_views.stories.tsx
+++ b/packages/shared-ux/prompt/no_data_views/impl/src/no_data_views.stories.tsx
@@ -5,6 +5,7 @@
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
+
import React from 'react';
import {
@@ -12,7 +13,7 @@ import {
NoDataViewsPromptStorybookParams,
} from '@kbn/shared-ux-prompt-no-data-views-mocks';
-import { NoDataViewsPrompt } from './no_data_views';
+import { NoDataViewsPrompt as Component } from './no_data_views';
import { NoDataViewsPromptProvider } from './services';
import mdx from '../README.mdx';
@@ -29,12 +30,12 @@ export default {
const mock = new NoDataViewsPromptStorybookMock();
-export const Prompt = (params: NoDataViewsPromptStorybookParams) => {
+export const CreateDataView = (params: NoDataViewsPromptStorybookParams) => {
return (
-
+
);
};
-Prompt.argTypes = mock.getArgumentTypes();
+CreateDataView.argTypes = mock.getArgumentTypes();
diff --git a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts
index f02dd54f791b4..717c034a61b9d 100644
--- a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts
+++ b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts
@@ -109,7 +109,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
"ingest-download-sources": "279a68147e62e4d8858c09ad1cf03bd5551ce58d",
"ingest-outputs": "e36a25e789f22b4494be728321f4304a040e286b",
"ingest-package-policies": "f4c2767e852b700a8b82678925b86bac08958b43",
- "ingest_manager_settings": "64955ef1b7a9ffa894d4bb9cf863b5602bfa6885",
+ "ingest_manager_settings": "91445219e7115ff0c45d1dabd5d614a80b421797",
"inventory-view": "b8683c8e352a286b4aca1ab21003115a4800af83",
"kql-telemetry": "93c1d16c1a0dfca9c8842062cf5ef8f62ae401ad",
"legacy-url-alias": "9b8cca3fbb2da46fd12823d3cd38fdf1c9f24bc8",
diff --git a/src/plugins/dashboard/public/dashboard_app/no_data/dashboard_app_no_data.tsx b/src/plugins/dashboard/public/dashboard_app/no_data/dashboard_app_no_data.tsx
index 8580ae2f168d3..8394237976f9a 100644
--- a/src/plugins/dashboard/public/dashboard_app/no_data/dashboard_app_no_data.tsx
+++ b/src/plugins/dashboard/public/dashboard_app/no_data/dashboard_app_no_data.tsx
@@ -7,11 +7,8 @@
*/
import React from 'react';
-import {
- AnalyticsNoDataPageKibanaProvider,
- AnalyticsNoDataPage,
-} from '@kbn/shared-ux-page-analytics-no-data';
+import { withSuspense } from '@kbn/shared-ux-utility';
import { pluginServices } from '../../services/plugin_services';
export const DashboardAppNoDataPage = ({
@@ -23,7 +20,7 @@ export const DashboardAppNoDataPage = ({
application,
data: { dataViews },
dataViewEditor,
- http: { basePath },
+ http: { basePath, get },
documentationLinks: { indexPatternsDocLink, kibanaGuideDocLink },
customBranding,
noDataPage,
@@ -38,7 +35,7 @@ export const DashboardAppNoDataPage = ({
},
},
application,
- http: { basePath },
+ http: { basePath, get },
customBranding: {
hasCustomBranding$: customBranding.hasCustomBranding$,
},
@@ -47,6 +44,23 @@ export const DashboardAppNoDataPage = ({
dataViewEditor,
noDataPage,
};
+
+ const importPromise = import('@kbn/shared-ux-page-analytics-no-data');
+ const AnalyticsNoDataPageKibanaProvider = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPageKibanaProvider: NoDataProvider }) => {
+ return { default: NoDataProvider };
+ })
+ )
+ );
+ const AnalyticsNoDataPage = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPage: NoDataPage }) => {
+ return { default: NoDataPage };
+ })
+ )
+ );
+
return (
diff --git a/src/plugins/dashboard/public/services/no_data_page/no_data_page_service.stub.ts b/src/plugins/dashboard/public/services/no_data_page/no_data_page_service.stub.ts
index c1af1452176a8..f761b0d113daf 100644
--- a/src/plugins/dashboard/public/services/no_data_page/no_data_page_service.stub.ts
+++ b/src/plugins/dashboard/public/services/no_data_page/no_data_page_service.stub.ts
@@ -6,11 +6,11 @@
* Side Public License, v 1.
*/
+import { noDataPagePublicMock } from '@kbn/no-data-page-plugin/public/mocks';
import { PluginServiceFactory } from '@kbn/presentation-util-plugin/public';
import { NoDataPageService } from './types';
export type NoDataPageServiceFactory = PluginServiceFactory;
-export const noDataPageServiceFactory: NoDataPageServiceFactory = () => {
- return { getAnalyticsNoDataPageFlavor: () => 'kibana' };
-};
+export const noDataPageServiceFactory: NoDataPageServiceFactory = () =>
+ noDataPagePublicMock.createSetup();
diff --git a/src/plugins/dashboard/tsconfig.json b/src/plugins/dashboard/tsconfig.json
index f01342cdc4b8d..1f37320d775f2 100644
--- a/src/plugins/dashboard/tsconfig.json
+++ b/src/plugins/dashboard/tsconfig.json
@@ -69,7 +69,8 @@
"@kbn/react-kibana-mount",
"@kbn/core-lifecycle-browser",
"@kbn/logging",
- "@kbn/content-management-table-list-view-common"
+ "@kbn/content-management-table-list-view-common",
+ "@kbn/shared-ux-utility"
],
"exclude": ["target/**/*"]
}
diff --git a/src/plugins/data_view_management/kibana.jsonc b/src/plugins/data_view_management/kibana.jsonc
index cd9018c04e543..479e357804140 100644
--- a/src/plugins/data_view_management/kibana.jsonc
+++ b/src/plugins/data_view_management/kibana.jsonc
@@ -19,6 +19,7 @@
"savedObjectsManagement"
],
"optionalPlugins": [
+ "noDataPage",
"spaces"
],
"requiredBundles": [
diff --git a/src/plugins/data_view_management/public/components/add_data_prompt.tsx b/src/plugins/data_view_management/public/components/add_data_prompt.tsx
new file mode 100644
index 0000000000000..136786324a062
--- /dev/null
+++ b/src/plugins/data_view_management/public/components/add_data_prompt.tsx
@@ -0,0 +1,128 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import { css } from '@emotion/react';
+import React from 'react';
+
+import { EuiButton, EuiEmptyPrompt, EuiPanel } from '@elastic/eui';
+import { i18n } from '@kbn/i18n';
+import { FormattedMessage } from '@kbn/i18n-react';
+import { withSuspense } from '@kbn/shared-ux-utility';
+
+import { EuiLink, EuiTitle } from '@elastic/eui';
+
+interface DocumentationLinkProps {
+ href: string;
+}
+
+export function DocumentationLink({ href }: DocumentationLinkProps) {
+ return (
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+ );
+}
+
+export interface AddDataPromptComponentProps {
+ addDataHref: string;
+ docLink?: string;
+}
+
+// Using raw value because it is content dependent
+const MAX_WIDTH = 830;
+
+/**
+ * A presentational component that is shown in cases when there are no data views created yet.
+ */
+export const AddDataPrompt: React.FC = ({
+ addDataHref,
+ docLink: docLink,
+}) => {
+ const createDataViewText = i18n.translate('indexPatternManagement.addDataPrompt.addDataText', {
+ defaultMessage: 'Add data',
+ });
+
+ const actions = (
+
+ {createDataViewText}
+
+ );
+
+ const title = (
+
+
+
+ );
+
+ const body = (
+
+
+
+ );
+
+ const footer = docLink ? : undefined;
+
+ // Load this illustration lazily
+ const Illustration = withSuspense(
+ React.lazy(() =>
+ import('@kbn/shared-ux-prompt-no-data-views').then(({ DataViewIllustration }) => {
+ return { default: DataViewIllustration };
+ })
+ ),
+
+ );
+
+ return (
+ ,
+ }}
+ />
+ );
+};
diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx
index a64d75bf63196..6f6df3e77bf09 100644
--- a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx
+++ b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx
@@ -8,34 +8,36 @@
import {
EuiBadge,
+ EuiBasicTableColumn,
EuiButton,
- EuiLink,
+ EuiIconTip,
EuiInMemoryTable,
+ EuiLink,
+ EuiLoadingSpinner,
EuiPageHeader,
EuiSpacer,
- EuiIconTip,
- EuiBasicTableColumn,
- EuiLoadingSpinner,
} from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';
-import { RouteComponentProps, withRouter, useLocation } from 'react-router-dom';
-import useObservable from 'react-use/lib/useObservable';
-import React, { useState, useMemo } from 'react';
import { i18n } from '@kbn/i18n';
+
+import React, { useMemo, useState } from 'react';
+import { RouteComponentProps, useLocation, withRouter } from 'react-router-dom';
+import useObservable from 'react-use/lib/useObservable';
+
import { reactRouterNavigate, useKibana } from '@kbn/kibana-react-plugin/public';
-import type { SpacesContextProps } from '@kbn/spaces-plugin/public';
import { NoDataViewsPromptComponent } from '@kbn/shared-ux-prompt-no-data-views';
-import { EmptyIndexListPrompt } from '../empty_index_list_prompt';
-import { IndexPatternManagmentContext } from '../../types';
-import { IndexPatternTableItem } from '../types';
+import type { SpacesContextProps } from '@kbn/spaces-plugin/public';
+import type { IndexPatternManagmentContext } from '../../types';
import { getListBreadcrumbs } from '../breadcrumbs';
-import { SpacesList } from './spaces_list';
-import { removeDataView, RemoveDataViewProps } from '../edit_index_pattern';
-import { deleteModalMsg } from './delete_modal_msg';
+import { type RemoveDataViewProps, removeDataView } from '../edit_index_pattern';
+import { IndexPatternTableItem } from '../types';
import {
DataViewTableController,
dataViewTableControllerStateDefaults as defaults,
} from './data_view_table_controller';
+import { deleteModalMsg } from './delete_modal_msg';
+import { NoData } from './no_data';
+import { SpacesList } from './spaces_list';
const pagination = {
initialPageSize: 10,
@@ -76,6 +78,7 @@ export const IndexPatternTable = ({
}: Props) => {
const {
setBreadcrumbs,
+ http,
uiSettings,
application,
chrome,
@@ -84,6 +87,7 @@ export const IndexPatternTable = ({
spaces,
overlays,
docLinks,
+ noDataPage,
} = useKibana().services;
const [query, setQuery] = useState('');
const [showCreateDialog, setShowCreateDialog] = useState(showCreateDialogProp);
@@ -362,12 +366,14 @@ export const IndexPatternTable = ({
displayIndexPatternSection = (
<>
- setShowCreateDialog(true)}
- canSaveIndexPattern={!!application.capabilities.indexPatterns.save}
- navigateToApp={application.navigateToApp}
- addDataUrl={docLinks.links.indexPatterns.introduction}
+
>
);
diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/no_data.tsx b/src/plugins/data_view_management/public/components/index_pattern_table/no_data.tsx
new file mode 100644
index 0000000000000..49437f57122fa
--- /dev/null
+++ b/src/plugins/data_view_management/public/components/index_pattern_table/no_data.tsx
@@ -0,0 +1,91 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
+ * Side Public License, v 1.
+ */
+
+import React, { useMemo } from 'react';
+import useObservable from 'react-use/lib/useObservable';
+
+import { EuiLoadingSpinner } from '@elastic/eui';
+import type { ApplicationStart } from '@kbn/core-application-browser';
+import type { DocLinksStart } from '@kbn/core-doc-links-browser';
+import type { IUiSettingsClient } from '@kbn/core-ui-settings-browser';
+import type { NoDataPagePluginStart } from '@kbn/no-data-page-plugin/public';
+import { getHasApiKeys$ } from '@kbn/shared-ux-page-analytics-no-data';
+import { HttpStart } from '@kbn/core-http-browser';
+import { AddDataPrompt } from '../add_data_prompt';
+import { EmptyIndexListPrompt } from '../empty_index_list_prompt';
+import type { DataViewTableController } from './data_view_table_controller';
+
+/**
+ * @internal
+ */
+export interface NoDataProps {
+ noDataPage?: NoDataPagePluginStart;
+ docLinks: DocLinksStart;
+ uiSettings: IUiSettingsClient;
+ http: HttpStart;
+ application: ApplicationStart;
+ dataViewController: DataViewTableController;
+ setShowCreateDialog: React.Dispatch>;
+}
+
+const NoDataServerlessSearch: React.FC> = ({
+ uiSettings,
+ http,
+ docLinks,
+}) => {
+ const { hasApiKeys, error, isLoading } =
+ useObservable(useMemo(() => getHasApiKeys$(http), [http])) ?? {};
+
+ if (error) {
+ throw error;
+ }
+
+ if (isLoading) {
+ return ;
+ }
+
+ const addDataHref = hasApiKeys
+ ? uiSettings.get('defaultRoute') + '#ingestData'
+ : uiSettings.get('defaultRoute');
+
+ return (
+
+ );
+};
+
+/**
+ * @internal
+ */
+export const NoData: React.FC = ({
+ noDataPage,
+ docLinks,
+ http,
+ uiSettings,
+ application,
+ dataViewController,
+ setShowCreateDialog,
+}) => {
+ const flavor = noDataPage?.getAnalyticsNoDataPageFlavor() ?? 'kibana';
+
+ switch (flavor) {
+ case 'serverless_search': {
+ return ;
+ }
+
+ default:
+ return (
+ setShowCreateDialog(true)}
+ canSaveIndexPattern={!!application.capabilities.indexPatterns.save}
+ navigateToApp={application.navigateToApp}
+ addDataUrl={docLinks.links.indexPatterns.introduction}
+ />
+ );
+ }
+};
diff --git a/src/plugins/data_view_management/public/management_app/mount_management_section.tsx b/src/plugins/data_view_management/public/management_app/mount_management_section.tsx
index 8bd8745f7dfd9..2b7c928146ae6 100644
--- a/src/plugins/data_view_management/public/management_app/mount_management_section.tsx
+++ b/src/plugins/data_view_management/public/management_app/mount_management_section.tsx
@@ -21,7 +21,11 @@ import {
EditIndexPatternContainer,
CreateEditFieldContainer,
} from '../components';
-import { IndexPatternManagementStartDependencies, IndexPatternManagementStart } from '../plugin';
+import {
+ IndexPatternManagementStartDependencies,
+ IndexPatternManagementStart,
+ IndexPatternManagementSetupDependencies,
+} from '../plugin';
import { IndexPatternManagmentContext } from '../types';
const readOnlyBadge = {
@@ -36,6 +40,7 @@ const readOnlyBadge = {
export async function mountManagementSection(
getStartServices: StartServicesAccessor,
+ { noDataPage }: Pick,
params: ManagementAppMountParams
) {
const [
@@ -90,6 +95,7 @@ export async function mountManagementSection(
spaces: spaces?.hasOnlyDefaultSpace ? undefined : spaces,
theme,
savedObjectsManagement,
+ noDataPage,
};
const editPath = '/dataView/:id/field/:fieldName';
diff --git a/src/plugins/data_view_management/public/mocks.ts b/src/plugins/data_view_management/public/mocks.ts
index e4753af88e752..4c0f573447a69 100644
--- a/src/plugins/data_view_management/public/mocks.ts
+++ b/src/plugins/data_view_management/public/mocks.ts
@@ -9,6 +9,7 @@
import { PluginInitializerContext } from '@kbn/core/public';
import { coreMock } from '@kbn/core/public/mocks';
import { managementPluginMock } from '@kbn/management-plugin/public/mocks';
+import { noDataPagePublicMock } from '@kbn/no-data-page-plugin/public/mocks';
import { urlForwardingPluginMock } from '@kbn/url-forwarding-plugin/public/mocks';
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks';
@@ -34,6 +35,7 @@ const createInstance = async () => {
const setup = plugin.setup(coreMock.createSetup(), {
management: managementPluginMock.createSetupContract(),
urlForwarding: urlForwardingPluginMock.createSetupContract(),
+ noDataPage: noDataPagePublicMock.createSetup(),
});
const doStart = () => plugin.start();
@@ -77,6 +79,7 @@ const createIndexPatternManagmentContext = (): {
docLinks,
data,
dataViews,
+ noDataPage: noDataPagePublicMock.createStart(),
unifiedSearch,
dataViewFieldEditor,
indexPatternManagementStart: createStartContract(),
diff --git a/src/plugins/data_view_management/public/plugin.ts b/src/plugins/data_view_management/public/plugin.ts
index 3aefcbc047f16..ee91c0666a13f 100644
--- a/src/plugins/data_view_management/public/plugin.ts
+++ b/src/plugins/data_view_management/public/plugin.ts
@@ -6,23 +6,25 @@
* Side Public License, v 1.
*/
-import { i18n } from '@kbn/i18n';
-import { PluginInitializerContext, CoreSetup, Plugin } from '@kbn/core/public';
+import { CoreSetup, Plugin, PluginInitializerContext } from '@kbn/core/public';
import { DataPublicPluginStart } from '@kbn/data-plugin/public';
import { FieldFormatsStart } from '@kbn/field-formats-plugin/public';
+import { i18n } from '@kbn/i18n';
+import { NoDataPagePluginSetup } from '@kbn/no-data-page-plugin/public';
import { UrlForwardingSetup } from '@kbn/url-forwarding-plugin/public';
-import { ManagementSetup } from '@kbn/management-plugin/public';
-import { IndexPatternFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public';
import { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public';
+import { IndexPatternFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public';
import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
+import { ManagementSetup } from '@kbn/management-plugin/public';
+import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public';
import { SpacesPluginStart } from '@kbn/spaces-plugin/public';
import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public';
-import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public';
export interface IndexPatternManagementSetupDependencies {
management: ManagementSetup;
urlForwarding: UrlForwardingSetup;
+ noDataPage?: NoDataPagePluginSetup;
}
export interface IndexPatternManagementStartDependencies {
@@ -61,7 +63,7 @@ export class IndexPatternManagementPlugin
public setup(
core: CoreSetup,
- { management, urlForwarding }: IndexPatternManagementSetupDependencies
+ { management, urlForwarding, ...deps }: IndexPatternManagementSetupDependencies
) {
const kibanaSection = management.sections.section.kibana;
@@ -87,7 +89,7 @@ export class IndexPatternManagementPlugin
mount: async (params) => {
const { mountManagementSection } = await import('./management_app');
- return mountManagementSection(core.getStartServices, params);
+ return mountManagementSection(core.getStartServices, deps, params);
},
});
return {};
diff --git a/src/plugins/data_view_management/public/types.ts b/src/plugins/data_view_management/public/types.ts
index 064ef60d3a22d..f26ccefd8ee75 100644
--- a/src/plugins/data_view_management/public/types.ts
+++ b/src/plugins/data_view_management/public/types.ts
@@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
-import {
+import type {
ChromeStart,
IUiSettingsClient,
OverlayStart,
@@ -16,18 +16,19 @@ import {
ApplicationStart,
ThemeServiceStart,
} from '@kbn/core/public';
-import { DataPublicPluginStart } from '@kbn/data-plugin/public';
-import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public';
-import { ManagementAppMountParams } from '@kbn/management-plugin/public';
-import { KibanaReactContextValue } from '@kbn/kibana-react-plugin/public';
-import { IndexPatternFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public';
-import { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public';
-import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
-import { FieldFormatsStart } from '@kbn/field-formats-plugin/public';
-import { SpacesPluginStart } from '@kbn/spaces-plugin/public';
-import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public';
+import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
+import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public';
+import type { ManagementAppMountParams } from '@kbn/management-plugin/public';
+import type { KibanaReactContextValue } from '@kbn/kibana-react-plugin/public';
+import type { IndexPatternFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public';
+import type { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public';
+import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
+import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public';
+import type { SpacesPluginStart } from '@kbn/spaces-plugin/public';
+import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public';
import type { SettingsStart } from '@kbn/core-ui-settings-browser';
-import { IndexPatternManagementStart } from '.';
+import type { NoDataPagePluginSetup } from '@kbn/no-data-page-plugin/public';
+import type { IndexPatternManagementStart } from '.';
export interface IndexPatternManagmentContext {
application: ApplicationStart;
@@ -50,6 +51,7 @@ export interface IndexPatternManagmentContext {
spaces?: SpacesPluginStart;
theme: ThemeServiceStart;
savedObjectsManagement: SavedObjectsManagementPluginStart;
+ noDataPage?: NoDataPagePluginSetup;
}
export type IndexPatternManagmentContextValue =
diff --git a/src/plugins/data_view_management/tsconfig.json b/src/plugins/data_view_management/tsconfig.json
index 5fd9fff16ea3a..ec09cf2f7d1ca 100644
--- a/src/plugins/data_view_management/tsconfig.json
+++ b/src/plugins/data_view_management/tsconfig.json
@@ -35,6 +35,12 @@
"@kbn/shared-ux-router",
"@kbn/core-ui-settings-browser",
"@kbn/react-kibana-context-render",
+ "@kbn/no-data-page-plugin",
+ "@kbn/core-application-browser",
+ "@kbn/core-doc-links-browser",
+ "@kbn/shared-ux-utility",
+ "@kbn/shared-ux-page-analytics-no-data",
+ "@kbn/core-http-browser",
"@kbn/code-editor",
],
"exclude": [
diff --git a/src/plugins/discover/public/application/main/discover_main_route.test.tsx b/src/plugins/discover/public/application/main/discover_main_route.test.tsx
index 63296bfb927e9..5cc73a4200f9f 100644
--- a/src/plugins/discover/public/application/main/discover_main_route.test.tsx
+++ b/src/plugins/discover/public/application/main/discover_main_route.test.tsx
@@ -137,6 +137,7 @@ function getServicesMock(hasESData = true, hasUserDataView = true) {
hasUserDataView: jest.fn(() => Promise.resolve(hasUserDataView)),
hasDataView: jest.fn(() => Promise.resolve(true)),
};
+ discoverServiceMock.core.http.get = jest.fn().mockResolvedValue({});
return discoverServiceMock;
}
diff --git a/src/plugins/discover/public/application/main/discover_main_route.tsx b/src/plugins/discover/public/application/main/discover_main_route.tsx
index 2a2575a773524..4b1eebd153ec4 100644
--- a/src/plugins/discover/public/application/main/discover_main_route.tsx
+++ b/src/plugins/discover/public/application/main/discover_main_route.tsx
@@ -15,13 +15,10 @@ import {
SavedObjectNotFound,
} from '@kbn/kibana-utils-plugin/public';
import { useExecutionContext } from '@kbn/kibana-react-plugin/public';
-import {
- AnalyticsNoDataPageKibanaProvider,
- AnalyticsNoDataPage,
-} from '@kbn/shared-ux-page-analytics-no-data';
import { getSavedSearchFullPathUrl } from '@kbn/saved-search-plugin/public';
import useObservable from 'react-use/lib/useObservable';
import { reportPerformanceMetricEvent } from '@kbn/ebt-tools';
+import { withSuspense } from '@kbn/shared-ux-utility';
import { useUrl } from './hooks/use_url';
import { useSingleton } from './hooks/use_singleton';
import { MainHistoryLocationState } from '../../../common/locator';
@@ -282,6 +279,22 @@ export function DiscoverMainRoute({
const mainContent = useMemo(() => {
if (showNoDataPage) {
+ const importPromise = import('@kbn/shared-ux-page-analytics-no-data');
+ const AnalyticsNoDataPageKibanaProvider = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPageKibanaProvider: NoDataProvider }) => {
+ return { default: NoDataProvider };
+ })
+ )
+ );
+ const AnalyticsNoDataPage = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPage: NoDataPage }) => {
+ return { default: NoDataPage };
+ })
+ )
+ );
+
return (
diff --git a/src/plugins/kibana_overview/public/components/overview/__snapshots__/overview.test.tsx.snap b/src/plugins/kibana_overview/public/components/overview/__snapshots__/overview.test.tsx.snap
index 656a59a6425f6..b2741eaf8d3a1 100644
--- a/src/plugins/kibana_overview/public/components/overview/__snapshots__/overview.test.tsx.snap
+++ b/src/plugins/kibana_overview/public/components/overview/__snapshots__/overview.test.tsx.snap
@@ -442,7 +442,7 @@ exports[`Overview renders correctly when there is no user data view 1`] = `
]
}
>
-
-
-
+
+
+
+ }
+ >
+
+
+
+
+
+
+
+
`;
diff --git a/src/plugins/kibana_overview/public/components/overview/overview.tsx b/src/plugins/kibana_overview/public/components/overview/overview.tsx
index 0df0e583699f7..bdc8c9e0a755e 100644
--- a/src/plugins/kibana_overview/public/components/overview/overview.tsx
+++ b/src/plugins/kibana_overview/public/components/overview/overview.tsx
@@ -26,10 +26,6 @@ import {
} from '@kbn/kibana-react-plugin/public';
import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template';
import { KibanaSolutionAvatar } from '@kbn/shared-ux-avatar-solution';
-import {
- AnalyticsNoDataPageKibanaProvider,
- AnalyticsNoDataPage,
-} from '@kbn/shared-ux-page-analytics-no-data';
import {
RedirectAppLinksContainer as RedirectAppLinks,
RedirectAppLinksKibanaProvider,
@@ -40,6 +36,7 @@ import {
FeatureCatalogueSolution,
FeatureCatalogueCategory,
} from '@kbn/home-plugin/public';
+import { withSuspense } from '@kbn/shared-ux-utility';
import { PLUGIN_ID, PLUGIN_PATH } from '../../../common';
import { AppPluginStartDependencies } from '../../types';
import { AddData } from '../add_data';
@@ -202,6 +199,22 @@ export const Overview: FC = ({ newsFetchResult, solutions, features }) =>
dataViewEditor,
};
+ const importPromise = import('@kbn/shared-ux-page-analytics-no-data');
+ const AnalyticsNoDataPageKibanaProvider = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPageKibanaProvider: NoDataProvider }) => {
+ return { default: NoDataProvider };
+ })
+ )
+ );
+ const AnalyticsNoDataPage = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPage: NoDataPage }) => {
+ return { default: NoDataPage };
+ })
+ )
+ );
+
return (
diff --git a/src/plugins/kibana_overview/tsconfig.json b/src/plugins/kibana_overview/tsconfig.json
index 976eed58d31aa..09e9d232901c4 100644
--- a/src/plugins/kibana_overview/tsconfig.json
+++ b/src/plugins/kibana_overview/tsconfig.json
@@ -26,6 +26,7 @@
"@kbn/shared-ux-link-redirect-app",
"@kbn/shared-ux-router",
"@kbn/shared-ux-avatar-solution",
+ "@kbn/shared-ux-utility",
],
"exclude": [
"target/**/*",
diff --git a/src/plugins/links/public/components/dashboard_link/dashboard_link_component.test.tsx b/src/plugins/links/public/components/dashboard_link/dashboard_link_component.test.tsx
index a63636d40df26..4e6eb32319baf 100644
--- a/src/plugins/links/public/components/dashboard_link/dashboard_link_component.test.tsx
+++ b/src/plugins/links/public/components/dashboard_link/dashboard_link_component.test.tsx
@@ -11,7 +11,7 @@ import React from 'react';
import { getDashboardLocatorParamsFromEmbeddable } from '@kbn/dashboard-plugin/public';
import { DashboardContainer } from '@kbn/dashboard-plugin/public/dashboard_container';
import { DEFAULT_DASHBOARD_DRILLDOWN_OPTIONS } from '@kbn/presentation-util-plugin/public';
-import { createEvent, fireEvent, render, screen, waitFor } from '@testing-library/react';
+import { createEvent, fireEvent, render, screen, waitFor, within } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { LINKS_VERTICAL_LAYOUT } from '../../../common/content_management';
@@ -104,8 +104,15 @@ describe('Dashboard link component', () => {
expect(fetchDashboard).toHaveBeenCalledWith(defaultLinkInfo.destination);
await waitFor(() => expect(onRender).toHaveBeenCalledTimes(1));
+ // renders dashboard title
const link = await screen.findByTestId('dashboardLink--foo');
expect(link).toHaveTextContent('another dashboard');
+
+ // does not render external link icon
+ const externalIcon = within(link).queryByText('External link');
+ expect(externalIcon).toBeNull();
+
+ // calls `navigate` on click
userEvent.click(link);
expect(dashboardContainer.locator?.getRedirectUrl).toBeCalledWith({
dashboardId: '456',
@@ -134,7 +141,7 @@ describe('Dashboard link component', () => {
expect(preventDefault).toHaveBeenCalledTimes(0);
});
- test('openInNewTab uses window.open, not navigateToApp', async () => {
+ test('openInNewTab uses window.open, not navigateToApp, and renders external icon', async () => {
const linkInfo = {
...defaultLinkInfo,
options: { ...DEFAULT_DASHBOARD_DRILLDOWN_OPTIONS, openInNewTab: true },
@@ -155,6 +162,12 @@ describe('Dashboard link component', () => {
await waitFor(() => expect(onRender).toHaveBeenCalledTimes(1));
const link = await screen.findByTestId('dashboardLink--foo');
expect(link).toBeInTheDocument();
+
+ // external link icon is rendered
+ const externalIcon = within(link).getByText('External link');
+ expect(externalIcon?.getAttribute('data-euiicon-type')).toBe('popout');
+
+ // calls `window.open`
userEvent.click(link);
expect(dashboardContainer.locator?.navigate).toBeCalledTimes(0);
expect(window.open).toHaveBeenCalledWith('https://my-kibana.com/dashboard/123', '_blank');
diff --git a/src/plugins/links/public/components/dashboard_link/dashboard_link_component.tsx b/src/plugins/links/public/components/dashboard_link/dashboard_link_component.tsx
index 30977b593238a..a6ef1c7c4b72d 100644
--- a/src/plugins/links/public/components/dashboard_link/dashboard_link_component.tsx
+++ b/src/plugins/links/public/components/dashboard_link/dashboard_link_component.tsx
@@ -187,6 +187,7 @@ export const DashboardLinkComponent = ({
'dashboardLinkError--noLabel': !link.label,
})}
label={linkLabel}
+ external={link.options?.openInNewTab}
data-test-subj={error ? `${id}--error` : `${id}`}
/>
);
diff --git a/src/plugins/links/public/components/external_link/external_link_component.test.tsx b/src/plugins/links/public/components/external_link/external_link_component.test.tsx
index 02f984435f8ba..e0eb0686144b1 100644
--- a/src/plugins/links/public/components/external_link/external_link_component.test.tsx
+++ b/src/plugins/links/public/components/external_link/external_link_component.test.tsx
@@ -9,7 +9,7 @@
import React from 'react';
import userEvent from '@testing-library/user-event';
-import { createEvent, fireEvent, render, screen } from '@testing-library/react';
+import { createEvent, fireEvent, render, screen, within } from '@testing-library/react';
import { LinksEmbeddable, LinksContext } from '../../embeddable/links_embeddable';
import { mockLinksPanel } from '../../../common/mocks';
import { LINKS_VERTICAL_LAYOUT } from '../../../common/content_management';
@@ -37,7 +37,7 @@ describe('external link component', () => {
jest.clearAllMocks();
});
- test('by default opens in new tab', async () => {
+ test('by default opens in new tab and renders external icon', async () => {
render(
{
expect(onRender).toBeCalledTimes(1);
const link = await screen.findByTestId('externalLink--foo');
expect(link).toBeInTheDocument();
- await userEvent.click(link);
+ const externalIcon = within(link).getByText('External link');
+ expect(externalIcon.getAttribute('data-euiicon-type')).toBe('popout');
+ userEvent.click(link);
expect(window.open).toHaveBeenCalledWith('https://example.com', '_blank');
});
+ test('renders external icon even when `openInNewTab` setting is `false`', async () => {
+ const linkInfo = {
+ ...defaultLinkInfo,
+ options: { ...DEFAULT_URL_DRILLDOWN_OPTIONS, openInNewTab: false },
+ };
+ render(
+
+
+
+ );
+ const link = await screen.findByTestId('externalLink--foo');
+ const externalIcon = within(link).getByText('External link');
+ expect(externalIcon?.getAttribute('data-euiicon-type')).toBe('popout');
+ });
+
test('modified click does not trigger event.preventDefault', async () => {
const linkInfo = {
...defaultLinkInfo,
@@ -86,7 +103,7 @@ describe('external link component', () => {
);
expect(onRender).toBeCalledTimes(1);
const link = await screen.findByTestId('externalLink--foo');
- await userEvent.click(link);
+ userEvent.click(link);
expect(coreServices.application.navigateToUrl).toBeCalledTimes(1);
expect(coreServices.application.navigateToUrl).toBeCalledWith('https://example.com');
});
diff --git a/src/plugins/links/public/components/external_link/external_link_component.tsx b/src/plugins/links/public/components/external_link/external_link_component.tsx
index 4af95c83cc325..d2209efb8f100 100644
--- a/src/plugins/links/public/components/external_link/external_link_component.tsx
+++ b/src/plugins/links/public/components/external_link/external_link_component.tsx
@@ -65,6 +65,7 @@ export const ExternalLinkComponent = ({
return (
() => {
+ return () =>
+ ({
+ getAnalyticsNoDataPageFlavor: () => 'kibana',
+ } as T);
+};
+
+export const noDataPagePublicMock = {
+ createSetup: initialize(),
+ createStart: initialize(),
+};
diff --git a/src/plugins/no_data_page/public/plugin.ts b/src/plugins/no_data_page/public/plugin.ts
index a9f5dd0fe1f95..910208f0f94be 100644
--- a/src/plugins/no_data_page/public/plugin.ts
+++ b/src/plugins/no_data_page/public/plugin.ts
@@ -7,23 +7,10 @@
*/
import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public';
-import type {
- NoDataPagePublicSetup,
- NoDataPagePublicSetupDependencies,
- NoDataPagePublicStart,
- NoDataPagePublicStartDependencies,
-} from './types';
+import type { NoDataPagePublicSetup, NoDataPagePublicStart } from './types';
import type { NoDataPageConfig } from '../config';
-export class NoDataPagePlugin
- implements
- Plugin<
- NoDataPagePublicSetup,
- NoDataPagePublicStart,
- NoDataPagePublicSetupDependencies,
- NoDataPagePublicStartDependencies
- >
-{
+export class NoDataPagePlugin implements Plugin {
constructor(private initializerContext: PluginInitializerContext) {}
public setup(_core: CoreSetup): NoDataPagePublicSetup {
diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/range_value_input.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/range_value_input.tsx
index 2e371da5abfef..4f35d4a7f2d81 100644
--- a/src/plugins/unified_search/public/filter_bar/filter_editor/range_value_input.tsx
+++ b/src/plugins/unified_search/public/filter_bar/filter_editor/range_value_input.tsx
@@ -54,14 +54,14 @@ function RangeValueInputUI(props: Props) {
if (typeof value !== 'string' && typeof value !== 'number') {
throw new Error('Range params must be a string or number');
}
- props.onChange({ from: value, to: get(props, 'value.to') });
+ props.onChange({ from: value === '' ? undefined : value, to: get(props, 'value.to') });
};
const onToChange = (value: string | number | boolean) => {
if (typeof value !== 'string' && typeof value !== 'number') {
throw new Error('Range params must be a string or number');
}
- props.onChange({ from: get(props, 'value.from'), to: value });
+ props.onChange({ from: get(props, 'value.from'), to: value === '' ? undefined : value });
};
return (
diff --git a/src/plugins/unified_search/public/filters_builder/filter_item/operator_input.tsx b/src/plugins/unified_search/public/filters_builder/filter_item/operator_input.tsx
index 0945fbc1c4d08..45e32f86c4b90 100644
--- a/src/plugins/unified_search/public/filters_builder/filter_item/operator_input.tsx
+++ b/src/plugins/unified_search/public/filters_builder/filter_item/operator_input.tsx
@@ -59,6 +59,7 @@ export function OperatorInput({
singleSelection={{ asPlainText: true }}
isClearable={false}
data-test-subj="filterOperatorList"
+ inputPopoverProps={{ panelMinWidth: 180 }}
/>
);
}
diff --git a/src/plugins/visualizations/public/visualize_app/app.tsx b/src/plugins/visualizations/public/visualize_app/app.tsx
index 88453b1d902f4..8ff102e101479 100644
--- a/src/plugins/visualizations/public/visualize_app/app.tsx
+++ b/src/plugins/visualizations/public/visualize_app/app.tsx
@@ -16,11 +16,8 @@ import type { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public';
import { syncGlobalQueryStateWithUrl } from '@kbn/data-plugin/public';
import type { NoDataPagePluginStart } from '@kbn/no-data-page-plugin/public';
import { useKibana } from '@kbn/kibana-react-plugin/public';
-import {
- AnalyticsNoDataPageKibanaProvider,
- AnalyticsNoDataPage,
-} from '@kbn/shared-ux-page-analytics-no-data';
import type { DataViewsContract } from '@kbn/data-views-plugin/public';
+import { withSuspense } from '@kbn/shared-ux-utility';
import { VisualizeServices } from './types';
import {
VisualizeEditor,
@@ -55,6 +52,23 @@ const NoDataComponent = ({
dataViewEditor,
noDataPage,
};
+
+ const importPromise = import('@kbn/shared-ux-page-analytics-no-data');
+ const AnalyticsNoDataPageKibanaProvider = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPageKibanaProvider: NoDataProvider }) => {
+ return { default: NoDataProvider };
+ })
+ )
+ );
+ const AnalyticsNoDataPage = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPage: NoDataPage }) => {
+ return { default: NoDataPage };
+ })
+ )
+ );
+
return (
diff --git a/src/plugins/visualizations/tsconfig.json b/src/plugins/visualizations/tsconfig.json
index a52401eaf65da..813c47ca83872 100644
--- a/src/plugins/visualizations/tsconfig.json
+++ b/src/plugins/visualizations/tsconfig.json
@@ -65,7 +65,8 @@
"@kbn/no-data-page-plugin",
"@kbn/search-response-warnings",
"@kbn/logging",
- "@kbn/content-management-table-list-view-common"
+ "@kbn/content-management-table-list-view-common",
+ "@kbn/shared-ux-utility"
],
"exclude": [
"target/**/*",
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 086fd83ee3631..b8c20aa8d2da3 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -1572,6 +1572,8 @@
"@kbn/telemetry-tools/*": ["packages/kbn-telemetry-tools/*"],
"@kbn/test": ["packages/kbn-test"],
"@kbn/test/*": ["packages/kbn-test/*"],
+ "@kbn/test-eui-helpers": ["packages/kbn-test-eui-helpers"],
+ "@kbn/test-eui-helpers/*": ["packages/kbn-test-eui-helpers/*"],
"@kbn/test-feature-usage-plugin": ["x-pack/test/licensing_plugin/plugins/test_feature_usage"],
"@kbn/test-feature-usage-plugin/*": ["x-pack/test/licensing_plugin/plugins/test_feature_usage/*"],
"@kbn/test-jest-helpers": ["packages/kbn-test-jest-helpers"],
diff --git a/x-pack/packages/security-solution/features/src/cases/kibana_sub_features.ts b/x-pack/packages/security-solution/features/src/cases/kibana_sub_features.ts
index 1f49d01f979da..343b207899675 100644
--- a/x-pack/packages/security-solution/features/src/cases/kibana_sub_features.ts
+++ b/x-pack/packages/security-solution/features/src/cases/kibana_sub_features.ts
@@ -65,7 +65,7 @@ export const getCasesSubFeaturesMap = ({
name: i18n.translate(
'securitySolutionPackages.features.featureRegistry.casesSettingsSubFeatureName',
{
- defaultMessage: 'Case Settings',
+ defaultMessage: 'Case settings',
}
),
privilegeGroups: [
@@ -77,7 +77,7 @@ export const getCasesSubFeaturesMap = ({
name: i18n.translate(
'securitySolutionPackages.features.featureRegistry.casesSettingsSubFeatureDetails',
{
- defaultMessage: 'Edit Case Settings',
+ defaultMessage: 'Edit case settings',
}
),
includeIn: 'all',
diff --git a/x-pack/plugins/apm/common/anomaly_detection/apm_ml_detectors.ts b/x-pack/plugins/apm/common/anomaly_detection/apm_ml_detectors.ts
index 72f4d361ff95f..a383203f208f9 100644
--- a/x-pack/plugins/apm/common/anomaly_detection/apm_ml_detectors.ts
+++ b/x-pack/plugins/apm/common/anomaly_detection/apm_ml_detectors.ts
@@ -5,24 +5,24 @@
* 2.0.
*/
-export enum ApmMlDetectorType {
+export enum AnomalyDetectorType {
txLatency = 'txLatency',
txThroughput = 'txThroughput',
txFailureRate = 'txFailureRate',
}
const detectorIndices = {
- [ApmMlDetectorType.txLatency]: 0,
- [ApmMlDetectorType.txThroughput]: 1,
- [ApmMlDetectorType.txFailureRate]: 2,
+ [AnomalyDetectorType.txLatency]: 0,
+ [AnomalyDetectorType.txThroughput]: 1,
+ [AnomalyDetectorType.txFailureRate]: 2,
};
-export function getApmMlDetectorIndex(type: ApmMlDetectorType) {
+export function getAnomalyDetectorIndex(type: AnomalyDetectorType) {
return detectorIndices[type];
}
-export function getApmMlDetectorType(detectorIndex: number) {
- let type: ApmMlDetectorType;
+export function getAnomalyDetectorType(detectorIndex: number) {
+ let type: AnomalyDetectorType;
for (type in detectorIndices) {
if (detectorIndices[type] === detectorIndex) {
return type;
diff --git a/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.test.ts b/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.test.ts
index da4951129dd18..1b24efd98f2a0 100644
--- a/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.test.ts
+++ b/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.test.ts
@@ -7,7 +7,7 @@
import { v4 as uuidv4 } from 'uuid';
import { ENVIRONMENT_ALL } from '../environment_filter_values';
import { Environment } from '../environment_rt';
-import { ApmMlDetectorType } from './apm_ml_detectors';
+import { AnomalyDetectorType } from './apm_ml_detectors';
import { getPreferredServiceAnomalyTimeseries } from './get_preferred_service_anomaly_timeseries';
import { ServiceAnomalyTimeseries } from './service_anomaly_timeseries';
@@ -19,7 +19,7 @@ function createMockAnomalyTimeseries({
environment = PROD,
version = 3,
}: {
- type: ApmMlDetectorType;
+ type: AnomalyDetectorType;
environment?: Environment;
version?: number;
}): ServiceAnomalyTimeseries {
@@ -39,23 +39,23 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
describe('with a wide set of series', () => {
const allAnomalyTimeseries = [
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txLatency,
+ type: AnomalyDetectorType.txLatency,
environment: PROD,
}),
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txLatency,
+ type: AnomalyDetectorType.txLatency,
environment: DEV,
}),
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txThroughput,
+ type: AnomalyDetectorType.txThroughput,
environment: PROD,
}),
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txFailureRate,
+ type: AnomalyDetectorType.txFailureRate,
environment: PROD,
}),
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txFailureRate,
+ type: AnomalyDetectorType.txFailureRate,
environment: PROD,
version: 2,
}),
@@ -68,7 +68,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
expect(
getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txLatency,
+ detectorType: AnomalyDetectorType.txLatency,
preferredEnvironment,
fallbackToTransactions: false,
})?.environment
@@ -85,7 +85,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
expect(
getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txLatency,
+ detectorType: AnomalyDetectorType.txLatency,
preferredEnvironment,
fallbackToTransactions: false,
})
@@ -94,7 +94,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
expect(
getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txLatency,
+ detectorType: AnomalyDetectorType.txLatency,
preferredEnvironment,
fallbackToTransactions: true,
})
@@ -108,7 +108,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
it('returns the series for production', () => {
const series = getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txFailureRate,
+ detectorType: AnomalyDetectorType.txFailureRate,
preferredEnvironment,
fallbackToTransactions: false,
});
@@ -124,12 +124,12 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
describe('with multiple versions', () => {
const allAnomalyTimeseries = [
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txLatency,
+ type: AnomalyDetectorType.txLatency,
environment: PROD,
version: 3,
}),
createMockAnomalyTimeseries({
- type: ApmMlDetectorType.txLatency,
+ type: AnomalyDetectorType.txLatency,
environment: PROD,
version: 2,
}),
@@ -140,7 +140,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
it('selects the most recent version when transaction metrics are being used', () => {
const series = getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txLatency,
+ detectorType: AnomalyDetectorType.txLatency,
preferredEnvironment,
fallbackToTransactions: false,
});
@@ -151,7 +151,7 @@ describe('getPreferredServiceAnomalyTimeseries', () => {
it('selects the legacy version when transaction metrics are being used', () => {
const series = getPreferredServiceAnomalyTimeseries({
allAnomalyTimeseries,
- detectorType: ApmMlDetectorType.txLatency,
+ detectorType: AnomalyDetectorType.txLatency,
preferredEnvironment,
fallbackToTransactions: true,
});
diff --git a/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts b/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts
index c63bb9fc44cd6..04f1c72a3c334 100644
--- a/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts
+++ b/x-pack/plugins/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts
@@ -6,7 +6,7 @@
*/
import { Environment } from '../environment_rt';
-import { ApmMlDetectorType } from './apm_ml_detectors';
+import { AnomalyDetectorType } from './apm_ml_detectors';
import { ServiceAnomalyTimeseries } from './service_anomaly_timeseries';
export function getPreferredServiceAnomalyTimeseries({
@@ -16,7 +16,7 @@ export function getPreferredServiceAnomalyTimeseries({
fallbackToTransactions,
}: {
preferredEnvironment: Environment;
- detectorType: ApmMlDetectorType;
+ detectorType: AnomalyDetectorType;
allAnomalyTimeseries: ServiceAnomalyTimeseries[];
fallbackToTransactions: boolean;
}) {
diff --git a/x-pack/plugins/apm/common/anomaly_detection/service_anomaly_timeseries.ts b/x-pack/plugins/apm/common/anomaly_detection/service_anomaly_timeseries.ts
index 833f66a442ac3..40fcf198441d8 100644
--- a/x-pack/plugins/apm/common/anomaly_detection/service_anomaly_timeseries.ts
+++ b/x-pack/plugins/apm/common/anomaly_detection/service_anomaly_timeseries.ts
@@ -6,11 +6,11 @@
*/
import { Coordinate } from '../../typings/timeseries';
-import { ApmMlDetectorType } from './apm_ml_detectors';
+import { AnomalyDetectorType } from './apm_ml_detectors';
export interface ServiceAnomalyTimeseries {
jobId: string;
- type: ApmMlDetectorType;
+ type: AnomalyDetectorType;
environment: string;
serviceName: string;
version: number;
diff --git a/x-pack/plugins/apm/common/rules/apm_rule_types.ts b/x-pack/plugins/apm/common/rules/apm_rule_types.ts
index 39659f146db8b..dff141ba818b9 100644
--- a/x-pack/plugins/apm/common/rules/apm_rule_types.ts
+++ b/x-pack/plugins/apm/common/rules/apm_rule_types.ts
@@ -26,6 +26,7 @@ import {
TRANSACTION_TYPE,
} from '../es_fields/apm';
import { getEnvironmentLabel } from '../environment_filter_values';
+import { AnomalyDetectorType } from '../anomaly_detection/apm_ml_detectors';
export const APM_SERVER_FEATURE_ID = 'apm';
@@ -179,24 +180,27 @@ export function formatTransactionErrorRateReason({
export function formatAnomalyReason({
serviceName,
severityLevel,
- measured,
+ anomalyScore,
windowSize,
windowUnit,
+ detectorType,
}: {
serviceName: string;
severityLevel: string;
- measured: number;
+ anomalyScore: number;
windowSize: number;
windowUnit: string;
+ detectorType: AnomalyDetectorType;
}) {
return i18n.translate(
'xpack.apm.alertTypes.transactionDurationAnomaly.reason',
{
- defaultMessage: `{severityLevel} anomaly with a score of {measured} was detected in the last {interval} for {serviceName}.`,
+ defaultMessage: `{severityLevel} {detectorTypeLabel} anomaly with a score of {anomalyScore}, was detected in the last {interval} for {serviceName}.`,
values: {
serviceName,
severityLevel,
- measured,
+ detectorTypeLabel: getApmMlDetectorLabel(detectorType),
+ anomalyScore,
interval: formatDurationFromTimeUnitChar(
windowSize,
windowUnit as TimeUnitChar
@@ -294,6 +298,35 @@ export type AnomalyAlertSeverityType = ValuesType<
typeof ANOMALY_ALERT_SEVERITY_TYPES
>['type'];
+export function getApmMlDetectorLabel(type: AnomalyDetectorType) {
+ switch (type) {
+ case AnomalyDetectorType.txLatency:
+ return i18n.translate('xpack.apm.alerts.anomalyDetector.latencyLabel', {
+ defaultMessage: 'latency',
+ });
+ case AnomalyDetectorType.txThroughput:
+ return i18n.translate(
+ 'xpack.apm.alerts.anomalyDetector.throughputLabel',
+ {
+ defaultMessage: 'throughput',
+ }
+ );
+ case AnomalyDetectorType.txFailureRate:
+ return i18n.translate(
+ 'xpack.apm.alerts.anomalyDetector.failedTransactionRateLabel',
+ {
+ defaultMessage: 'failed transaction rate',
+ }
+ );
+ }
+}
+
+export const ANOMALY_DETECTOR_SELECTOR_OPTIONS = [
+ AnomalyDetectorType.txLatency,
+ AnomalyDetectorType.txThroughput,
+ AnomalyDetectorType.txFailureRate,
+].map((type) => ({ type, label: getApmMlDetectorLabel(type) }));
+
// Server side registrations
// x-pack/plugins/apm/server/lib/alerts/.ts
// x-pack/plugins/apm/server/lib/alerts/register_apm_alerts.ts
diff --git a/x-pack/plugins/apm/common/rules/schema.ts b/x-pack/plugins/apm/common/rules/schema.ts
index c38fe85561696..ffe2e69d5262e 100644
--- a/x-pack/plugins/apm/common/rules/schema.ts
+++ b/x-pack/plugins/apm/common/rules/schema.ts
@@ -8,6 +8,7 @@
import { schema, TypeOf } from '@kbn/config-schema';
import { ML_ANOMALY_SEVERITY } from '@kbn/ml-anomaly-utils/anomaly_severity';
import { ApmRuleType } from '@kbn/rule-data-utils';
+import { AnomalyDetectorType } from '../anomaly_detection/apm_ml_detectors';
import { AggregationType } from './apm_rule_types';
export const searchConfigurationSchema = schema.object({
@@ -50,6 +51,12 @@ export const transactionDurationParamsSchema = schema.object({
searchConfiguration: schema.maybe(searchConfigurationSchema),
});
+const detectorsSchema = schema.oneOf([
+ schema.literal(AnomalyDetectorType.txLatency),
+ schema.literal(AnomalyDetectorType.txThroughput),
+ schema.literal(AnomalyDetectorType.txFailureRate),
+]);
+
export const anomalyParamsSchema = schema.object({
serviceName: schema.maybe(schema.string()),
transactionType: schema.maybe(schema.string()),
@@ -62,6 +69,7 @@ export const anomalyParamsSchema = schema.object({
schema.literal(ML_ANOMALY_SEVERITY.MINOR),
schema.literal(ML_ANOMALY_SEVERITY.WARNING),
]),
+ anomalyDetectorTypes: schema.arrayOf(detectorsSchema, { minSize: 1 }),
});
export const transactionErrorRateParamsSchema = schema.object({
diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/index.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/index.tsx
similarity index 69%
rename from x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/index.tsx
rename to x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/index.tsx
index 983041f775990..02f30cd82d985 100644
--- a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/index.tsx
+++ b/x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/index.tsx
@@ -6,12 +6,14 @@
*/
import { i18n } from '@kbn/i18n';
+import { FormattedMessage } from '@kbn/i18n-react';
import { defaults, omit } from 'lodash';
import React, { useEffect } from 'react';
import { CoreStart } from '@kbn/core/public';
import { useKibana } from '@kbn/kibana-react-plugin/public';
import { TIME_UNITS } from '@kbn/triggers-actions-ui-plugin/public';
import { ML_ANOMALY_SEVERITY } from '@kbn/ml-anomaly-utils/anomaly_severity';
+import { EuiText } from '@elastic/eui';
import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values';
import { createCallApmApi } from '../../../../services/rest/create_call_apm_api';
import {
@@ -26,13 +28,20 @@ import {
AnomalySeverity,
SelectAnomalySeverity,
} from './select_anomaly_severity';
+import { SelectAnomalyDetector } from './select_anomaly_detector';
+import {
+ ANOMALY_DETECTOR_SELECTOR_OPTIONS,
+ getApmMlDetectorLabel,
+} from '../../../../../common/rules/apm_rule_types';
+import { AnomalyDetectorType } from '../../../../../common/anomaly_detection/apm_ml_detectors';
-interface AlertParams {
+export interface AlertParams {
anomalySeverityType?:
| ML_ANOMALY_SEVERITY.CRITICAL
| ML_ANOMALY_SEVERITY.MAJOR
| ML_ANOMALY_SEVERITY.MINOR
| ML_ANOMALY_SEVERITY.WARNING;
+ anomalyDetectorTypes?: AnomalyDetectorType[];
environment?: string;
serviceName?: string;
transactionType?: string;
@@ -45,12 +54,12 @@ interface Props {
metadata?: AlertMetadata;
setRuleParams: (key: string, value: any) => void;
setRuleProperty: (key: string, value: any) => void;
+ errors: { anomalyDetectorTypes?: string };
}
-export function TransactionDurationAnomalyRuleType(props: Props) {
+export function AnomalyRuleType(props: Props) {
const { services } = useKibana();
const { ruleParams, metadata, setRuleParams, setRuleProperty } = props;
-
useEffect(() => {
createCallApmApi(services as CoreStart);
}, [services]);
@@ -64,10 +73,17 @@ export function TransactionDurationAnomalyRuleType(props: Props) {
windowSize: 30,
windowUnit: TIME_UNITS.MINUTE,
anomalySeverityType: ML_ANOMALY_SEVERITY.CRITICAL,
+ anomalyDetectorTypes: ANOMALY_DETECTOR_SELECTOR_OPTIONS.map(
+ (detector) => detector.type
+ ),
environment: ENVIRONMENT_ALL.value,
}
);
+ const anomalyDetectorsSelectedLabels = params.anomalyDetectorTypes.map(
+ (type) => getApmMlDetectorLabel(type)
+ );
+
const fields = [
setRuleParams('environment', value)}
serviceName={params.serviceName}
/>,
+
+ {props.errors.anomalyDetectorTypes && (
+
+
+
+ )}
+
+ {
+ setRuleParams('anomalyDetectorTypes', values);
+ }}
+ />
+ ,
}
title={i18n.translate(
@@ -106,7 +145,6 @@ export function TransactionDurationAnomalyRuleType(props: Props) {
/>
,
];
-
return (
void;
+}
+
+export function SelectAnomalyDetector({ values, onChange }: Props) {
+ const options: EuiSelectableOption[] = ANOMALY_DETECTOR_SELECTOR_OPTIONS.map(
+ (option) => ({
+ key: option.type,
+ label: option.label,
+ checked: values.includes(option.type) ? 'on' : undefined,
+ })
+ );
+
+ const onOptionSelect = useCallback(
+ (selectedOptions: EuiSelectableOption[]) => {
+ const selectedTypes = selectedOptions
+ .filter(({ checked }) => checked === 'on')
+ .map(({ key }) => key as AnomalyDetectorType);
+ onChange(selectedTypes);
+ },
+ [onChange]
+ );
+
+ return (
+
+ {(list) => list}
+
+ );
+}
diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/select_anomaly_severity.test.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/select_anomaly_severity.test.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/select_anomaly_severity.test.tsx
rename to x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/select_anomaly_severity.test.tsx
diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/select_anomaly_severity.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/select_anomaly_severity.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/alerting/rule_types/transaction_duration_anomaly_rule_type/select_anomaly_severity.tsx
rename to x-pack/plugins/apm/public/components/alerting/rule_types/anomaly_rule_type/select_anomaly_severity.tsx
diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/register_apm_rule_types.ts b/x-pack/plugins/apm/public/components/alerting/rule_types/register_apm_rule_types.ts
index d3ddffc131e14..86465817689fd 100644
--- a/x-pack/plugins/apm/public/components/alerting/rule_types/register_apm_rule_types.ts
+++ b/x-pack/plugins/apm/public/components/alerting/rule_types/register_apm_rule_types.ts
@@ -19,6 +19,7 @@ import {
transactionDurationMessage,
transactionErrorRateMessage,
} from '../../../../common/rules/default_action_message';
+import { AlertParams } from './anomaly_rule_type';
// copied from elasticsearch_fieldnames.ts to limit page load bundle size
const SERVICE_ENVIRONMENT = 'service.environment';
@@ -147,14 +148,30 @@ export function registerApmRuleTypes(
documentationUrl(docLinks) {
return `${docLinks.links.alerting.apmRules}`;
},
- ruleParamsExpression: lazy(
- () => import('./transaction_duration_anomaly_rule_type')
- ),
- validate: () => ({
- errors: [],
- }),
+ ruleParamsExpression: lazy(() => import('./anomaly_rule_type')),
+ validate: validateAnomalyRule,
requiresAppContext: false,
defaultActionMessage: anomalyMessage,
priority: 90,
});
}
+
+function validateAnomalyRule(ruleParams: AlertParams) {
+ const validationResult = { errors: {} };
+ const errors: {
+ anomalyDetectorTypes?: string;
+ } = {};
+ validationResult.errors = errors;
+ if (
+ ruleParams.anomalyDetectorTypes &&
+ ruleParams.anomalyDetectorTypes.length < 1
+ ) {
+ errors.anomalyDetectorTypes = i18n.translate(
+ 'xpack.apm.validateAnomalyRule.',
+ {
+ defaultMessage: 'At least one detector type is required',
+ }
+ );
+ }
+ return validationResult;
+}
diff --git a/x-pack/plugins/apm/public/components/alerting/ui_components/popover_expression.tsx b/x-pack/plugins/apm/public/components/alerting/ui_components/popover_expression.tsx
index 038d60c21f1dc..b06a2a9cc1bb6 100644
--- a/x-pack/plugins/apm/public/components/alerting/ui_components/popover_expression.tsx
+++ b/x-pack/plugins/apm/public/components/alerting/ui_components/popover_expression.tsx
@@ -8,14 +8,22 @@
import React, { useState } from 'react';
import { EuiExpression, EuiPopover } from '@elastic/eui';
+type ExpressionColor =
+ | 'subdued'
+ | 'primary'
+ | 'success'
+ | 'accent'
+ | 'warning'
+ | 'danger';
interface Props {
title: React.ReactNode;
value: React.ReactNode;
children?: React.ReactNode;
+ color?: ExpressionColor;
}
export function PopoverExpression(props: Props) {
- const { title, value, children } = props;
+ const { title, value, children, color } = props;
const [popoverOpen, setPopoverOpen] = useState(false);
return (
@@ -28,6 +36,7 @@ export function PopoverExpression(props: Props) {
description={title}
value={value}
isActive={popoverOpen}
+ color={color}
onClick={() => setPopoverOpen((state) => !state)}
/>
}
diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_throughput_chart.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_throughput_chart.tsx
index 163495996cbc7..5661e858bd19c 100644
--- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_throughput_chart.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_throughput_chart.tsx
@@ -16,7 +16,7 @@ import { i18n } from '@kbn/i18n';
import React from 'react';
import { usePreviousPeriodLabel } from '../../../hooks/use_previous_period_text';
import { isTimeComparison } from '../../shared/time_comparison/get_comparison_options';
-import { ApmMlDetectorType } from '../../../../common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '../../../../common/anomaly_detection/apm_ml_detectors';
import { asExactTransactionRate } from '../../../../common/utils/formatters';
import { useApmServiceContext } from '../../../context/apm_service/use_apm_service_context';
import { useEnvironmentsContext } from '../../../context/environments_context/use_environments_context';
@@ -57,7 +57,7 @@ export function ServiceOverviewThroughputChart({
const { environment } = useEnvironmentsContext();
const preferredAnomalyTimeseries = usePreferredServiceAnomalyTimeseries(
- ApmMlDetectorType.txThroughput
+ AnomalyDetectorType.txThroughput
);
const { start, end } = useTimeRange({ rangeFrom, rangeTo });
diff --git a/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx
index 09cb50c7cff8d..6758d37243386 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx
@@ -21,7 +21,7 @@ import { getComparisonChartTheme } from '../../time_comparison/get_comparison_ch
import { useAnyOfApmParams } from '../../../../hooks/use_apm_params';
import { useTimeRange } from '../../../../hooks/use_time_range';
import { useEnvironmentsContext } from '../../../../context/environments_context/use_environments_context';
-import { ApmMlDetectorType } from '../../../../../common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '../../../../../common/anomaly_detection/apm_ml_detectors';
import { usePreferredServiceAnomalyTimeseries } from '../../../../hooks/use_preferred_service_anomaly_timeseries';
import { ChartType, getTimeSeriesColor } from '../helper/get_timeseries_color';
import { usePreferredDataSourceAndBucketSize } from '../../../../hooks/use_preferred_data_source_and_bucket_size';
@@ -86,7 +86,7 @@ export function FailedTransactionRateChart({
const { environment } = useEnvironmentsContext();
const preferredAnomalyTimeseries = usePreferredServiceAnomalyTimeseries(
- ApmMlDetectorType.txFailureRate
+ AnomalyDetectorType.txFailureRate
);
const { serviceName, transactionType, transactionTypeStatus } =
diff --git a/x-pack/plugins/apm/public/components/shared/charts/latency_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/latency_chart/index.tsx
index e6e56f688ba7b..70f48765008b7 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/latency_chart/index.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/latency_chart/index.tsx
@@ -26,7 +26,7 @@ import { MLHeader } from '../transaction_charts/ml_header';
import * as urlHelpers from '../../links/url_helpers';
import { getComparisonChartTheme } from '../../time_comparison/get_comparison_chart_theme';
import { useEnvironmentsContext } from '../../../../context/environments_context/use_environments_context';
-import { ApmMlDetectorType } from '../../../../../common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '../../../../../common/anomaly_detection/apm_ml_detectors';
import { usePreferredServiceAnomalyTimeseries } from '../../../../hooks/use_preferred_service_anomaly_timeseries';
import { useAnyOfApmParams } from '../../../../hooks/use_apm_params';
@@ -77,7 +77,7 @@ export function LatencyChart({ height, kuery }: Props) {
const { currentPeriod, previousPeriod } = latencyChartsData;
const preferredAnomalyTimeseries = usePreferredServiceAnomalyTimeseries(
- ApmMlDetectorType.txLatency
+ AnomalyDetectorType.txLatency
);
const anomalyTimeseriesColor = previousPeriod?.color as string;
diff --git a/x-pack/plugins/apm/public/hooks/use_preferred_service_anomaly_timeseries.ts b/x-pack/plugins/apm/public/hooks/use_preferred_service_anomaly_timeseries.ts
index e341ed511cfcb..4e86ba7cad6c0 100644
--- a/x-pack/plugins/apm/public/hooks/use_preferred_service_anomaly_timeseries.ts
+++ b/x-pack/plugins/apm/public/hooks/use_preferred_service_anomaly_timeseries.ts
@@ -5,14 +5,14 @@
* 2.0.
*/
-import { ApmMlDetectorType } from '../../common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '../../common/anomaly_detection/apm_ml_detectors';
import { getPreferredServiceAnomalyTimeseries } from '../../common/anomaly_detection/get_preferred_service_anomaly_timeseries';
import { useApmServiceContext } from '../context/apm_service/use_apm_service_context';
import { useEnvironmentsContext } from '../context/environments_context/use_environments_context';
import { useServiceAnomalyTimeseriesContext } from '../context/service_anomaly_timeseries/use_service_anomaly_timeseries_context';
export function usePreferredServiceAnomalyTimeseries(
- detectorType: ApmMlDetectorType
+ detectorType: AnomalyDetectorType
) {
const { allAnomalyTimeseries } = useServiceAnomalyTimeseriesContext();
diff --git a/x-pack/plugins/apm/server/lib/anomaly_detection/apm_ml_anomaly_query.ts b/x-pack/plugins/apm/server/lib/anomaly_detection/apm_ml_anomaly_query.ts
index ced20138e9739..babf30f75fecb 100644
--- a/x-pack/plugins/apm/server/lib/anomaly_detection/apm_ml_anomaly_query.ts
+++ b/x-pack/plugins/apm/server/lib/anomaly_detection/apm_ml_anomaly_query.ts
@@ -8,8 +8,8 @@
import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types';
import { termQuery, termsQuery } from '@kbn/observability-plugin/server';
import {
- ApmMlDetectorType,
- getApmMlDetectorIndex,
+ AnomalyDetectorType,
+ getAnomalyDetectorIndex,
} from '../../../common/anomaly_detection/apm_ml_detectors';
export function apmMlAnomalyQuery({
@@ -18,7 +18,7 @@ export function apmMlAnomalyQuery({
detectorTypes,
}: {
serviceName?: string;
- detectorTypes?: ApmMlDetectorType[];
+ detectorTypes?: AnomalyDetectorType[];
transactionType?: string;
}) {
return [
@@ -47,7 +47,8 @@ export function apmMlAnomalyQuery({
},
...termsQuery(
'detector_index',
- ...(detectorTypes?.map((type) => getApmMlDetectorIndex(type)) ?? [])
+ ...(detectorTypes?.map((type) => getAnomalyDetectorIndex(type)) ??
+ [])
),
...termQuery('partition_field_value', serviceName),
...termQuery('by_field_value', transactionType),
diff --git a/x-pack/plugins/apm/server/lib/anomaly_detection/get_anomaly_timeseries.ts b/x-pack/plugins/apm/server/lib/anomaly_detection/get_anomaly_timeseries.ts
index 50b8eef4001c9..4b128dae8f235 100644
--- a/x-pack/plugins/apm/server/lib/anomaly_detection/get_anomaly_timeseries.ts
+++ b/x-pack/plugins/apm/server/lib/anomaly_detection/get_anomaly_timeseries.ts
@@ -12,8 +12,8 @@ import { parseInterval } from '@kbn/data-plugin/common';
import { Environment } from '../../../common/environment_rt';
import { apmMlAnomalyQuery } from './apm_ml_anomaly_query';
import {
- ApmMlDetectorType,
- getApmMlDetectorType,
+ AnomalyDetectorType,
+ getAnomalyDetectorType,
} from '../../../common/anomaly_detection/apm_ml_detectors';
import type { ServiceAnomalyTimeseries } from '../../../common/anomaly_detection/service_anomaly_timeseries';
import { apmMlJobsQuery } from './apm_ml_jobs_query';
@@ -203,10 +203,10 @@ export async function getAnomalyTimeseries({
return undefined;
}
- const type = getApmMlDetectorType(Number(bucket.key.detectorIndex));
+ const type = getAnomalyDetectorType(Number(bucket.key.detectorIndex));
// ml failure rate is stored as 0-100, we calculate failure rate as 0-1
- const divider = type === ApmMlDetectorType.txFailureRate ? 100 : 1;
+ const divider = type === AnomalyDetectorType.txFailureRate ? 100 : 1;
return {
jobId,
diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.test.ts
index 28f08cdc72811..ec77562c1b07e 100644
--- a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.test.ts
+++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.test.ts
@@ -10,6 +10,10 @@ import { MlPluginSetup } from '@kbn/ml-plugin/server';
import * as GetServiceAnomalies from '../../../service_map/get_service_anomalies';
import { createRuleTypeMocks } from '../../test_utils';
import { ApmMlJob } from '../../../../../common/anomaly_detection/apm_ml_job';
+import {
+ AnomalyDetectorType,
+ getAnomalyDetectorIndex,
+} from '../../../../../common/anomaly_detection/apm_ml_detectors';
describe('Transaction duration anomaly alert', () => {
afterEach(() => {
@@ -24,7 +28,10 @@ describe('Transaction duration anomaly alert', () => {
ml: undefined,
});
- const params = { anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR };
+ const params = {
+ anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR,
+ anomalyDetectorTypes: [AnomalyDetectorType.txLatency],
+ };
await executor({ params });
@@ -52,7 +59,10 @@ describe('Transaction duration anomaly alert', () => {
ml,
});
- const params = { anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR };
+ const params = {
+ anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR,
+ anomalyDetectorTypes: [AnomalyDetectorType.txLatency],
+ };
await executor({ params });
expect(
@@ -87,7 +97,17 @@ describe('Transaction duration anomaly alert', () => {
{
doc_count: 1,
latest_score: {
- top: [{ metrics: { record_score: 0, job_id: '1' } }],
+ top: [
+ {
+ metrics: {
+ record_score: 0,
+ job_id: '1',
+ detector_index: getAnomalyDetectorIndex(
+ AnomalyDetectorType.txLatency
+ ),
+ },
+ },
+ ],
},
},
],
@@ -105,6 +125,7 @@ describe('Transaction duration anomaly alert', () => {
const params = {
anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR,
+ anomalyDetectorTypes: [AnomalyDetectorType.txLatency],
windowSize: 5,
windowUnit: 'm',
};
@@ -143,6 +164,7 @@ describe('Transaction duration anomaly alert', () => {
anomaly_groups: {
buckets: [
{
+ key: ['apm.anomaly', 'foo', 'development', 'type-foo'],
latest_score: {
top: [
{
@@ -151,12 +173,16 @@ describe('Transaction duration anomaly alert', () => {
job_id: '1',
partition_field_value: 'foo',
by_field_value: 'type-foo',
+ detector_index: getAnomalyDetectorIndex(
+ AnomalyDetectorType.txLatency
+ ),
},
},
],
},
},
{
+ key: ['apm.anomaly', 'bar', 'production', 'type-bar'],
latest_score: {
top: [
{
@@ -165,6 +191,9 @@ describe('Transaction duration anomaly alert', () => {
job_id: '2',
parttition_field_value: 'bar',
by_field_value: 'type-bar',
+ detector_index: getAnomalyDetectorIndex(
+ AnomalyDetectorType.txLatency
+ ),
},
},
],
@@ -185,6 +214,7 @@ describe('Transaction duration anomaly alert', () => {
const params = {
anomalySeverityType: ML_ANOMALY_SEVERITY.MINOR,
+ anomalyDetectorTypes: [AnomalyDetectorType.txLatency],
windowSize: 5,
windowUnit: 'm',
};
@@ -204,7 +234,7 @@ describe('Transaction duration anomaly alert', () => {
threshold: 'minor',
triggerValue: 'critical',
reason:
- 'critical anomaly with a score of 80 was detected in the last 5 mins for foo.',
+ 'critical latency anomaly with a score of 80, was detected in the last 5 mins for foo.',
viewInAppUrl:
'http://localhost:5601/eyr/app/apm/services/foo?transactionType=type-foo&environment=development',
alertDetailsUrl: 'mockedAlertsLocator > getLocation',
diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts
index 407b128c03240..ba7d803f91f90 100644
--- a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts
+++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts
@@ -15,7 +15,7 @@ import {
observabilityPaths,
ProcessorEvent,
} from '@kbn/observability-plugin/common';
-import { termQuery } from '@kbn/observability-plugin/server';
+import { termQuery, termsQuery } from '@kbn/observability-plugin/server';
import {
ALERT_EVALUATION_THRESHOLD,
ALERT_EVALUATION_VALUE,
@@ -28,10 +28,6 @@ import { addSpaceIdToPath } from '@kbn/spaces-plugin/common';
import { asyncForEach } from '@kbn/std';
import { compact } from 'lodash';
import { getSeverity } from '../../../../../common/anomaly_detection';
-import {
- ApmMlDetectorType,
- getApmMlDetectorIndex,
-} from '../../../../../common/anomaly_detection/apm_ml_detectors';
import {
PROCESSOR_EVENT,
SERVICE_ENVIRONMENT,
@@ -58,6 +54,10 @@ import {
} from '../../register_apm_rule_types';
import { getServiceGroupFieldsForAnomaly } from './get_service_group_fields_for_anomaly';
import { anomalyParamsSchema } from '../../../../../common/rules/schema';
+import {
+ getAnomalyDetectorIndex,
+ getAnomalyDetectorType,
+} from '../../../../../common/anomaly_detection/apm_ml_detectors';
const ruleTypeConfig = RULE_TYPES_CONFIG[ApmRuleType.Anomaly];
@@ -188,9 +188,11 @@ export function registerAnomalyRuleType({
...termQuery('by_field_value', ruleParams.transactionType, {
queryEmptyString: false,
}),
- ...termQuery(
+ ...termsQuery(
'detector_index',
- getApmMlDetectorIndex(ApmMlDetectorType.txLatency)
+ ...(ruleParams.anomalyDetectorTypes?.map((type) =>
+ getAnomalyDetectorIndex(type)
+ ) ?? [])
),
] as QueryDslQueryContainer[],
},
@@ -202,6 +204,7 @@ export function registerAnomalyRuleType({
{ field: 'partition_field_value' },
{ field: 'by_field_value' },
{ field: 'job_id' },
+ { field: 'detector_index' },
],
size: 1000,
order: { 'latest_score.record_score': 'desc' as const },
@@ -216,6 +219,7 @@ export function registerAnomalyRuleType({
{ field: 'job_id' },
{ field: 'timestamp' },
{ field: 'bucket_span' },
+ { field: 'detector_index' },
] as const),
sort: {
timestamp: 'desc' as const,
@@ -250,8 +254,12 @@ export function registerAnomalyRuleType({
transactionType: latest.by_field_value as string,
environment: job.environment,
score: latest.record_score as number,
+ detectorType: getAnomalyDetectorType(
+ latest.detector_index as number
+ ),
timestamp: Date.parse(latest.timestamp as string),
bucketSpan: latest.bucket_span as number,
+ bucketKey: bucket.key,
};
})
.filter((anomaly) =>
@@ -264,8 +272,10 @@ export function registerAnomalyRuleType({
environment,
transactionType,
score,
+ detectorType,
timestamp,
bucketSpan,
+ bucketKey,
} = anomaly;
const eventSourceFields = await getServiceGroupFieldsForAnomaly({
@@ -281,21 +291,15 @@ export function registerAnomalyRuleType({
const severityLevel = getSeverity(score);
const reasonMessage = formatAnomalyReason({
- measured: score,
+ anomalyScore: score,
serviceName,
severityLevel,
windowSize: params.windowSize,
windowUnit: params.windowUnit,
+ detectorType,
});
- const alertId = [
- ApmRuleType.Anomaly,
- serviceName,
- environment,
- transactionType,
- ]
- .filter((name) => name)
- .join('_');
+ const alertId = bucketKey.join('_');
const alert = services.alertWithLifecycle({
id: alertId,
diff --git a/x-pack/plugins/apm/server/routes/assistant_functions/get_apm_service_summary/index.ts b/x-pack/plugins/apm/server/routes/assistant_functions/get_apm_service_summary/index.ts
index 64035f0373cfb..d794cb14251b0 100644
--- a/x-pack/plugins/apm/server/routes/assistant_functions/get_apm_service_summary/index.ts
+++ b/x-pack/plugins/apm/server/routes/assistant_functions/get_apm_service_summary/index.ts
@@ -18,8 +18,8 @@ import {
import * as t from 'io-ts';
import { compact, keyBy } from 'lodash';
import {
- ApmMlDetectorType,
- getApmMlDetectorType,
+ AnomalyDetectorType,
+ getAnomalyDetectorType,
} from '../../../../common/anomaly_detection/apm_ml_detectors';
import { ENVIRONMENT_ALL } from '../../../../common/environment_filter_values';
import { Environment } from '../../../../common/environment_rt';
@@ -184,10 +184,10 @@ async function getAnomalies({
return undefined;
}
- const type = getApmMlDetectorType(Number(bucket.key.detectorIndex));
+ const type = getAnomalyDetectorType(Number(bucket.key.detectorIndex));
// ml failure rate is stored as 0-100, we calculate failure rate as 0-1
- const divider = type === ApmMlDetectorType.txFailureRate ? 100 : 1;
+ const divider = type === AnomalyDetectorType.txFailureRate ? 100 : 1;
const metrics = bucket.record_scores.top_anomaly.top[0]?.metrics;
diff --git a/x-pack/plugins/apm/server/routes/service_map/get_service_anomalies.ts b/x-pack/plugins/apm/server/routes/service_map/get_service_anomalies.ts
index 182820a86ea08..d46c43d258166 100644
--- a/x-pack/plugins/apm/server/routes/service_map/get_service_anomalies.ts
+++ b/x-pack/plugins/apm/server/routes/service_map/get_service_anomalies.ts
@@ -19,7 +19,7 @@ import { withApmSpan } from '../../utils/with_apm_span';
import { getMlJobsWithAPMGroup } from '../../lib/anomaly_detection/get_ml_jobs_with_apm_group';
import { MlClient } from '../../lib/helpers/get_ml_client';
import { apmMlAnomalyQuery } from '../../lib/anomaly_detection/apm_ml_anomaly_query';
-import { ApmMlDetectorType } from '../../../common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '../../../common/anomaly_detection/apm_ml_detectors';
export const DEFAULT_ANOMALIES: ServiceAnomaliesResponse = {
mlJobIds: [],
@@ -52,7 +52,7 @@ export async function getServiceAnomalies({
bool: {
filter: [
...apmMlAnomalyQuery({
- detectorTypes: [ApmMlDetectorType.txLatency],
+ detectorTypes: [AnomalyDetectorType.txLatency],
}),
...rangeQuery(
Math.min(end - 30 * 60 * 1000, start),
diff --git a/x-pack/plugins/cases/server/features.ts b/x-pack/plugins/cases/server/features.ts
index 62276ad4fcc30..9f8bbdabf0c8e 100644
--- a/x-pack/plugins/cases/server/features.ts
+++ b/x-pack/plugins/cases/server/features.ts
@@ -102,7 +102,7 @@ export const getCasesKibanaFeature = (): KibanaFeatureConfig => {
},
{
name: i18n.translate('xpack.cases.features.casesSettingsSubFeatureName', {
- defaultMessage: 'Case Settings',
+ defaultMessage: 'Case settings',
}),
privilegeGroups: [
{
@@ -111,7 +111,7 @@ export const getCasesKibanaFeature = (): KibanaFeatureConfig => {
{
id: 'cases_settings',
name: i18n.translate('xpack.cases.features.casesSettingsSubFeatureDetails', {
- defaultMessage: 'Edit Case Settings',
+ defaultMessage: 'Edit case settings',
}),
includeIn: 'all',
savedObject: {
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/connectors.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/connectors.tsx
index b5b87aa7e2bc3..0d797329093c8 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/connectors.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/connectors.tsx
@@ -24,6 +24,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
import { INGESTION_METHOD_IDS } from '../../../../../common/constants';
import { generateEncodedPath } from '../../../shared/encode_path_params';
+import { HttpLogic } from '../../../shared/http';
import { KibanaLogic } from '../../../shared/kibana';
import { handlePageChange } from '../../../shared/table_pagination';
import {
@@ -35,6 +36,8 @@ import {
import { EnterpriseSearchContentPageTemplate } from '../layout';
import { SelectConnector } from '../new_index/select_connector/select_connector';
+import { CannotConnect } from '../search_index/components/cannot_connect';
+
import { ConnectorStats } from './connector_stats';
import { ConnectorsLogic } from './connectors_logic';
import { ConnectorsTable } from './connectors_table';
@@ -52,6 +55,7 @@ export interface ConnectorsProps {
export const Connectors: React.FC = ({ isCrawler }) => {
const { fetchConnectors, onPaginate, setIsFirstRequest } = useActions(ConnectorsLogic);
const { data, isLoading, searchParams, isEmpty, connectors } = useValues(ConnectorsLogic);
+ const { errorConnectingMessage } = useValues(HttpLogic);
const [searchQuery, setSearchValue] = useState('');
useEffect(() => {
@@ -122,6 +126,7 @@ export const Connectors: React.FC = ({ isCrawler }) => {
]
: [
= ({ isCrawler }) => {
],
}}
>
+ {Boolean(errorConnectingMessage) && (
+ <>
+
+
+ >
+ )}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/crawler_empty_state.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/crawler_empty_state.tsx
index 83395c2cf6e5d..d929cf6cbffa5 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/crawler_empty_state.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/connectors/crawler_empty_state.tsx
@@ -6,14 +6,18 @@
*/
import React from 'react';
+import { useValues } from 'kea';
+
import { EuiButton, EuiEmptyPrompt, EuiPanel } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { generateEncodedPath } from '../../../shared/encode_path_params';
+import { HttpLogic } from '../../../shared/http';
import { KibanaLogic } from '../../../shared/kibana';
import { NEW_INDEX_METHOD_PATH } from '../../routes';
export const CrawlerEmptyState: React.FC = () => {
+ const { errorConnectingMessage } = useValues(HttpLogic);
return (
{
actions={
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
index 8b77da27959d0..9e7702379a9a8 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/method_crawler/method_crawler.tsx
@@ -13,6 +13,7 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import { Status } from '../../../../../../common/types/api';
import { docLinks } from '../../../../shared/doc_links';
+import { HttpLogic } from '../../../../shared/http';
import { KibanaLogic } from '../../../../shared/kibana';
import { LicensingLogic } from '../../../../shared/licensing';
import {
@@ -20,6 +21,7 @@ import {
LICENSING_FEATURE,
} from '../../../../shared/licensing_callout/licensing_callout';
import { CreateCrawlerIndexApiLogic } from '../../../api/crawler/create_crawler_index_api_logic';
+import { CannotConnect } from '../../search_index/components/cannot_connect';
import { NewSearchIndexTemplate } from '../new_search_index_template';
import { MethodCrawlerLogic } from './method_crawler_logic';
@@ -29,6 +31,7 @@ export const MethodCrawler: React.FC = () => {
const { makeRequest } = useActions(CreateCrawlerIndexApiLogic);
const { isCloud } = useValues(KibanaLogic);
const { hasPlatinumLicense } = useValues(LicensingLogic);
+ const { errorConnectingMessage } = useValues(HttpLogic);
const isGated = !isCloud && !hasPlatinumLicense;
@@ -41,11 +44,16 @@ export const MethodCrawler: React.FC = () => {
)}
+ {Boolean(errorConnectingMessage) && (
+
+
+
+ )}
makeRequest({ indexName, language })}
- disabled={isGated}
+ disabled={isGated || Boolean(errorConnectingMessage)}
buttonLoading={status === Status.LOADING}
docsUrl={docLinks.crawlerOverview}
/>
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/new_search_index_page.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/new_search_index_page.tsx
index a559f42131c82..5ad862d9befd9 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/new_search_index_page.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/new_search_index_page.tsx
@@ -147,7 +147,9 @@ export const NewSearchIndexPage: React.FC = () => {
{getTitle(type, serviceType)}
- {getConnectorModeBadge(isNative)}
+ {type === INGESTION_METHOD_IDS.CONNECTOR && (
+ {getConnectorModeBadge(isNative)}
+ )}
),
}}
diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/select_connector/select_connector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/select_connector/select_connector.tsx
index 8c75fa9a4b1b6..092c662b91e50 100644
--- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/select_connector/select_connector.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/select_connector/select_connector.tsx
@@ -97,7 +97,11 @@ export const SelectConnector: React.FC = () => {
a.name.localeCompare(b.name)
)
: CONNECTORS.sort((a, b) => a.name.localeCompare(b.name));
- const connectors = [...nativeConnectors, ...nonNativeConnectors];
+ const connectors =
+ !hasNativeAccess || useClientsFilter
+ ? CONNECTORS.sort((a, b) => a.name.localeCompare(b.name))
+ : [...nativeConnectors, ...nonNativeConnectors];
+
return connectors
.filter((connector) => (showBeta ? true : !connector.isBeta))
.filter((connector) => (showTechPreview ? true : !connector.isTechPreview))
@@ -105,7 +109,7 @@ export const SelectConnector: React.FC = () => {
.filter((connector) =>
searchTerm ? connector.name.toLowerCase().includes(searchTerm.toLowerCase()) : true
);
- }, [showBeta, showTechPreview, useNativeFilter, searchTerm]);
+ }, [hasNativeAccess, useClientsFilter, showBeta, showTechPreview, useNativeFilter, searchTerm]);
const { euiTheme } = useEuiTheme();
return (
@@ -140,40 +144,68 @@ export const SelectConnector: React.FC = () => {
+ {hasNativeAccess && (
+ setSelectedConnectorFilter(null)}
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.selectConnector.allConnectorsLabel',
+ { defaultMessage: 'All connectors' }
+ )}
+
+ )}
+
+ {hasNativeAccess && (
+ connector.isNative).length}
+ isSelected={useNativeFilter}
+ onClick={() =>
+ setSelectedConnectorFilter(!useNativeFilter ? CONNECTOR_NATIVE_TYPE : null)
+ }
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.selectConnector.nativeLabel',
+ {
+ defaultMessage: 'Native connectors',
+ }
+ )}
+
+ )}
+
setSelectedConnectorFilter(null)}
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.selectConnector.allConnectorsLabel',
- { defaultMessage: 'All connectors' }
- )}
-
- connector.isNative).length}
- isSelected={useNativeFilter}
- onClick={() =>
- setSelectedConnectorFilter(!useNativeFilter ? CONNECTOR_NATIVE_TYPE : null)
- }
- >
- {i18n.translate(
- 'xpack.enterpriseSearch.content.indices.selectConnector.nativeLabel',
- { defaultMessage: 'Native connectors' }
- )}
-
-
setSelectedConnectorFilter(!useClientsFilter ? CONNECTOR_CLIENTS_TYPE : null)
}
>
{i18n.translate(
'xpack.enterpriseSearch.content.indices.selectConnector.connectorClients',
- { defaultMessage: 'Connector clients' }
+ {
+ defaultMessage: 'Connector clients',
+ }
)}
+ {!hasNativeAccess && (
+ connector.isNative).length}
+ isSelected={useNativeFilter}
+ onClick={() =>
+ setSelectedConnectorFilter(!useNativeFilter ? CONNECTOR_NATIVE_TYPE : null)
+ }
+ >
+ {i18n.translate(
+ 'xpack.enterpriseSearch.content.indices.selectConnector.nativeLabel',
+ {
+ defaultMessage: 'Native connectors',
+ }
+ )}
+
+ )}
diff --git a/x-pack/plugins/fleet/common/constants/fleet_server_policy_config.ts b/x-pack/plugins/fleet/common/constants/fleet_server_policy_config.ts
index 5ee9ab858c9ab..db8cacb91d6d7 100644
--- a/x-pack/plugins/fleet/common/constants/fleet_server_policy_config.ts
+++ b/x-pack/plugins/fleet/common/constants/fleet_server_policy_config.ts
@@ -10,3 +10,5 @@ export const FLEET_SERVER_HOST_SAVED_OBJECT_TYPE = 'fleet-fleet-server-host';
export const DEFAULT_FLEET_SERVER_HOST_ID = 'fleet-default-fleet-server-host';
export const FLEET_PROXY_SAVED_OBJECT_TYPE = 'fleet-proxy';
+
+export const PROXY_URL_REGEX = /^(http[s]?|socks5):\/\/[^\s$.?#].[^\s]*$/gm;
diff --git a/x-pack/plugins/fleet/common/constants/secrets.ts b/x-pack/plugins/fleet/common/constants/secrets.ts
index 7626c36f5c902..13bc987bf72b3 100644
--- a/x-pack/plugins/fleet/common/constants/secrets.ts
+++ b/x-pack/plugins/fleet/common/constants/secrets.ts
@@ -8,3 +8,4 @@
export const SECRETS_ENDPOINT_PATH = '/_fleet/secret';
export const SECRETS_MINIMUM_FLEET_SERVER_VERSION = '8.10.0';
+export const OUTPUT_SECRETS_MINIMUM_FLEET_SERVER_VERSION = '8.12.0';
diff --git a/x-pack/plugins/fleet/common/types/models/settings.ts b/x-pack/plugins/fleet/common/types/models/settings.ts
index e4175ae3bbfaf..bb44724d5c54e 100644
--- a/x-pack/plugins/fleet/common/types/models/settings.ts
+++ b/x-pack/plugins/fleet/common/types/models/settings.ts
@@ -15,4 +15,5 @@ export interface Settings extends BaseSettings {
id: string;
preconfigured_fields?: Array<'fleet_server_hosts'>;
secret_storage_requirements_met?: boolean;
+ output_secret_storage_requirements_met?: boolean;
}
diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts
index 5101c4d93fd39..53e9461346106 100644
--- a/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts
+++ b/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts
@@ -174,8 +174,9 @@ describe('Outputs', () => {
cy.wait('@saveOutput').then((interception) => {
const responseBody = interception.response?.body;
cy.visit(`/app/fleet/settings/outputs/${responseBody?.item?.id}`);
- expect(responseBody?.item.service_token).to.equal(undefined);
- expect(responseBody?.item.secrets.service_token.id).not.to.equal(undefined);
+ // There is no Fleet server, therefore the service token should have been saved in plain text.
+ expect(responseBody?.item.service_token).to.equal('service_token');
+ expect(responseBody?.item.secrets).to.equal(undefined);
});
cy.get('[placeholder="Specify host URL"').should('have.value', 'https://localhost:5000');
diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/index.tsx
index 45869a07eba2a..fd615eecbe298 100644
--- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/index.tsx
+++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/index.tsx
@@ -25,7 +25,7 @@ import { FLYOUT_MAX_WIDTH } from '../../constants';
import type { FleetProxy } from '../../../../types';
import { TextInput, TextAreaInput } from '../form';
-import { useFleetProxyForm } from './user_fleet_proxy_form';
+import { useFleetProxyForm } from './use_fleet_proxy_form';
export interface FleetProxyFlyoutProps {
onClose: () => void;
diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx
new file mode 100644
index 0000000000000..ae30df1a91ff5
--- /dev/null
+++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.test.tsx
@@ -0,0 +1,46 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { createFleetTestRendererMock } from '../../../../../../mock';
+
+import { useFleetProxyForm } from './use_fleet_proxy_form';
+
+describe('useFleetProxyForm', () => {
+ describe('validate url', () => {
+ it('should accept http url', async () => {
+ const testRenderer = createFleetTestRendererMock();
+ const { result } = testRenderer.renderHook(() => useFleetProxyForm(undefined, () => {}));
+ result.current.inputs.urlInput.setValue('http://test.fr:8080');
+ expect(result.current.inputs.urlInput.validate()).toBeTruthy();
+ expect(result.current.inputs.urlInput.errors).toBeUndefined();
+ });
+
+ it('should accept https url', async () => {
+ const testRenderer = createFleetTestRendererMock();
+ const { result } = testRenderer.renderHook(() => useFleetProxyForm(undefined, () => {}));
+ result.current.inputs.urlInput.setValue('https://test.fr:8080');
+ expect(result.current.inputs.urlInput.validate()).toBeTruthy();
+ expect(result.current.inputs.urlInput.errors).toBeUndefined();
+ });
+ it('should accept socks5 url', async () => {
+ const testRenderer = createFleetTestRendererMock();
+ const { result } = testRenderer.renderHook(() => useFleetProxyForm(undefined, () => {}));
+ result.current.inputs.urlInput.setValue('socks5://test.fr:8080');
+ expect(result.current.inputs.urlInput.validate()).toBeTruthy();
+ expect(result.current.inputs.urlInput.errors).toBeUndefined();
+ });
+
+ it('should not accept invalid url', async () => {
+ const testRenderer = createFleetTestRendererMock();
+ const { result } = testRenderer.renderHook(() => useFleetProxyForm(undefined, () => {}));
+ result.current.inputs.urlInput.setValue('iamnotavaliderror');
+ expect(result.current.inputs.urlInput.validate()).toBeFalsy();
+
+ expect(result.current.inputs.urlInput.errors).toEqual(['Invalid URL']);
+ });
+ });
+});
diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/user_fleet_proxy_form.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.tsx
similarity index 98%
rename from x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/user_fleet_proxy_form.tsx
rename to x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.tsx
index 102e4cf3343ce..94b845bb475fa 100644
--- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/user_fleet_proxy_form.tsx
+++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_fleet_proxy_flyout/use_fleet_proxy_form.tsx
@@ -20,8 +20,7 @@ import {
import { useConfirmModal } from '../../hooks/use_confirm_modal';
import type { FleetProxy } from '../../../../types';
-
-const URL_REGEX = /^(http)(s)?:\/\/[^\s$.?#].[^\s]*$/gm;
+import { PROXY_URL_REGEX } from '../../../../../../../common/constants';
const ConfirmTitle = () => (
({
has_seen_add_data_notice: { type: 'boolean', index: false },
prerelease_integrations_enabled: { type: 'boolean' },
secret_storage_requirements_met: { type: 'boolean' },
+ output_secret_storage_requirements_met: { type: 'boolean' },
},
},
migrations: {
@@ -111,6 +113,9 @@ const getSavedObjectTypes = (): { [key: string]: SavedObjectsType } => ({
'7.13.0': migrateSettingsToV7130,
'8.6.0': migrateSettingsToV860,
},
+ modelVersions: {
+ 1: settingsV1,
+ },
},
[AGENT_POLICY_SAVED_OBJECT_TYPE]: {
name: AGENT_POLICY_SAVED_OBJECT_TYPE,
diff --git a/x-pack/plugins/fleet/server/saved_objects/model_versions/v1.ts b/x-pack/plugins/fleet/server/saved_objects/model_versions/v1.ts
new file mode 100644
index 0000000000000..585a01a534b6d
--- /dev/null
+++ b/x-pack/plugins/fleet/server/saved_objects/model_versions/v1.ts
@@ -0,0 +1,19 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type { SavedObjectsModelVersion } from '@kbn/core-saved-objects-server';
+
+export const settingsV1: SavedObjectsModelVersion = {
+ changes: [
+ {
+ type: 'mappings_addition',
+ addedMappings: {
+ output_secret_storage_requirements_met: { type: 'boolean' },
+ },
+ },
+ ],
+};
diff --git a/x-pack/plugins/fleet/server/services/output.test.ts b/x-pack/plugins/fleet/server/services/output.test.ts
index 8c2fee196d8d8..48b8aaa808112 100644
--- a/x-pack/plugins/fleet/server/services/output.test.ts
+++ b/x-pack/plugins/fleet/server/services/output.test.ts
@@ -289,556 +289,599 @@ describe('Output Service', () => {
});
describe('create', () => {
- it('works with a predefined id', async () => {
- const soClient = getMockedSoClient();
-
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
-
- expect(soClient.create).toBeCalled();
-
- // ID should always be the same for a predefined id
- expect(soClient.create.mock.calls[0][2]?.id).toEqual(outputIdToUuid('output-test'));
- expect((soClient.create.mock.calls[0][1] as OutputSOAttributes).output_id).toEqual(
- 'output-test'
- );
- });
-
- it('should create a new default output if none exists before', async () => {
- const soClient = getMockedSoClient();
+ describe('elasticsearch output', () => {
+ it('works with a predefined id', async () => {
+ const soClient = getMockedSoClient();
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test' }
+ );
- expect(soClient.update).not.toBeCalled();
- });
+ expect(soClient.create).toBeCalled();
- it('should update existing default output when creating a new default output', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'existing-default-output',
+ // ID should always be the same for a predefined id
+ expect(soClient.create.mock.calls[0][2]?.id).toEqual(outputIdToUuid('output-test'));
+ expect((soClient.create.mock.calls[0][1] as OutputSOAttributes).output_id).toEqual(
+ 'output-test'
+ );
});
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
+ it('should create a new default output if none exists before', async () => {
+ const soClient = getMockedSoClient();
- expect(soClient.update).toBeCalledTimes(1);
- expect(soClient.update).toBeCalledWith(
- expect.anything(),
- outputIdToUuid('existing-default-output'),
- { is_default: false }
- );
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test' }
+ );
- it('should create a new default monitoring output if none exists before', async () => {
- const soClient = getMockedSoClient();
+ expect(soClient.update).not.toBeCalled();
+ });
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: true,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
+ it('should update existing default output when creating a new default output', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'existing-default-output',
+ });
- expect(soClient.update).not.toBeCalled();
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test' }
+ );
- it('should update existing default monitoring output when creating a new default output', async () => {
- const soClient = getMockedSoClient({
- defaultOutputMonitoringId: 'existing-default-monitoring-output',
+ expect(soClient.update).toBeCalledTimes(1);
+ expect(soClient.update).toBeCalledWith(
+ expect.anything(),
+ outputIdToUuid('existing-default-output'),
+ { is_default: false }
+ );
});
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: true,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
+ it('should create a new default monitoring output if none exists before', async () => {
+ const soClient = getMockedSoClient();
- expect(soClient.update).toBeCalledTimes(1);
- expect(soClient.update).toBeCalledWith(
- expect.anything(),
- outputIdToUuid('existing-default-monitoring-output'),
- { is_default_monitoring: false }
- );
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: true,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test' }
+ );
- // With preconfigured outputs
- it('should throw when an existing preconfigured default output and creating a new default output outside of preconfiguration', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'existing-preconfigured-default-output',
+ expect(soClient.update).not.toBeCalled();
});
- await expect(
- outputService.create(
+ it('should update existing default monitoring output when creating a new default output', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputMonitoringId: 'existing-default-monitoring-output',
+ });
+
+ await outputService.create(
soClient,
esClientMock,
{
is_default: true,
- is_default_monitoring: false,
+ is_default_monitoring: true,
name: 'Test',
type: 'elasticsearch',
},
{ id: 'output-test' }
- )
- ).rejects.toThrow(
- `Preconfigured output existing-preconfigured-default-output is_default cannot be updated outside of kibana config file.`
- );
- });
+ );
- it('should update existing default preconfigured monitoring output when creating a new default output from preconfiguration', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'existing-preconfigured-default-output',
+ expect(soClient.update).toBeCalledTimes(1);
+ expect(soClient.update).toBeCalledWith(
+ expect.anything(),
+ outputIdToUuid('existing-default-monitoring-output'),
+ { is_default_monitoring: false }
+ );
});
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: true,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test', fromPreconfiguration: true }
- );
-
- expect(soClient.update).toBeCalledTimes(1);
- expect(soClient.update).toBeCalledWith(
- expect.anything(),
- outputIdToUuid('existing-preconfigured-default-output'),
- { is_default: false }
- );
- });
-
- // With logstash output
- it('should throw if encryptedSavedObject is not configured', async () => {
- const soClient = getMockedSoClient({});
+ it('should call audit logger', async () => {
+ const soClient = getMockedSoClient();
- await expect(
- outputService.create(
+ await outputService.create(
soClient,
esClientMock,
{
is_default: false,
- is_default_monitoring: false,
+ is_default_monitoring: true,
name: 'Test',
- type: 'logstash',
+ type: 'elasticsearch',
},
{ id: 'output-test' }
- )
- ).rejects.toThrow(`logstash output needs encrypted saved object api key to be set`);
- });
+ );
- it('should throw if encryptedSavedObject is not configured, kafka', async () => {
- const soClient = getMockedSoClient({});
+ expect(mockedAuditLoggingService.writeCustomSoAuditLog).toHaveBeenCalledWith({
+ action: 'create',
+ id: outputIdToUuid('output-test'),
+ savedObjectType: OUTPUT_SAVED_OBJECT_TYPE,
+ });
+ });
- await expect(
- outputService.create(
+ it('should set preset: balanced by default when creating a new ES output', async () => {
+ const soClient = getMockedSoClient({});
+
+ await outputService.create(
soClient,
esClientMock,
{
is_default: false,
is_default_monitoring: false,
name: 'Test',
- type: 'kafka',
- topics: [{ topic: 'test' }],
+ type: 'elasticsearch',
},
- { id: 'output-test' }
- )
- ).rejects.toThrow(`kafka output needs encrypted saved object api key to be set`);
- });
-
- it('should work if encryptedSavedObject is configured', async () => {
- const soClient = getMockedSoClient({});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'logstash',
- },
- { id: 'output-test' }
- );
- expect(soClient.create).toBeCalled();
- });
+ {
+ id: 'output-1',
+ }
+ );
- it('Should update fleet server policies with data_output_id=default_output_id if a new default logstash output is created', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ expect(soClient.create).toBeCalledWith(
+ OUTPUT_SAVED_OBJECT_TYPE,
+ // Preset should be inferred as balanced if not provided
+ expect.objectContaining({
+ preset: 'balanced',
+ }),
+ expect.anything()
+ );
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(
- mockedAgentPolicyWithFleetServerResolvedValue
- );
- mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'logstash',
- },
- { id: 'output-1' }
- );
+ it('should set preset: custom when config_yaml contains a reserved key', async () => {
+ const soClient = getMockedSoClient({});
- expect(mockedAgentPolicyService.update).toBeCalledWith(
- expect.anything(),
- expect.anything(),
- 'fleet_server_policy',
- { data_output_id: 'output-test' },
- { force: false }
- );
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ config_yaml: `
+ bulk_max_size: 1000
+ `,
+ },
+ {
+ id: 'output-1',
+ }
+ );
- it('should update synthetics policies with data_output_id=default_output_id if a new default logstash output is created', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ expect(soClient.create).toBeCalledWith(
+ OUTPUT_SAVED_OBJECT_TYPE,
+ expect.objectContaining({
+ preset: 'custom',
+ }),
+ expect.anything()
+ );
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue);
- mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'logstash',
- },
- { id: 'output-1' }
- );
+ it('should honor preset: custom in attributes', async () => {
+ const soClient = getMockedSoClient({});
- expect(mockedAgentPolicyService.update).toBeCalledWith(
- expect.anything(),
- expect.anything(),
- 'synthetics_policy',
- { data_output_id: 'output-test' },
- { force: false }
- );
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ config_yaml: `
+ some_non_reserved_key: foo
+ `,
+ preset: 'custom',
+ },
+ {
+ id: 'output-1',
+ }
+ );
- it('Should allow to create a new logstash output with no errors if is not set as default', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ expect(soClient.create).toBeCalledWith(
+ OUTPUT_SAVED_OBJECT_TYPE,
+ expect.objectContaining({
+ preset: 'custom',
+ }),
+ expect.anything()
+ );
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(
- mockedAgentPolicyWithFleetServerResolvedValue
- );
- mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'logstash',
- },
- { id: 'output-1' }
- );
- });
-
- it('should call audit logger', async () => {
- const soClient = getMockedSoClient();
-
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: true,
- name: 'Test',
- type: 'elasticsearch',
- },
- { id: 'output-test' }
- );
+ it('should throw an error when preset: balanced is provided but config_yaml contains a reserved key', async () => {
+ const soClient = getMockedSoClient({});
- expect(mockedAuditLoggingService.writeCustomSoAuditLog).toHaveBeenCalledWith({
- action: 'create',
- id: outputIdToUuid('output-test'),
- savedObjectType: OUTPUT_SAVED_OBJECT_TYPE,
- });
- });
+ expect(
+ outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ config_yaml: `
+ bulk_max_size: 1000
+ `,
+ preset: 'balanced',
+ },
+ {
+ id: 'output-1',
+ }
+ )
+ ).rejects.toThrow(
+ `preset cannot be balanced when config_yaml contains one of ${RESERVED_CONFIG_YML_KEYS.join(
+ ', '
+ )}`
+ );
+
+ expect(soClient.create).not.toBeCalled();
+ });
+
+ // With preconfigured outputs
+ it('should throw when an existing preconfigured default output and creating a new default output outside of preconfiguration', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'existing-preconfigured-default-output',
+ });
- // With kafka output
- it('Should update fleet server policies with data_output_id=default_output_id if a new default kafka output is created', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ await expect(
+ outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test' }
+ )
+ ).rejects.toThrow(
+ `Preconfigured output existing-preconfigured-default-output is_default cannot be updated outside of kibana config file.`
+ );
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(
- mockedAgentPolicyWithFleetServerResolvedValue
- );
- mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'kafka',
- },
- { id: 'output-1' }
- );
+ it('should update existing default preconfigured monitoring output when creating a new default output from preconfiguration', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'existing-preconfigured-default-output',
+ });
- expect(mockedAgentPolicyService.update).toBeCalledWith(
- expect.anything(),
- expect.anything(),
- 'fleet_server_policy',
- { data_output_id: 'output-test' },
- { force: false }
- );
- });
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: true,
+ name: 'Test',
+ type: 'elasticsearch',
+ },
+ { id: 'output-test', fromPreconfiguration: true }
+ );
- it('Should update synthetics policies with data_output_id=default_output_id if a new default kafka output is created', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ expect(soClient.update).toBeCalledTimes(1);
+ expect(soClient.update).toBeCalledWith(
+ expect.anything(),
+ outputIdToUuid('existing-preconfigured-default-output'),
+ { is_default: false }
+ );
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(mockedAgentPolicyWithSyntheticsResolvedValue);
- mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true);
+ });
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: true,
- is_default_monitoring: false,
- name: 'Test',
- type: 'kafka',
- },
- { id: 'output-1' }
- );
+ describe('logstash output', () => {
+ it('should throw if encryptedSavedObject is not configured', async () => {
+ const soClient = getMockedSoClient({});
- expect(mockedAgentPolicyService.update).toBeCalledWith(
- expect.anything(),
- expect.anything(),
- 'synthetics_policy',
- { data_output_id: 'output-test' },
- { force: false }
- );
- });
+ await expect(
+ outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'logstash',
+ },
+ { id: 'output-test' }
+ )
+ ).rejects.toThrow(`logstash output needs encrypted saved object api key to be set`);
+ });
- it('Should allow to create a new kafka output with no errors if is not set as default', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ it('should work if encryptedSavedObject is configured', async () => {
+ const soClient = getMockedSoClient({});
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'logstash',
+ },
+ { id: 'output-test' }
+ );
+ expect(soClient.create).toBeCalled();
});
- mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
- canEncrypt: true,
- } as any);
- mockedAgentPolicyService.list.mockResolvedValue(
- mockedAgentPolicyWithFleetServerResolvedValue
- );
- mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'kafka',
- },
- { id: 'output-1' }
- );
- });
+ it('should update fleet server policies with data_output_id=default_output_id if a new default logstash output is created', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithFleetServerResolvedValue
+ );
+ mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
+
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'logstash',
+ },
+ { id: 'output-1' }
+ );
- it('should not throw when a remote es output is attempted to be created as default data output', async () => {
- const soClient = getMockedSoClient({
- defaultOutputId: 'output-test',
+ expect(mockedAgentPolicyService.update).toBeCalledWith(
+ expect.anything(),
+ expect.anything(),
+ 'fleet_server_policy',
+ { data_output_id: 'output-test' },
+ { force: false }
+ );
});
- expect(
- outputService.create(
+ it('should update synthetics policies with data_output_id=default_output_id if a new default logstash output is created', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithSyntheticsResolvedValue
+ );
+ mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true);
+
+ await outputService.create(
soClient,
esClientMock,
{
is_default: true,
is_default_monitoring: false,
name: 'Test',
- type: 'remote_elasticsearch',
+ type: 'logstash',
},
{ id: 'output-1' }
- )
- ).resolves.not.toThrow();
- });
+ );
- it('should set preset: balanced by default when creating a new ES output', async () => {
- const soClient = getMockedSoClient({});
+ expect(mockedAgentPolicyService.update).toBeCalledWith(
+ expect.anything(),
+ expect.anything(),
+ 'synthetics_policy',
+ { data_output_id: 'output-test' },
+ { force: false }
+ );
+ });
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- },
- {
- id: 'output-1',
- }
- );
+ it('should allow to create a new logstash output with no errors if is not set as default', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithFleetServerResolvedValue
+ );
+ mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
+
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'logstash',
+ },
+ { id: 'output-1' }
+ );
+ });
- expect(soClient.create).toBeCalledWith(
- OUTPUT_SAVED_OBJECT_TYPE,
- // Preset should be inferred as balanced if not provided
- expect.objectContaining({
- preset: 'balanced',
- }),
- expect.anything()
- );
+ it('should store output secrets as plain text if disabled', async () => {
+ const soClient = getMockedSoClient({});
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'logstash',
+ ssl: {
+ certificate: 'xxx',
+ },
+ secrets: {
+ ssl: {
+ key: 'secretKey',
+ },
+ },
+ },
+ { id: 'output-test' }
+ );
+ expect(soClient.create).toHaveBeenCalledWith(
+ expect.anything(),
+ expect.objectContaining({
+ ssl: JSON.stringify({ certificate: 'xxx', key: 'secretKey' }),
+ }),
+ expect.anything()
+ );
+ });
});
- it('should set preset: custom when config_yaml contains a reserved key', async () => {
- const soClient = getMockedSoClient({});
+ describe('kafka output', () => {
+ it('should throw if encryptedSavedObject is not configured', async () => {
+ const soClient = getMockedSoClient({});
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- config_yaml: `
- bulk_max_size: 1000
- `,
- },
- {
- id: 'output-1',
- }
- );
-
- expect(soClient.create).toBeCalledWith(
- OUTPUT_SAVED_OBJECT_TYPE,
- expect.objectContaining({
- preset: 'custom',
- }),
- expect.anything()
- );
- });
+ await expect(
+ outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: false,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'kafka',
+ topics: [{ topic: 'test' }],
+ },
+ { id: 'output-test' }
+ )
+ ).rejects.toThrow(`kafka output needs encrypted saved object api key to be set`);
+ });
- it('should honor preset: custom in attributes', async () => {
- const soClient = getMockedSoClient({});
+ it('should update fleet server policies with data_output_id=default_output_id if a new default kafka output is created', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithFleetServerResolvedValue
+ );
+ mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
+
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'kafka',
+ },
+ { id: 'output-1' }
+ );
- await outputService.create(
- soClient,
- esClientMock,
- {
- is_default: false,
- is_default_monitoring: false,
- name: 'Test',
- type: 'elasticsearch',
- config_yaml: `
- some_non_reserved_key: foo
- `,
- preset: 'custom',
- },
- {
- id: 'output-1',
- }
- );
+ expect(mockedAgentPolicyService.update).toBeCalledWith(
+ expect.anything(),
+ expect.anything(),
+ 'fleet_server_policy',
+ { data_output_id: 'output-test' },
+ { force: false }
+ );
+ });
- expect(soClient.create).toBeCalledWith(
- OUTPUT_SAVED_OBJECT_TYPE,
- expect.objectContaining({
- preset: 'custom',
- }),
- expect.anything()
- );
- });
+ it('should update synthetics policies with data_output_id=default_output_id if a new default kafka output is created', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithSyntheticsResolvedValue
+ );
+ mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(true);
+
+ await outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'kafka',
+ },
+ { id: 'output-1' }
+ );
- it('should throw an error when preset: balanced is provided but config_yaml contains a reserved key', async () => {
- const soClient = getMockedSoClient({});
+ expect(mockedAgentPolicyService.update).toBeCalledWith(
+ expect.anything(),
+ expect.anything(),
+ 'synthetics_policy',
+ { data_output_id: 'output-test' },
+ { force: false }
+ );
+ });
- expect(
- outputService.create(
+ it('should allow to create a new kafka output with no errors if is not set as default', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
+ mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({
+ canEncrypt: true,
+ } as any);
+ mockedAgentPolicyService.list.mockResolvedValue(
+ mockedAgentPolicyWithFleetServerResolvedValue
+ );
+ mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true);
+
+ await outputService.create(
soClient,
esClientMock,
{
is_default: false,
is_default_monitoring: false,
name: 'Test',
- type: 'elasticsearch',
- config_yaml: `
- bulk_max_size: 1000
- `,
- preset: 'balanced',
+ type: 'kafka',
},
- {
- id: 'output-1',
- }
- )
- ).rejects.toThrow(
- `preset cannot be balanced when config_yaml contains one of ${RESERVED_CONFIG_YML_KEYS.join(
- ', '
- )}`
- );
+ { id: 'output-1' }
+ );
+ });
+ });
+
+ describe('remote elasticsearch output', () => {
+ it('should not throw when a remote es output is attempted to be created as default data output', async () => {
+ const soClient = getMockedSoClient({
+ defaultOutputId: 'output-test',
+ });
- expect(soClient.create).not.toBeCalled();
+ expect(
+ outputService.create(
+ soClient,
+ esClientMock,
+ {
+ is_default: true,
+ is_default_monitoring: false,
+ name: 'Test',
+ type: 'remote_elasticsearch',
+ },
+ { id: 'output-1' }
+ )
+ ).resolves.not.toThrow();
+ });
});
});
diff --git a/x-pack/plugins/fleet/server/services/output.ts b/x-pack/plugins/fleet/server/services/output.ts
index e73a070a54965..b789bbb5d8cc2 100644
--- a/x-pack/plugins/fleet/server/services/output.ts
+++ b/x-pack/plugins/fleet/server/services/output.ts
@@ -71,6 +71,7 @@ import {
deleteSecrets,
extractAndUpdateOutputSecrets,
extractAndWriteOutputSecrets,
+ isOutputSecretStorageEnabled,
} from './secrets';
type Nullable = { [P in keyof T]: T[P] | null };
@@ -122,12 +123,6 @@ function outputSavedObjectToOutput(so: SavedObject): Output
};
}
-function isOutputSecretsEnabled() {
- const { outputSecretsStorage } = appContextService.getExperimentalFeatures();
-
- return !!outputSecretsStorage;
-}
-
async function getAgentPoliciesPerOutput(
soClient: SavedObjectsClientContract,
outputId?: string,
@@ -581,7 +576,8 @@ class OutputService {
const id = options?.id ? outputIdToUuid(options.id) : SavedObjectsUtils.generateId();
- if (isOutputSecretsEnabled()) {
+ // Store secret values if enabled; if not, store plain text values
+ if (await isOutputSecretStorageEnabled(esClient, soClient)) {
const { output: outputWithSecrets } = await extractAndWriteOutputSecrets({
output,
esClient,
@@ -589,6 +585,26 @@ class OutputService {
});
if (outputWithSecrets.secrets) data.secrets = outputWithSecrets.secrets;
+ } else {
+ if (output.type === outputType.Logstash && data.type === outputType.Logstash) {
+ if (!output.ssl?.key && output.secrets?.ssl?.key) {
+ data.ssl = JSON.stringify({ ...output.ssl, ...output.secrets.ssl });
+ }
+ } else if (output.type === outputType.Kafka && data.type === outputType.Kafka) {
+ if (!output.password && output.secrets?.password) {
+ data.password = output.secrets?.password as string;
+ }
+ if (!output.ssl?.key && output.secrets?.ssl?.key) {
+ data.ssl = JSON.stringify({ ...output.ssl, ...output.secrets.ssl });
+ }
+ } else if (
+ output.type === outputType.RemoteElasticsearch &&
+ data.type === outputType.RemoteElasticsearch
+ ) {
+ if (!output.service_token && output.secrets?.service_token) {
+ data.service_token = output.secrets?.service_token as string;
+ }
+ }
}
auditLoggingService.writeCustomSoAuditLog({
@@ -787,17 +803,7 @@ class OutputService {
);
}
}
- if (isOutputSecretsEnabled()) {
- const secretsRes = await extractAndUpdateOutputSecrets({
- oldOutput: originalOutput,
- outputUpdate: data,
- esClient,
- secretHashes: data.is_preconfigured ? secretHashes : undefined,
- });
- updateData.secrets = secretsRes.outputUpdate.secrets;
- secretsToDelete = secretsRes.secretsToDelete;
- }
const mergedType = data.type ?? originalOutput.type;
const defaultDataOutputId = await this.getDefaultDataOutputId(soClient);
await validateTypeChanges(
@@ -980,6 +986,39 @@ class OutputService {
}
}
+ // Store secret values if enabled; if not, store plain text values
+ if (await isOutputSecretStorageEnabled(esClient, soClient)) {
+ const secretsRes = await extractAndUpdateOutputSecrets({
+ oldOutput: originalOutput,
+ outputUpdate: data,
+ esClient,
+ secretHashes: data.is_preconfigured ? secretHashes : undefined,
+ });
+
+ updateData.secrets = secretsRes.outputUpdate.secrets;
+ secretsToDelete = secretsRes.secretsToDelete;
+ } else {
+ if (data.type === outputType.Logstash && updateData.type === outputType.Logstash) {
+ if (!data.ssl?.key && data.secrets?.ssl?.key) {
+ updateData.ssl = JSON.stringify({ ...data.ssl, ...data.secrets.ssl });
+ }
+ } else if (data.type === outputType.Kafka && updateData.type === outputType.Kafka) {
+ if (!data.password && data.secrets?.password) {
+ updateData.password = data.secrets?.password as string;
+ }
+ if (!data.ssl?.key && data.secrets?.ssl?.key) {
+ updateData.ssl = JSON.stringify({ ...data.ssl, ...data.secrets.ssl });
+ }
+ } else if (
+ data.type === outputType.RemoteElasticsearch &&
+ updateData.type === outputType.RemoteElasticsearch
+ ) {
+ if (!data.service_token && data.secrets?.service_token) {
+ updateData.service_token = data.secrets?.service_token as string;
+ }
+ }
+ }
+
auditLoggingService.writeCustomSoAuditLog({
action: 'update',
id: outputIdToUuid(id),
diff --git a/x-pack/plugins/fleet/server/services/secrets.test.ts b/x-pack/plugins/fleet/server/services/secrets.test.ts
index 8e92836e3fbf4..729c74a3ddec0 100644
--- a/x-pack/plugins/fleet/server/services/secrets.test.ts
+++ b/x-pack/plugins/fleet/server/services/secrets.test.ts
@@ -1018,9 +1018,11 @@ describe('secrets', () => {
it('returns single secret reference for required secret', async () => {
const mockPackagePolicy = {
vars: {
- 'pkg-secret-1': {
- value: 'pkg-secret-1-val',
+ 'pkg-secret-1': {},
+ 'pkg-secret-2': {
+ value: 'pkg-secret-2-val',
},
+ 'dot-notation.stream.pkg-secret-3': {},
},
inputs: [],
} as unknown as NewPackagePolicy;
@@ -1198,6 +1200,7 @@ describe('secrets', () => {
value: 'pkg-secret-1-val',
},
'pkg-secret-2': {},
+ 'dot-notation.pkg-secret-3': {},
},
inputs: [],
} as unknown as PackagePolicy;
diff --git a/x-pack/plugins/fleet/server/services/secrets.ts b/x-pack/plugins/fleet/server/services/secrets.ts
index 6f50b2cd8b73b..ac2ec6f25d195 100644
--- a/x-pack/plugins/fleet/server/services/secrets.ts
+++ b/x-pack/plugins/fleet/server/services/secrets.ts
@@ -47,7 +47,11 @@ import type {
} from '../types';
import { FleetError } from '../errors';
-import { SECRETS_ENDPOINT_PATH, SECRETS_MINIMUM_FLEET_SERVER_VERSION } from '../constants';
+import {
+ OUTPUT_SECRETS_MINIMUM_FLEET_SERVER_VERSION,
+ SECRETS_ENDPOINT_PATH,
+ SECRETS_MINIMUM_FLEET_SERVER_VERSION,
+} from '../constants';
import { retryTransientEsErrors } from './epm/elasticsearch/retry';
@@ -241,7 +245,11 @@ export async function extractAndWriteSecrets(opts: {
values: secretsToCreate.map((secretPath) => secretPath.value.value),
});
- const policyWithSecretRefs = getPolicyWithSecretReferences(secretPaths, secrets, packagePolicy);
+ const policyWithSecretRefs = getPolicyWithSecretReferences(
+ secretsToCreate,
+ secrets,
+ packagePolicy
+ );
return {
packagePolicy: policyWithSecretRefs,
@@ -642,6 +650,65 @@ export async function isSecretStorageEnabled(
return false;
}
+export async function isOutputSecretStorageEnabled(
+ esClient: ElasticsearchClient,
+ soClient: SavedObjectsClientContract
+): Promise {
+ const logger = appContextService.getLogger();
+
+ // first check if the feature flag is enabled, if not output secrets are disabled
+ const { outputSecretsStorage: outputSecretsStorageEnabled } =
+ appContextService.getExperimentalFeatures();
+ if (!outputSecretsStorageEnabled) {
+ logger.debug('Output secrets storage is disabled by feature flag');
+ return false;
+ }
+
+ // if serverless then output secrets will always be supported
+ const isFleetServerStandalone =
+ appContextService.getConfig()?.internal?.fleetServerStandalone ?? false;
+
+ if (isFleetServerStandalone) {
+ logger.trace('Output secrets storage is enabled as fleet server is standalone');
+ return true;
+ }
+
+ // now check the flag in settings to see if the fleet server requirement has already been met
+ // once the requirement has been met, output secrets are always on
+ const settings = await settingsService.getSettingsOrUndefined(soClient);
+
+ if (settings && settings.output_secret_storage_requirements_met) {
+ logger.debug('Output secrets storage requirements already met, turned on in settings');
+ return true;
+ }
+
+ // otherwise check if we have the minimum fleet server version and enable secrets if so
+ if (
+ await allFleetServerVersionsAreAtLeast(
+ esClient,
+ soClient,
+ OUTPUT_SECRETS_MINIMUM_FLEET_SERVER_VERSION
+ )
+ ) {
+ logger.debug('Enabling output secrets storage as minimum fleet server version has been met');
+ try {
+ await settingsService.saveSettings(soClient, {
+ output_secret_storage_requirements_met: true,
+ });
+ } catch (err) {
+ // we can suppress this error as it will be retried on the next function call
+ logger.warn(`Failed to save settings after enabling output secrets storage: ${err.message}`);
+ }
+
+ return true;
+ }
+
+ logger.info(
+ 'Output secrets storage is disabled as minimum fleet server version has not been met'
+ );
+ return false;
+}
+
function _getPackageLevelSecretPaths(
packagePolicy: NewPackagePolicy,
packageInfo: PackageInfo
diff --git a/x-pack/plugins/fleet/server/types/rest_spec/fleet_proxies.ts b/x-pack/plugins/fleet/server/types/rest_spec/fleet_proxies.ts
index 1d1a2d798b4d0..c3f1f8535760c 100644
--- a/x-pack/plugins/fleet/server/types/rest_spec/fleet_proxies.ts
+++ b/x-pack/plugins/fleet/server/types/rest_spec/fleet_proxies.ts
@@ -7,10 +7,20 @@
import { schema } from '@kbn/config-schema';
+import { PROXY_URL_REGEX } from '../../../common/constants';
+
+function validateUrl(value: string) {
+ if (!value.match(PROXY_URL_REGEX)) {
+ return 'Invalid URL';
+ }
+}
+
export const PostFleetProxyRequestSchema = {
body: schema.object({
id: schema.maybe(schema.string()),
- url: schema.string(),
+ url: schema.string({
+ validate: validateUrl,
+ }),
name: schema.string(),
proxy_headers: schema.maybe(
schema.recordOf(
@@ -28,7 +38,7 @@ export const PutFleetProxyRequestSchema = {
params: schema.object({ itemId: schema.string() }),
body: schema.object({
name: schema.maybe(schema.string()),
- url: schema.maybe(schema.string()),
+ url: schema.maybe(schema.string({ validate: validateUrl })),
proxy_headers: schema.nullable(
schema.recordOf(
schema.string(),
diff --git a/x-pack/plugins/fleet/server/types/so_attributes.ts b/x-pack/plugins/fleet/server/types/so_attributes.ts
index 311e5159b8f15..ea637d401bb12 100644
--- a/x-pack/plugins/fleet/server/types/so_attributes.ts
+++ b/x-pack/plugins/fleet/server/types/so_attributes.ts
@@ -228,6 +228,7 @@ export interface SettingsSOAttributes {
has_seen_add_data_notice?: boolean;
fleet_server_hosts?: string[];
secret_storage_requirements_met?: boolean;
+ output_secret_storage_requirements_met?: boolean;
}
export interface DownloadSourceSOAttributes {
diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx
index 77c0685e2858c..3893b1b3f0e44 100644
--- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx
+++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx
@@ -19,16 +19,13 @@ import {
Storage,
withNotifyOnErrors,
} from '@kbn/kibana-utils-plugin/public';
-import {
- AnalyticsNoDataPageKibanaProvider,
- AnalyticsNoDataPage,
-} from '@kbn/shared-ux-page-analytics-no-data';
import { ACTION_VISUALIZE_LENS_FIELD, VisualizeFieldContext } from '@kbn/ui-actions-plugin/public';
import { ACTION_CONVERT_TO_LENS } from '@kbn/visualizations-plugin/public';
import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public';
import { EuiLoadingSpinner } from '@elastic/eui';
import { syncGlobalQueryStateWithUrl } from '@kbn/data-plugin/public';
+import { withSuspense } from '@kbn/shared-ux-utility';
import { App } from './app';
import { EditorFrameStart, LensTopNavMenuEntryGenerator, VisualizeEditorContext } from '../types';
@@ -347,6 +344,22 @@ export async function mountApp(
dataViews: data.dataViews,
dataViewEditor: startDependencies.dataViewEditor,
};
+ const importPromise = import('@kbn/shared-ux-page-analytics-no-data');
+ const AnalyticsNoDataPageKibanaProvider = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPageKibanaProvider: NoDataProvider }) => {
+ return { default: NoDataProvider };
+ })
+ )
+ );
+ const AnalyticsNoDataPage = withSuspense(
+ React.lazy(() =>
+ importPromise.then(({ AnalyticsNoDataPage: NoDataPage }) => {
+ return { default: NoDataPage };
+ })
+ )
+ );
+
return (
= ({
onClick={() => {
setOpen(!open);
}}
+ label={title}
aria-label={title}
isDisabled={isDisabled}
groupPosition={groupPosition}
diff --git a/x-pack/plugins/lens/public/visualizations/datatable/components/toolbar.test.tsx b/x-pack/plugins/lens/public/visualizations/datatable/components/toolbar.test.tsx
index f8cc197e1d78e..8807929360c29 100644
--- a/x-pack/plugins/lens/public/visualizations/datatable/components/toolbar.test.tsx
+++ b/x-pack/plugins/lens/public/visualizations/datatable/components/toolbar.test.tsx
@@ -5,14 +5,14 @@
* 2.0.
*/
-import React, { ChangeEvent, FormEvent } from 'react';
-import { mountWithIntl } from '@kbn/test-jest-helpers';
+import React from 'react';
+import { getButtonGroupInputValue } from '@kbn/test-eui-helpers';
import { DataTableToolbar } from './toolbar';
import { DatatableVisualizationState } from '../visualization';
import { FramePublicAPI, VisualizationToolbarProps } from '../../../types';
-import { ReactWrapper } from 'enzyme';
import { PagingState } from '../../../../common/expressions';
-import { EuiButtonGroup, EuiRange } from '@elastic/eui';
+import { fireEvent, render, screen, within } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
// mocking random id generator function
jest.mock('@elastic/eui', () => {
@@ -26,62 +26,12 @@ jest.mock('@elastic/eui', () => {
};
});
-class Harness {
- wrapper: ReactWrapper;
-
- constructor(wrapper: ReactWrapper) {
- this.wrapper = wrapper;
- }
-
- togglePopover() {
- this.wrapper.find('button[data-test-subj="lnsVisualOptionsButton"]').simulate('click');
- }
-
- public get rowHeight() {
- return this.wrapper.find('[data-test-subj="lnsRowHeightSettings"]').find(EuiButtonGroup);
- }
-
- public get headerRowHeight() {
- return this.wrapper.find('[data-test-subj="lnsHeaderHeightSettings"]').find(EuiButtonGroup);
- }
-
- changeRowHeight(newMode: 'single' | 'auto' | 'custom') {
- this.rowHeight.prop('onChange')!(newMode);
- }
-
- changeHeaderRowHeight(newMode: 'single' | 'auto' | 'custom') {
- this.headerRowHeight.prop('onChange')!(newMode);
- }
-
- public get rowHeightLines() {
- return this.wrapper.find(EuiRange);
- }
-
- changeRowHeightLines(lineCount: number) {
- this.rowHeightLines.prop('onChange')!(
- {
- currentTarget: { value: lineCount },
- } as unknown as ChangeEvent,
- true
- );
- }
-
- public get paginationSwitch() {
- return this.wrapper.find('EuiSwitch[data-test-subj="lens-table-pagination-switch"]');
- }
-
- togglePagination() {
- this.paginationSwitch.prop('onChange')!({} as FormEvent);
- }
-}
-
describe('datatable toolbar', () => {
const defaultPagingState: PagingState = {
size: 10,
enabled: true,
};
- let harness: Harness;
let defaultProps: VisualizationToolbarProps;
beforeEach(() => {
@@ -93,57 +43,113 @@ describe('datatable toolbar', () => {
headerRowHeight: 'single',
} as DatatableVisualizationState,
};
-
- harness = new Harness(mountWithIntl());
});
- it('should reflect state in the UI', async () => {
- harness.togglePopover();
+ const renderToolbar = (overrides = {}) => {
+ const ROW_HEIGHT_SETTINGS_TEST_ID = 'lnsRowHeightSettings';
+ const HEADER_HEIGHT_SETTINGS_TEST_ID = 'lnsHeaderHeightSettings';
- expect(harness.rowHeight.prop('idSelected')).toBe('single');
- expect(harness.headerRowHeight.prop('idSelected')).toBe('single');
- expect(harness.paginationSwitch.prop('checked')).toBe(false);
+ const rtlRender = render();
- harness.wrapper.setProps({
+ const togglePopover = () => {
+ userEvent.click(screen.getByRole('button', { name: /visual options/i }));
+ };
+
+ const selectOptionFromButtonGroup = (testId: string) => (optionName: string | RegExp) => {
+ const buttonGroup = screen.getByTestId(testId);
+ const option = within(buttonGroup).getByRole('button', { name: optionName });
+ fireEvent.click(option);
+ };
+
+ const getNumberInput = (testId: string) =>
+ within(screen.getByTestId(testId)).queryByRole('spinbutton');
+
+ const getPaginationSwitch = () => screen.getByTestId('lens-table-pagination-switch'); // TODO: use getByLabel when EUI fixes the generated-id issue
+ const clickPaginationSwitch = () => {
+ fireEvent.click(getPaginationSwitch());
+ };
+
+ return {
+ ...rtlRender,
+ togglePopover,
+ getRowHeightValue: getButtonGroupInputValue(ROW_HEIGHT_SETTINGS_TEST_ID),
+ getRowHeightCustomValue: () => getNumberInput(ROW_HEIGHT_SETTINGS_TEST_ID),
+ selectRowHeightOption: selectOptionFromButtonGroup(ROW_HEIGHT_SETTINGS_TEST_ID),
+ getHeaderHeightValue: getButtonGroupInputValue(HEADER_HEIGHT_SETTINGS_TEST_ID),
+ getHeaderHeightCustomValue: () => getNumberInput(HEADER_HEIGHT_SETTINGS_TEST_ID),
+ selectHeaderHeightOption: selectOptionFromButtonGroup(HEADER_HEIGHT_SETTINGS_TEST_ID),
+ getPaginationSwitch,
+ clickPaginationSwitch,
+ };
+ };
+
+ it('should reflect default state in the UI', async () => {
+ const { togglePopover, getRowHeightValue, getHeaderHeightValue, getPaginationSwitch } =
+ renderToolbar();
+ togglePopover();
+
+ expect(getRowHeightValue()).toHaveTextContent(/single/i);
+ expect(getHeaderHeightValue()).toHaveTextContent(/single/i);
+ expect(getPaginationSwitch()).not.toBeChecked();
+ });
+
+ it('should reflect passed state in the UI', async () => {
+ const {
+ togglePopover,
+ getRowHeightValue,
+ getHeaderHeightValue,
+ getPaginationSwitch,
+ getHeaderHeightCustomValue,
+ getRowHeightCustomValue,
+ } = renderToolbar({
state: {
- rowHeight: 'auto',
- paging: defaultPagingState,
+ ...defaultProps.state,
+ rowHeight: 'custom',
+ rowHeightLines: 2,
+ headerRowHeight: 'custom',
+ headerRowHeightLines: 3,
+ paging: { size: 10, enabled: true },
},
});
- expect(harness.rowHeight.prop('idSelected')).toBe('auto');
- expect(harness.paginationSwitch.prop('checked')).toBe(true);
- });
+ togglePopover();
- it('should change row height to "Auto" mode', async () => {
- harness.togglePopover();
+ expect(getRowHeightValue()).toHaveTextContent(/custom/i);
+ expect(getRowHeightCustomValue()).toHaveValue(2);
+ expect(getHeaderHeightValue()).toHaveTextContent(/custom/i);
+ expect(getHeaderHeightCustomValue()).toHaveValue(3);
+ expect(getPaginationSwitch()).toBeChecked();
+ });
- harness.changeRowHeight('auto');
+ it('should change row height to "Auto" mode when selected', async () => {
+ const { togglePopover, selectRowHeightOption } = renderToolbar();
+ togglePopover();
+ selectRowHeightOption(/auto fit/i);
expect(defaultProps.setState).toHaveBeenCalledTimes(1);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(1, {
- headerRowHeight: 'single',
- rowHeight: 'auto',
- rowHeightLines: undefined,
- });
+ expect(defaultProps.setState).toHaveBeenCalledWith(
+ expect.objectContaining({ rowHeight: 'auto' })
+ );
+ });
- harness.changeRowHeight('single'); // turn it off
+ it('should toggle pagination on click', async () => {
+ const { togglePopover, clickPaginationSwitch } = renderToolbar();
+ togglePopover();
- expect(defaultProps.setState).toHaveBeenCalledTimes(2);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(2, {
- rowHeight: 'single',
- headerRowHeight: 'single',
- rowHeightLines: 1,
- });
+ clickPaginationSwitch();
+ expect(defaultProps.setState).toHaveBeenCalledTimes(1);
+ expect(defaultProps.setState).toHaveBeenCalledWith(
+ expect.objectContaining({ paging: { enabled: true, size: 10 } })
+ );
});
- it('should change row height to "Custom" mode', async () => {
- harness.togglePopover();
-
- harness.changeRowHeight('custom');
+ it('should change row height to "Custom" mode when selected', async () => {
+ const { togglePopover, selectRowHeightOption } = renderToolbar();
+ togglePopover();
+ selectRowHeightOption(/custom/i);
expect(defaultProps.setState).toHaveBeenCalledTimes(1);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(1, {
+ expect(defaultProps.setState).toHaveBeenCalledWith({
rowHeight: 'custom',
headerRowHeight: 'single',
rowHeightLines: 2,
@@ -151,38 +157,44 @@ describe('datatable toolbar', () => {
});
it('should change header height to "Custom" mode', async () => {
- harness.togglePopover();
-
- harness.changeHeaderRowHeight('custom');
+ const { togglePopover, selectHeaderHeightOption } = renderToolbar();
+ togglePopover();
+ selectHeaderHeightOption(/custom/i);
expect(defaultProps.setState).toHaveBeenCalledTimes(1);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(1, {
+ expect(defaultProps.setState).toHaveBeenCalledWith({
rowHeight: 'single',
headerRowHeight: 'custom',
headerRowHeightLines: 2,
});
});
- it('should toggle table pagination', async () => {
- harness.togglePopover();
-
- harness.togglePagination();
+ it('should toggle on table pagination', async () => {
+ const { togglePopover, clickPaginationSwitch } = renderToolbar();
+ togglePopover();
+ clickPaginationSwitch();
expect(defaultProps.setState).toHaveBeenCalledTimes(1);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(1, {
- paging: defaultPagingState,
- rowHeight: 'single',
- headerRowHeight: 'single',
- });
-
- // update state manually
- harness.wrapper.setProps({
- state: { rowHeight: 'single', headerRowHeight: 'single', paging: defaultPagingState },
+ expect(defaultProps.setState).toHaveBeenCalledWith(
+ expect.objectContaining({
+ paging: defaultPagingState,
+ rowHeight: 'single',
+ headerRowHeight: 'single',
+ })
+ );
+ });
+ it('should toggle off table pagination', async () => {
+ const { togglePopover, clickPaginationSwitch } = renderToolbar({
+ state: {
+ ...defaultProps.state,
+ paging: defaultPagingState,
+ },
});
- harness.togglePagination(); // turn it off. this should disable pagination but preserve the default page size
+ togglePopover();
+ clickPaginationSwitch();
- expect(defaultProps.setState).toHaveBeenCalledTimes(2);
- expect(defaultProps.setState).toHaveBeenNthCalledWith(2, {
+ expect(defaultProps.setState).toHaveBeenCalledTimes(1);
+ expect(defaultProps.setState).toHaveBeenCalledWith({
rowHeight: 'single',
headerRowHeight: 'single',
paging: { ...defaultPagingState, enabled: false },
diff --git a/x-pack/plugins/lens/tsconfig.json b/x-pack/plugins/lens/tsconfig.json
index f0cfe764109a7..350cd1ad19a9e 100644
--- a/x-pack/plugins/lens/tsconfig.json
+++ b/x-pack/plugins/lens/tsconfig.json
@@ -101,7 +101,9 @@
"@kbn/calculate-width-from-char-count",
"@kbn/discover-utils",
"@kbn/lens-formula-docs",
- "@kbn/visualization-utils"
+ "@kbn/visualization-utils",
+ "@kbn/test-eui-helpers",
+ "@kbn/shared-ux-utility"
],
"exclude": [
"target/**/*"
diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts
index 2766cb1be0f90..7d074ca0576cb 100644
--- a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts
+++ b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts
@@ -40,17 +40,22 @@ import { CategorizationExamplesLoader } from '../results_loader';
import { getNewJobDefaults } from '../../../../services/ml_server_info';
import { isCcsIndexPattern } from '../../../../util/index_utils';
+type DetectorType =
+ | ML_JOB_AGGREGATION.COUNT
+ | ML_JOB_AGGREGATION.HIGH_COUNT
+ | ML_JOB_AGGREGATION.RARE;
+
export class CategorizationJobCreator extends JobCreator {
protected _type: JOB_TYPE = JOB_TYPE.CATEGORIZATION;
private _createCountDetector: () => void = () => {};
+ private _createHighCountDetector: () => void = () => {};
private _createRareDetector: () => void = () => {};
private _examplesLoader: CategorizationExamplesLoader;
private _categoryFieldExamples: CategoryFieldExample[] = [];
private _validationChecks: FieldExampleCheck[] = [];
private _overallValidStatus: CATEGORY_EXAMPLES_VALIDATION_STATUS =
CATEGORY_EXAMPLES_VALIDATION_STATUS.INVALID;
- private _detectorType: ML_JOB_AGGREGATION.COUNT | ML_JOB_AGGREGATION.RARE =
- ML_JOB_AGGREGATION.COUNT;
+ private _detectorType: DetectorType = ML_JOB_AGGREGATION.COUNT;
private _categorizationAnalyzer: CategorizationAnalyzer = {};
private _defaultCategorizationAnalyzer: CategorizationAnalyzer;
private _partitionFieldName: string | null = null;
@@ -67,16 +72,20 @@ export class CategorizationJobCreator extends JobCreator {
public setDefaultDetectorProperties(
count: Aggregation | null,
+ highCount: Aggregation | null,
rare: Aggregation | null,
eventRate: Field | null
) {
- if (count === null || rare === null || eventRate === null) {
+ if (count === null || highCount === null || rare === null || eventRate === null) {
throw Error('event_rate field or count or rare aggregations missing');
}
this._createCountDetector = () => {
this._createDetector(count, eventRate);
};
+ this._createHighCountDetector = () => {
+ this._createDetector(highCount, eventRate);
+ };
this._createRareDetector = () => {
this._createDetector(rare, eventRate);
};
@@ -93,12 +102,15 @@ export class CategorizationJobCreator extends JobCreator {
this._addDetector(dtr, agg, mlCategory);
}
- public setDetectorType(type: ML_JOB_AGGREGATION.COUNT | ML_JOB_AGGREGATION.RARE) {
+ public setDetectorType(type: DetectorType) {
this._detectorType = type;
this.removeAllDetectors();
if (type === ML_JOB_AGGREGATION.COUNT) {
this._createCountDetector();
this.bucketSpan = DEFAULT_BUCKET_SPAN;
+ } else if (type === ML_JOB_AGGREGATION.HIGH_COUNT) {
+ this._createHighCountDetector();
+ this.bucketSpan = DEFAULT_BUCKET_SPAN;
} else {
this._createRareDetector();
this.bucketSpan = DEFAULT_RARE_BUCKET_SPAN;
@@ -246,10 +258,14 @@ export class CategorizationJobCreator extends JobCreator {
const dtr = detectors[0];
if (dtr !== undefined && dtr.agg !== null && dtr.field !== null) {
- const detectorType =
- dtr.agg.id === ML_JOB_AGGREGATION.COUNT
- ? ML_JOB_AGGREGATION.COUNT
- : ML_JOB_AGGREGATION.RARE;
+ let detectorType: DetectorType;
+ if (dtr.agg.id === ML_JOB_AGGREGATION.COUNT) {
+ detectorType = ML_JOB_AGGREGATION.COUNT;
+ } else if (dtr.agg.id === ML_JOB_AGGREGATION.HIGH_COUNT) {
+ detectorType = ML_JOB_AGGREGATION.HIGH_COUNT;
+ } else {
+ detectorType = ML_JOB_AGGREGATION.RARE;
+ }
const bs = job.analysis_config.bucket_span!;
this.setDetectorType(detectorType);
diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/job_from_pattern_analysis/quick_create_job.ts b/x-pack/plugins/ml/public/application/jobs/new_job/job_from_pattern_analysis/quick_create_job.ts
index 721d48d1908b6..220b0c0446670 100644
--- a/x-pack/plugins/ml/public/application/jobs/new_job/job_from_pattern_analysis/quick_create_job.ts
+++ b/x-pack/plugins/ml/public/application/jobs/new_job/job_from_pattern_analysis/quick_create_job.ts
@@ -22,6 +22,7 @@ import type { JobCreatorType } from '../common/job_creator';
export const CATEGORIZATION_TYPE = {
COUNT: ML_JOB_AGGREGATION.COUNT,
+ HIGH_COUNT: ML_JOB_AGGREGATION.HIGH_COUNT,
RARE: ML_JOB_AGGREGATION.RARE,
} as const;
diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_detector/categorization_detector.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_detector/categorization_detector.tsx
index fb25f2c690fe9..96958c4752e85 100644
--- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_detector/categorization_detector.tsx
+++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_detector/categorization_detector.tsx
@@ -11,7 +11,7 @@ import { EuiFlexGroup, EuiSpacer, EuiTitle } from '@elastic/eui';
import { ML_JOB_AGGREGATION } from '@kbn/ml-anomaly-utils';
import { JobCreatorContext } from '../../../job_creator_context';
import { CategorizationJobCreator } from '../../../../../common/job_creator';
-import { CountCard, RareCard } from './detector_cards';
+import { CountCard, HighCountCard, RareCard } from './detector_cards';
export const CategorizationDetector: FC = () => {
const { jobCreator: jc, jobCreatorUpdate, jobCreatorUpdated } = useContext(JobCreatorContext);
@@ -36,6 +36,9 @@ export const CategorizationDetector: FC = () => {
function onCountSelection() {
setCategorizationDetectorType(ML_JOB_AGGREGATION.COUNT);
}
+ function onHighCountSelection() {
+ setCategorizationDetectorType(ML_JOB_AGGREGATION.HIGH_COUNT);
+ }
function onRareSelection() {
setCategorizationDetectorType(ML_JOB_AGGREGATION.RARE);
}
@@ -51,11 +54,15 @@ export const CategorizationDetector: FC = () => {
-
+
+
void;
@@ -31,6 +31,45 @@ export const CountCard: FC = ({ onClick, isSelected }) => (
id="xpack.ml.newJob.wizard.pickFieldsStep.categorizationDetectorSelect.countCard.description"
defaultMessage="Look for anomalies in the event rate of a category."
/>
+
+
+
+
+ >
+ }
+ selectable={{ onClick, isSelected }}
+ />
+
+);
+
+export const HighCountCard: FC = ({ onClick, isSelected }) => (
+
+
+
+
+
+
+
>
}
selectable={{ onClick, isSelected }}
diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/new_job/page.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/new_job/page.tsx
index 4974e8f6064ca..3090801cf2716 100644
--- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/new_job/page.tsx
+++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/new_job/page.tsx
@@ -178,9 +178,10 @@ export const Page: FC = ({ existingJobsAndGroups, jobType }) => {
// categorization job will always use a count agg, so give it
// to the job creator now
const count = newJobCapsService.getAggById('count');
+ const highCount = newJobCapsService.getAggById('high_count');
const rare = newJobCapsService.getAggById('rare');
const eventRate = newJobCapsService.getFieldById(EVENT_RATE_FIELD_ID);
- jobCreator.setDefaultDetectorProperties(count, rare, eventRate);
+ jobCreator.setDefaultDetectorProperties(count, highCount, rare, eventRate);
const { anomaly_detectors: anomalyDetectors } = getNewJobDefaults();
jobCreator.categorizationAnalyzer = anomalyDetectors.categorization_analyzer!;
diff --git a/x-pack/plugins/ml/public/embeddables/job_creation/aiops/flyout/create_job.tsx b/x-pack/plugins/ml/public/embeddables/job_creation/aiops/flyout/create_job.tsx
index 5e52b0f5cd212..7e408dbdbf840 100644
--- a/x-pack/plugins/ml/public/embeddables/job_creation/aiops/flyout/create_job.tsx
+++ b/x-pack/plugins/ml/public/embeddables/job_creation/aiops/flyout/create_job.tsx
@@ -169,6 +169,13 @@ export const CreateJob: FC = ({ dataView, field, query, timeRange }) => {
defaultMessage="Look for anomalies in the event rate of a category."
id="xpack.ml.newJobFromPatternAnalysisFlyout.count.description"
/>
+
+
+
+
>
}
checked={categorizationType === CATEGORIZATION_TYPE.COUNT}
@@ -177,6 +184,38 @@ export const CreateJob: FC = ({ dataView, field, query, timeRange }) => {
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ }
+ checked={categorizationType === CATEGORIZATION_TYPE.HIGH_COUNT}
+ onChange={() => setCategorizationType(CATEGORIZATION_TYPE.HIGH_COUNT)}
+ />
+
+
+
ILicense | null;
- hasAtLeast: (level: LicenseType) => boolean;
+ hasAtLeast: (level: LicenseType) => boolean | undefined;
}
export const useLicense = (): UseLicenseReturnValue => {
@@ -25,7 +25,7 @@ export const useLicense = (): UseLicenseReturnValue => {
getLicense: () => license,
hasAtLeast: useCallback(
(level: LicenseType) => {
- if (!license) return false;
+ if (!license) return;
return !!license && license.isAvailable && license.isActive && license.hasAtLeast(level);
},
diff --git a/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx b/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx
index c27966369fee2..20b2c89287a3c 100644
--- a/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx
+++ b/x-pack/plugins/observability/public/pages/slo_edit/slo_edit.test.tsx
@@ -21,12 +21,14 @@ import { useFetchSloDetails } from '../../hooks/slo/use_fetch_slo_details';
import { useUpdateSlo } from '../../hooks/slo/use_update_slo';
import { useFetchDataViews } from '../../hooks/use_fetch_data_views';
import { useFetchIndices } from '../../hooks/use_fetch_indices';
-import { useLicense } from '../../hooks/use_license';
import { useKibana } from '../../utils/kibana_react';
import { kibanaStartMock } from '../../utils/kibana_react.mock';
import { render } from '../../utils/test_helper';
import { SLO_EDIT_FORM_DEFAULT_VALUES } from './constants';
import { SloEditPage } from './slo_edit';
+import { licensingMock } from '@kbn/licensing-plugin/public/mocks';
+import { BehaviorSubject } from 'rxjs';
+import { ILicense } from '@kbn/licensing-plugin/common/types';
jest.mock('react-router-dom', () => ({
...jest.requireActual('react-router-dom'),
@@ -34,7 +36,6 @@ jest.mock('react-router-dom', () => ({
}));
jest.mock('@kbn/observability-shared-plugin/public');
-jest.mock('../../hooks/use_license');
jest.mock('../../hooks/use_fetch_indices');
jest.mock('../../hooks/use_fetch_data_views');
jest.mock('../../hooks/slo/use_fetch_slo_details');
@@ -51,7 +52,6 @@ jest.mock('../../utils/kibana_react', () => ({
}));
const useKibanaMock = useKibana as jest.Mock;
-const useLicenseMock = useLicense as jest.Mock;
const useFetchIndicesMock = useFetchIndices as jest.Mock;
const useFetchDataViewsMock = useFetchDataViews as jest.Mock;
const useFetchSloMock = useFetchSloDetails as jest.Mock;
@@ -65,8 +65,9 @@ const mockAddSuccess = jest.fn();
const mockAddError = jest.fn();
const mockNavigate = jest.fn();
const mockBasePathPrepend = jest.fn();
+const licenseMock = licensingMock.createLicenseMock();
-const mockKibana = () => {
+const mockKibana = (license: ILicense | null = licenseMock) => {
useKibanaMock.mockReturnValue({
services: {
theme: {},
@@ -126,6 +127,9 @@ const mockKibana = () => {
hasQuerySuggestions: () => {},
},
},
+ licensing: {
+ license$: new BehaviorSubject(license),
+ },
},
});
};
@@ -186,7 +190,7 @@ describe('SLO Edit Page', () => {
hasWriteCapabilities: true,
hasReadCapabilities: true,
});
- useLicenseMock.mockReturnValue({ hasAtLeast: () => false });
+ licenseMock.hasAtLeast.mockReturnValue(false);
});
it('navigates to the SLO List page', async () => {
@@ -203,13 +207,36 @@ describe('SLO Edit Page', () => {
});
});
+ describe('when the license is null', () => {
+ beforeEach(() => {
+ useCapabilitiesMock.mockReturnValue({
+ hasWriteCapabilities: true,
+ hasReadCapabilities: true,
+ });
+ mockKibana(null);
+ });
+
+ it('does not navigate to the SLO List page', async () => {
+ jest.spyOn(Router, 'useParams').mockReturnValue({ sloId: '1234' });
+ jest
+ .spyOn(Router, 'useLocation')
+ .mockReturnValue({ pathname: 'foo', search: '', state: '', hash: '' });
+
+ useFetchSloMock.mockReturnValue({ isLoading: false, data: undefined });
+
+ render();
+
+ expect(mockNavigate).not.toBeCalledWith(mockBasePathPrepend(paths.observability.slos));
+ });
+ });
+
describe('when the correct license is found', () => {
beforeEach(() => {
useCapabilitiesMock.mockReturnValue({
hasWriteCapabilities: true,
hasReadCapabilities: true,
});
- useLicenseMock.mockReturnValue({ hasAtLeast: () => true });
+ licenseMock.hasAtLeast.mockReturnValue(true);
});
describe('with no write permission', () => {
diff --git a/x-pack/plugins/observability/server/plugin.ts b/x-pack/plugins/observability/server/plugin.ts
index b5be8fb9f622e..f348c51e9c5a9 100644
--- a/x-pack/plugins/observability/server/plugin.ts
+++ b/x-pack/plugins/observability/server/plugin.ts
@@ -189,7 +189,7 @@ export class ObservabilityPlugin implements Plugin {
},
{
name: i18n.translate('xpack.observability.featureRegistry.casesSettingsSubFeatureName', {
- defaultMessage: 'Case Settings',
+ defaultMessage: 'Case settings',
}),
privilegeGroups: [
{
@@ -200,7 +200,7 @@ export class ObservabilityPlugin implements Plugin {
name: i18n.translate(
'xpack.observability.featureRegistry.casesSettingsSubFeatureDetails',
{
- defaultMessage: 'Edit Case Settings',
+ defaultMessage: 'Edit case settings',
}
),
includeIn: 'all',
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx
index 64375b0bd9a98..5b7e6b509e69f 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_body.tsx
@@ -28,7 +28,7 @@ import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors'
import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base';
import { type Conversation, type Message, MessageRole } from '../../../common/types';
import { ChatHeader } from './chat_header';
-import { ChatPromptEditor } from './chat_prompt_editor';
+import { PromptEditor } from '../prompt_editor/prompt_editor';
import { ChatTimeline } from './chat_timeline';
import { Feedback } from '../feedback_buttons';
import { IncorrectLicensePanel } from './incorrect_license_panel';
@@ -214,7 +214,7 @@ export function ChatBody({
- {
+ setStickToBottom(true);
const indexOf = messages.indexOf(editedMessage);
next(messages.slice(0, indexOf).concat(newMessage));
}}
@@ -313,14 +314,14 @@ export function ChatBody({
color="subdued"
className={promptEditorContainerClassName}
>
-
sendEvent(chatService.analytics, eventWithPayload)
}
- onChangeHeight={handleChangeHeight}
onSubmit={(message) => {
setStickToBottom(true);
return next(messages.concat(message));
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx
index 9f581b31795f1..ea8cc1eb17911 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx
@@ -127,6 +127,7 @@ export function ChatItem({
const handleInlineEditSubmit = (newMessage: Message) => {
handleToggleEdit();
+
return onEditSubmit(newMessage);
};
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx
index a01032e8711c5..ea24804833e46 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item_content_inline_prompt_editor.tsx
@@ -6,10 +6,11 @@
*/
import React from 'react';
-import { EuiPanel } from '@elastic/eui';
+import { noop } from 'lodash';
import { css } from '@emotion/css';
+import { EuiPanel } from '@elastic/eui';
import { MessageText } from '../message_panel/message_text';
-import { ChatPromptEditor } from './chat_prompt_editor';
+import { PromptEditor } from '../prompt_editor/prompt_editor';
import type { Message } from '../../../common';
import type { ChatActionClickHandler } from './types';
import type { TelemetryEventTypeWithPayload } from '../../analytics';
@@ -59,14 +60,14 @@ export function ChatItemContentInlinePromptEditor({
hasShadow={false}
className={editorContainerClassName}
>
- {}}
+ onChangeHeight={noop}
onSubmit={onSubmit}
onSendTelemetry={onSendTelemetry}
/>
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx
index afee49619fd24..a07c1f4f55586 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_timeline.tsx
@@ -120,9 +120,9 @@ export function ChatTimeline({
key={index}
consolidatedItem={item}
onActionClick={onActionClick}
+ onEditSubmit={onEdit}
onFeedback={onFeedback}
onRegenerate={onRegenerate}
- onEditSubmit={onEdit}
onSendTelemetry={onSendTelemetry}
onStopGenerating={onStopGenerating}
/>
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/function_list_popover.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/function_list_popover.tsx
index e3c5f27e7bfe7..8ec32e35a66b9 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/function_list_popover.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/function_list_popover.tsx
@@ -5,7 +5,7 @@
* 2.0.
*/
-import React, { useEffect, useRef, useState } from 'react';
+import React, { useEffect, useState } from 'react';
import {
EuiBetaBadge,
EuiButtonIcon,
@@ -42,8 +42,6 @@ export function FunctionListPopover({
const { getFunctions } = useObservabilityAIAssistantChatService();
const functions = getFunctions();
- const filterRef = useRef(null);
-
const [functionOptions, setFunctionOptions] = useState<
Array>
>(mapFunctions({ functions, selectedFunctionName }));
@@ -65,26 +63,6 @@ export function FunctionListPopover({
onSelectFunction(func.label);
};
- useEffect(() => {
- const keyboardListener = (event: KeyboardEvent) => {
- if (event.shiftKey && event.code === 'Digit4') {
- setIsFunctionListOpen(true);
- }
- };
-
- window.addEventListener('keyup', keyboardListener);
-
- return () => {
- window.removeEventListener('keyup', keyboardListener);
- };
- }, []);
-
- useEffect(() => {
- if (isFunctionListOpen && filterRef.current) {
- filterRef.current.focus();
- }
- }, [isFunctionListOpen]);
-
useEffect(() => {
const options = mapFunctions({ functions, selectedFunctionName });
if (options.length !== functionOptions.length) {
@@ -92,42 +70,12 @@ export function FunctionListPopover({
}
}, [functionOptions.length, functions, selectedFunctionName]);
- const renderFunctionOption = (
- option: EuiSelectableOption,
- searchValue: string
- ) => {
- return (
-
-
-
-
-
-
- {option.label}{' '}
-
-
-
-
-
-
-
-
-
- {option.searchableLabel || ''}
-
-
-
- );
- };
-
return (
@@ -173,7 +126,7 @@ export function FunctionListPopover({
searchable
searchProps={{
'data-test-subj': 'searchFiltersList',
- inputRef: (node) => (filterRef.current = node),
+ id: 'searchFilterList',
placeholder: i18n.translate('xpack.observabilityAiAssistant.prompt.functionList.filter', {
defaultMessage: 'Filter',
}),
@@ -215,3 +168,34 @@ function mapFunctions({
: ('off' as EuiSelectableOptionCheckedType),
}));
}
+
+function renderFunctionOption(
+ option: EuiSelectableOption,
+ searchValue: string
+) {
+ return (
+
+
+
+
+
+
+ {option.label}{' '}
+
+
+
+
+
+
+
+
+
+ {option.searchableLabel || ''}
+
+
+
+ );
+}
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.stories.tsx b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.stories.tsx
similarity index 66%
rename from x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.stories.tsx
rename to x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.stories.tsx
index eeb01da9b7d04..054d23b56e6de 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.stories.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.stories.tsx
@@ -7,17 +7,17 @@
import React from 'react';
import { ComponentStory } from '@storybook/react';
-import { ChatPromptEditor as Component, ChatPromptEditorProps } from './chat_prompt_editor';
+import { PromptEditor as Component, PromptEditorProps } from './prompt_editor';
import { KibanaReactStorybookDecorator } from '../../utils/storybook_decorator';
/*
- JSON Schema validation in the ChatPromptEditor compponent does not work
+ JSON Schema validation in the PromptEditor compponent does not work
when rendering the component from within Storybook.
*/
export default {
component: Component,
- title: 'app/Molecules/ChatPromptEditor',
+ title: 'app/Molecules/PromptEditor',
argTypes: {},
parameters: {
backgrounds: {
@@ -28,11 +28,11 @@ export default {
decorators: [KibanaReactStorybookDecorator],
};
-const Template: ComponentStory = (props: ChatPromptEditorProps) => {
+const Template: ComponentStory = (props: PromptEditorProps) => {
return ;
};
const defaultProps = {};
-export const ChatPromptEditor = Template.bind({});
-ChatPromptEditor.args = defaultProps;
+export const PromptEditor = Template.bind({});
+PromptEditor.args = defaultProps;
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.tsx
similarity index 51%
rename from x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx
rename to x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.tsx
index 4b35d1ee11432..7d2c438daec6e 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor.tsx
@@ -5,18 +5,16 @@
* 2.0.
*/
-import React, { useCallback, useEffect, useRef, useState } from 'react';
+import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { i18n } from '@kbn/i18n';
-import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiFocusTrap, keys } from '@elastic/eui';
-
+import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, keys } from '@elastic/eui';
import { MessageRole, type Message } from '../../../common';
-import { FunctionListPopover } from './function_list_popover';
-
+import { FunctionListPopover } from '../chat/function_list_popover';
import { TelemetryEventTypeWithPayload, TELEMETRY } from '../../analytics';
-import { ChatPromptEditorFunction } from './chat_prompt_editor_function';
-import { ChatPromptEditorPrompt } from './chat_prompt_editor_prompt';
+import { PromptEditorFunction } from './prompt_editor_function';
+import { PromptEditorNaturalLanguage } from './prompt_editor_natural_language';
-export interface ChatPromptEditorProps {
+export interface PromptEditorProps {
disabled: boolean;
hidden: boolean;
loading: boolean;
@@ -28,7 +26,7 @@ export interface ChatPromptEditorProps {
onSubmit: (message: Message) => void;
}
-export function ChatPromptEditor({
+export function PromptEditor({
disabled,
hidden,
loading,
@@ -38,15 +36,15 @@ export function ChatPromptEditor({
onChangeHeight,
onSendTelemetry,
onSubmit,
-}: ChatPromptEditorProps) {
+}: PromptEditorProps) {
const containerRef = useRef(null);
- const isFocusTrapEnabled = Boolean(initialContent || initialFunctionCall);
-
const [mode, setMode] = useState<'prompt' | 'function'>(
initialFunctionCall?.name ? 'function' : 'prompt'
);
+ const [hasFocus, setHasFocus] = useState(false);
+
const initialInnerMessage = initialRole
? {
role: initialRole,
@@ -59,6 +57,19 @@ export function ChatPromptEditor({
initialInnerMessage
);
+ const invalid = useMemo(() => {
+ let isInvalid = false;
+
+ if (innerMessage?.function_call?.name && innerMessage?.function_call?.arguments) {
+ try {
+ JSON.parse(innerMessage.function_call.arguments);
+ } catch (e) {
+ isInvalid = true;
+ }
+ return isInvalid;
+ }
+ }, [innerMessage?.function_call?.arguments, innerMessage?.function_call?.name]);
+
const handleChangeMessageInner = (newInnerMessage: Message['message']) => {
setInnerMessage(newInnerMessage);
};
@@ -113,9 +124,11 @@ export function ChatPromptEditor({
// Submit on Enter
useEffect(() => {
const keyboardListener = (event: KeyboardEvent) => {
- if (!event.shiftKey && event.key === keys.ENTER && innerMessage) {
- event.preventDefault();
- handleSubmit();
+ if (innerMessage && !disabled && !invalid && hasFocus) {
+ if (!event.shiftKey && event.key === keys.ENTER) {
+ event.preventDefault();
+ handleSubmit();
+ }
}
};
@@ -124,7 +137,7 @@ export function ChatPromptEditor({
return () => {
window.removeEventListener('keypress', keyboardListener);
};
- }, [handleSubmit, innerMessage]);
+ }, [disabled, handleSubmit, hasFocus, innerMessage, invalid]);
useEffect(() => {
if (hidden) {
@@ -133,57 +146,59 @@ export function ChatPromptEditor({
}, [hidden, onChangeHeight]);
return (
-
-
-
-
+
+
+
+
+ {mode === 'function' && innerMessage?.function_call?.name ? (
+ setHasFocus(true)}
+ onBlur={() => setHasFocus(false)}
/>
-
-
- {mode === 'function' && innerMessage?.function_call?.name ? (
-
- ) : (
-
+ ) : (
+ setHasFocus(true)}
+ onBlur={() => setHasFocus(false)}
+ />
+ )}
+
+
+
+
-
-
-
-
-
-
+ : innerMessage?.content
+ ? 'fill'
+ : 'base'
+ }
+ iconType="kqlFunction"
+ isLoading={loading}
+ size="m"
+ onClick={handleSubmit}
+ />
+
+
);
}
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_function.tsx b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_function.tsx
similarity index 82%
rename from x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_function.tsx
rename to x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_function.tsx
index 74e5d63702c4d..f7cbb55782dd7 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_function.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_function.tsx
@@ -4,12 +4,13 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
-import React, { useCallback, useEffect, useState } from 'react';
+import React, { useCallback, useEffect, useRef, useState } from 'react';
+import usePrevious from 'react-use/lib/usePrevious';
+import { css } from '@emotion/css';
import { CodeEditor } from '@kbn/code-editor';
+import { monaco } from '@kbn/monaco';
import { i18n } from '@kbn/i18n';
-import usePrevious from 'react-use/lib/usePrevious';
import { EuiCode, EuiPanel } from '@elastic/eui';
-import { css } from '@emotion/css';
import { useJsonEditorModel } from '../../hooks/use_json_editor_model';
import { type Message, MessageRole } from '../../../common';
@@ -17,13 +18,22 @@ export interface Props {
functionName: string;
functionPayload?: string;
onChange: (message: Message['message']) => void;
+ onFocus: () => void;
+ onBlur: () => void;
}
const functionNameClassName = css`
display: inline-block;
`;
-export function ChatPromptEditorFunction({ functionName, functionPayload, onChange }: Props) {
+export function PromptEditorFunction({
+ functionName,
+ functionPayload,
+ onChange,
+ onFocus,
+ onBlur,
+}: Props) {
+ const editorRef = useRef(null);
const [functionEditorLineCount, setFunctionEditorLineCount] = useState(0);
const previousPayload = usePrevious(functionPayload);
@@ -33,8 +43,8 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
initialJson: functionPayload,
});
- const handleChangeFunctionPayload = (params: string) => {
- recalculateFunctionEditorLineCount();
+ const handleChangePayload = (args: string) => {
+ recalculateLineCount();
onChange({
role: MessageRole.Assistant,
@@ -42,12 +52,12 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
function_call: {
name: functionName,
trigger: MessageRole.User,
- arguments: params,
+ arguments: args,
},
});
};
- const recalculateFunctionEditorLineCount = useCallback(() => {
+ const recalculateLineCount = useCallback(() => {
const newLineCount = model?.getLineCount() || 0;
if (newLineCount !== functionEditorLineCount) {
setFunctionEditorLineCount(newLineCount + 1);
@@ -55,8 +65,8 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
}, [functionEditorLineCount, model]);
useEffect(() => {
- recalculateFunctionEditorLineCount();
- }, [model, recalculateFunctionEditorLineCount]);
+ recalculateLineCount();
+ }, [model, recalculateLineCount]);
useEffect(() => {
if (previousPayload === undefined && initialJsonString) {
@@ -72,6 +82,10 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
}
}, [functionName, functionPayload, initialJsonString, onChange, previousPayload]);
+ editorRef.current?.onDidBlurEditorWidget(() => {
+ onBlur();
+ });
+
return (
{functionName}
@@ -81,10 +95,15 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
{ defaultMessage: 'payloadEditor' }
)}
data-test-subj="observabilityAiAssistantChatPromptEditorCodeEditor"
+ editorDidMount={(editor) => {
+ editorRef.current = editor;
+ editor.focus();
+ onFocus();
+ }}
fullWidth
height={'180px'}
- languageId="json"
isCopyable
+ languageId="json"
languageConfiguration={{
autoClosingPairs: [
{
@@ -93,9 +112,6 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
},
],
}}
- editorDidMount={(editor) => {
- editor.focus();
- }}
options={{
accessibilitySupport: 'off',
acceptSuggestionOnEnter: 'on',
@@ -121,7 +137,7 @@ export function ChatPromptEditorFunction({ functionName, functionPayload, onChan
}}
transparentBackground
value={functionPayload || ''}
- onChange={handleChangeFunctionPayload}
+ onChange={handleChangePayload}
/>
);
diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_prompt.tsx b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_natural_language.tsx
similarity index 88%
rename from x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_prompt.tsx
rename to x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_natural_language.tsx
index 57c083d9704fd..e7bd833aee356 100644
--- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_prompt_editor_prompt.tsx
+++ b/x-pack/plugins/observability_ai_assistant/public/components/prompt_editor/prompt_editor_natural_language.tsx
@@ -14,9 +14,18 @@ interface Props {
prompt: string | undefined;
onChange: (message: Message['message']) => void;
onChangeHeight: (height: number) => void;
+ onFocus: () => void;
+ onBlur: () => void;
}
-export function ChatPromptEditorPrompt({ disabled, prompt, onChange, onChangeHeight }: Props) {
+export function PromptEditorNaturalLanguage({
+ disabled,
+ prompt,
+ onChange,
+ onChangeHeight,
+ onFocus,
+ onBlur,
+}: Props) {
const textAreaRef = useRef(null);
const handleChange = (event: React.ChangeEvent) => {
@@ -44,6 +53,7 @@ export function ChatPromptEditorPrompt({ disabled, prompt, onChange, onChangeHei
if (textarea) {
textarea.focus();
+ textarea.select();
}
}, [handleResizeTextArea]);
@@ -65,6 +75,8 @@ export function ChatPromptEditorPrompt({ disabled, prompt, onChange, onChangeHei
rows={1}
value={prompt || ''}
onChange={handleChange}
+ onFocus={onFocus}
+ onBlur={onBlur}
/>
);
}
diff --git a/x-pack/plugins/observability_ai_assistant/public/hooks/use_json_editor_model.ts b/x-pack/plugins/observability_ai_assistant/public/hooks/use_json_editor_model.ts
index 230d0065e29c3..6f4535d84acef 100644
--- a/x-pack/plugins/observability_ai_assistant/public/hooks/use_json_editor_model.ts
+++ b/x-pack/plugins/observability_ai_assistant/public/hooks/use_json_editor_model.ts
@@ -12,9 +12,6 @@ import { safeJsonParse } from '../utils/safe_json_parse';
const { editor, languages, Uri } = monaco;
-const SCHEMA_URI = 'http://elastic.co/foo.json';
-const modelUri = Uri.parse(SCHEMA_URI);
-
export const useJsonEditorModel = ({
functionName,
initialJson,
@@ -28,13 +25,17 @@ export const useJsonEditorModel = ({
const [initialJsonValue, setInitialJsonValue] = useState(initialJson);
+ const SCHEMA_URI = `http://elastic.co/${functionName}.json`;
+
+ const modelUri = useMemo(() => Uri.parse(SCHEMA_URI), [SCHEMA_URI]);
+
useEffect(() => {
setInitialJsonValue(initialJson);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [functionName]);
return useMemo(() => {
- if (!functionDefinition) {
+ if (!functionDefinition || !modelUri) {
return {};
}
@@ -66,5 +67,5 @@ export const useJsonEditorModel = ({
}
return { model, initialJsonString };
- }, [functionDefinition, initialJsonValue]);
+ }, [SCHEMA_URI, functionDefinition, initialJsonValue, modelUri]);
};
diff --git a/x-pack/plugins/reporting/common/errors/map_to_reporting_error.test.ts b/x-pack/plugins/reporting/common/errors/map_to_reporting_error.test.ts
index 5e8193deaf07f..166675c2461e9 100644
--- a/x-pack/plugins/reporting/common/errors/map_to_reporting_error.test.ts
+++ b/x-pack/plugins/reporting/common/errors/map_to_reporting_error.test.ts
@@ -36,4 +36,10 @@ describe('mapToReportingError', () => {
BrowserCouldNotLaunchError
);
});
+
+ test('unknown error', () => {
+ const error = mapToReportingError(new Error('Test error msg'));
+ expect(error).toBeInstanceOf(UnknownError);
+ expect(error.message).toBe('ReportingError(code: unknown_error) "Test error msg"');
+ });
});
diff --git a/x-pack/plugins/reporting/common/errors/map_to_reporting_error.ts b/x-pack/plugins/reporting/common/errors/map_to_reporting_error.ts
index 2e3d264832381..129405be7fe8a 100644
--- a/x-pack/plugins/reporting/common/errors/map_to_reporting_error.ts
+++ b/x-pack/plugins/reporting/common/errors/map_to_reporting_error.ts
@@ -17,6 +17,21 @@ import {
UnknownError,
VisualReportingSoftDisabledError,
} from '@kbn/reporting-common';
+import { ExecutionError } from '@kbn/reporting-common/types';
+
+export function isExecutionError(error: ExecutionError | unknown): error is ExecutionError {
+ if (typeof error !== 'object' || error === null) {
+ return false;
+ }
+ return ['name', 'message', 'stack'].every((k) => k in error);
+}
+
+function getErrorName(error: ExecutionError | unknown): string | undefined {
+ if (isExecutionError(error)) {
+ return error.name;
+ }
+ return undefined;
+}
/**
* Map an error object from the Screenshotting plugin into an error type of the Reporting domain.
@@ -27,25 +42,31 @@ import {
* @param {unknown} error - a kind of error object
* @returns {ReportingError} - the converted error object
*/
-export function mapToReportingError(error: unknown): ReportingError {
+export function mapToReportingError(error: ExecutionError | unknown): ReportingError {
if (error instanceof ReportingError) {
return error;
}
+ const errorName = getErrorName(error);
switch (true) {
- case error instanceof errors.InvalidLayoutParametersError:
+ case error instanceof errors.InvalidLayoutParametersError ||
+ errorName === 'InvalidLayoutParametersError':
return new InvalidLayoutParametersError((error as Error).message);
- case error instanceof errors.DisallowedOutgoingUrl:
+ case error instanceof errors.DisallowedOutgoingUrl || errorName === 'DisallowedOutgoingUrl':
return new DisallowedOutgoingUrl((error as Error).message);
- case error instanceof errors.BrowserClosedUnexpectedly:
+ case error instanceof errors.BrowserClosedUnexpectedly ||
+ errorName === 'BrowserClosedUnexpectedly':
return new BrowserUnexpectedlyClosedError((error as Error).message);
- case error instanceof errors.FailedToCaptureScreenshot:
+ case error instanceof errors.FailedToCaptureScreenshot ||
+ errorName === 'FailedToCaptureScreenshot':
return new BrowserScreenshotError((error as Error).message);
- case error instanceof errors.FailedToSpawnBrowserError:
+ case error instanceof errors.FailedToSpawnBrowserError ||
+ errorName === 'FailedToSpawnBrowserError':
return new BrowserCouldNotLaunchError();
- case error instanceof errors.PdfWorkerOutOfMemoryError:
+ case error instanceof errors.PdfWorkerOutOfMemoryError ||
+ errorName === 'PdfWorkerOutOfMemoryError':
return new PdfWorkerOutOfMemoryError();
case error instanceof errors.InsufficientMemoryAvailableOnCloudError:
return new VisualReportingSoftDisabledError();
}
- return new UnknownError();
+ return new UnknownError((error as Error)?.message);
}
diff --git a/x-pack/plugins/reporting/server/core.ts b/x-pack/plugins/reporting/server/core.ts
index c4af9d15f8c4c..cadfecdb81db3 100644
--- a/x-pack/plugins/reporting/server/core.ts
+++ b/x-pack/plugins/reporting/server/core.ts
@@ -51,7 +51,7 @@ import { createConfig } from './config';
import { ExportTypesRegistry, checkLicense } from './lib';
import { reportingEventLoggerFactory } from './lib/event_logger/logger';
import type { IReport, ReportingStore } from './lib/store';
-import { ExecuteReportTask, MonitorReportsTask, ReportTaskParams } from './lib/tasks';
+import { ExecuteReportTask, ReportTaskParams } from './lib/tasks';
import type { ReportingPluginRouter } from './types';
export interface ReportingInternalSetup {
@@ -93,7 +93,6 @@ export class ReportingCore {
private readonly pluginStart$ = new Rx.ReplaySubject(); // observe async background startDeps
private deprecatedAllowedRoles: string[] | false = false; // DEPRECATED. If `false`, the deprecated features have been disableed
private executeTask: ExecuteReportTask;
- private monitorTask: MonitorReportsTask;
private config: ReportingConfigType;
private executing: Set;
private exportTypesRegistry = new ExportTypesRegistry();
@@ -116,7 +115,6 @@ export class ReportingCore {
});
this.deprecatedAllowedRoles = config.roles.enabled ? config.roles.allow : false;
this.executeTask = new ExecuteReportTask(this, config, this.logger);
- this.monitorTask = new MonitorReportsTask(this, config, this.logger);
this.getContract = () => ({
usesUiCapabilities: () => config.roles.enabled === false,
@@ -142,10 +140,9 @@ export class ReportingCore {
et.setup(setupDeps);
});
- const { executeTask, monitorTask } = this;
+ const { executeTask } = this;
setupDeps.taskManager.registerTaskDefinitions({
[executeTask.TYPE]: executeTask.getTaskDefinition(),
- [monitorTask.TYPE]: monitorTask.getTaskDefinition(),
});
}
@@ -161,9 +158,9 @@ export class ReportingCore {
});
const { taskManager } = startDeps;
- const { executeTask, monitorTask } = this;
- // enable this instance to generate reports and to monitor for pending reports
- await Promise.all([executeTask.init(taskManager), monitorTask.init(taskManager)]);
+ const { executeTask } = this;
+ // enable this instance to generate reports
+ await Promise.all([executeTask.init(taskManager)]);
}
public pluginStop() {
diff --git a/x-pack/plugins/reporting/server/lib/event_logger/logger.ts b/x-pack/plugins/reporting/server/lib/event_logger/logger.ts
index a1a7d8e2ea1ca..981e5edc44ded 100644
--- a/x-pack/plugins/reporting/server/lib/event_logger/logger.ts
+++ b/x-pack/plugins/reporting/server/lib/event_logger/logger.ts
@@ -62,9 +62,9 @@ export function reportingEventLoggerFactory(logger: Logger) {
this.report = report;
this.task = task;
this.eventObj = {
- event: { timezone: report.payload.browserTimezone },
+ event: { timezone: report.payload?.browserTimezone ?? 'UTC' },
kibana: {
- reporting: { id: report._id, jobType: report.jobtype },
+ reporting: { id: report._id, jobType: report.jobtype ?? 'NULL' },
...(task?.id ? { task: { id: task.id } } : undefined),
},
user: report.created_by ? { name: report.created_by } : undefined,
diff --git a/x-pack/plugins/reporting/server/lib/store/index.ts b/x-pack/plugins/reporting/server/lib/store/index.ts
index 5bc72b339d89e..168f958600815 100644
--- a/x-pack/plugins/reporting/server/lib/store/index.ts
+++ b/x-pack/plugins/reporting/server/lib/store/index.ts
@@ -12,7 +12,7 @@ export { IlmPolicyManager } from './ilm_policy_manager';
export interface IReport {
_id?: string;
- jobtype: string;
- created_by: string | false;
- payload: { browserTimezone: string };
+ jobtype?: string;
+ created_by?: string | false;
+ payload?: { browserTimezone: string };
}
diff --git a/x-pack/plugins/reporting/server/lib/store/report.ts b/x-pack/plugins/reporting/server/lib/store/report.ts
index e4ed610eeecd6..c302aaa34ea8b 100644
--- a/x-pack/plugins/reporting/server/lib/store/report.ts
+++ b/x-pack/plugins/reporting/server/lib/store/report.ts
@@ -45,6 +45,7 @@ export class Report implements Partial {
public readonly kibana_name: ReportSource['kibana_name'];
public readonly kibana_id: ReportSource['kibana_id'];
public readonly output: ReportSource['output'];
+ public readonly error: ReportSource['error'];
public readonly started_at: ReportSource['started_at'];
public readonly completed_at: ReportSource['completed_at'];
public readonly timeout: ReportSource['timeout'];
@@ -95,6 +96,7 @@ export class Report implements Partial {
this.status = opts.status || JOB_STATUS.PENDING;
this.output = opts.output || null;
+ this.error = opts.error;
this.queue_time_ms = fields?.queue_time_ms;
this.execution_time_ms = fields?.execution_time_ms;
diff --git a/x-pack/plugins/reporting/server/lib/store/store.test.ts b/x-pack/plugins/reporting/server/lib/store/store.test.ts
index 18fea1349373e..eef04ad477c45 100644
--- a/x-pack/plugins/reporting/server/lib/store/store.test.ts
+++ b/x-pack/plugins/reporting/server/lib/store/store.test.ts
@@ -221,6 +221,7 @@ describe('ReportingStore', () => {
"completed_at": undefined,
"created_at": "some time",
"created_by": "some security person",
+ "error": undefined,
"execution_time_ms": undefined,
"jobtype": "csv_searchsource",
"kibana_id": undefined,
@@ -312,6 +313,35 @@ describe('ReportingStore', () => {
expect(updateCall.if_primary_term).toBe(10002);
});
+ it('setReportError sets the if_seq_no, if_primary_term & migration_version of a saved report', async () => {
+ const store = new ReportingStore(mockCore, mockLogger);
+ const report = new SavedReport({
+ _id: 'id-of-failure',
+ _index: '.reporting-test-index-12345',
+ _seq_no: 43,
+ _primary_term: 10002,
+ jobtype: 'test-report',
+ created_by: 'created_by_test_string',
+ max_attempts: 50,
+ payload: {
+ title: 'test report',
+ headers: 'rp_test_headers',
+ objectType: 'testOt',
+ browserTimezone: 'BCD',
+ version: '7.14.0',
+ },
+ timeout: 30000,
+ });
+
+ await store.setReportError(report, { errors: 'yes' } as any);
+
+ const [[updateCall]] = mockEsClient.update.mock.calls;
+ const response = (updateCall as estypes.UpdateRequest).body?.doc as Report;
+ expect(response.migration_version).toBe(`7.14.0`);
+ expect(updateCall.if_seq_no).toBe(43);
+ expect(updateCall.if_primary_term).toBe(10002);
+ });
+
it('setReportCompleted sets the status of a saved report to completed', async () => {
const store = new ReportingStore(mockCore, mockLogger);
const report = new SavedReport({
@@ -385,39 +415,6 @@ describe('ReportingStore', () => {
`);
});
- it('prepareReportForRetry resets the expiration and status on the report document', async () => {
- const store = new ReportingStore(mockCore, mockLogger);
- const report = new SavedReport({
- _id: 'pretty-good-report-id',
- _index: '.reporting-test-index-94058763',
- _seq_no: 46,
- _primary_term: 10002,
- jobtype: 'test-report-2',
- created_by: 'created_by_test_string',
- status: JOB_STATUS.PROCESSING,
- process_expiration: '2002',
- max_attempts: 3,
- payload: {
- title: 'test report',
- headers: 'rp_test_headers',
- objectType: 'testOt',
- browserTimezone: 'utc',
- version: '7.14.0',
- },
- timeout: 30000,
- });
-
- await store.prepareReportForRetry(report);
-
- const [[updateCall]] = mockEsClient.update.mock.calls;
- const response = (updateCall as estypes.UpdateRequest).body?.doc as Report;
-
- expect(response.migration_version).toBe(`7.14.0`);
- expect(response.status).toBe(`pending`);
- expect(updateCall.if_seq_no).toBe(46);
- expect(updateCall.if_primary_term).toBe(10002);
- });
-
describe('start', () => {
it('creates an ILM policy for managing reporting indices if there is not already one', async () => {
mockEsClient.ilm.getLifecycle.mockRejectedValue({ statusCode: 404 });
diff --git a/x-pack/plugins/reporting/server/lib/store/store.ts b/x-pack/plugins/reporting/server/lib/store/store.ts
index 710a78ffe859a..c2246441c29f6 100644
--- a/x-pack/plugins/reporting/server/lib/store/store.ts
+++ b/x-pack/plugins/reporting/server/lib/store/store.ts
@@ -8,9 +8,14 @@
import { estypes } from '@elastic/elasticsearch';
import type { ElasticsearchClient, Logger } from '@kbn/core/server';
import { ILM_POLICY_NAME, JOB_STATUS, REPORTING_SYSTEM_INDEX } from '@kbn/reporting-common';
-import { ReportDocument, ReportOutput, ReportSource } from '@kbn/reporting-common/types';
+import type {
+ ExecutionError,
+ ReportDocument,
+ ReportOutput,
+ ReportSource,
+} from '@kbn/reporting-common/types';
import moment from 'moment';
-import type { IReport, Report } from '.';
+import type { Report } from '.';
import { SavedReport } from '.';
import type { ReportingCore } from '../..';
import type { ReportTaskParams } from '../tasks';
@@ -35,10 +40,11 @@ export type ReportProcessingFields = Required<{
process_expiration: Report['process_expiration'];
}>;
-export type ReportFailedFields = Required<{
- completed_at: Report['completed_at'];
+export interface ReportFailedFields {
output: ReportOutput | null;
-}>;
+ completed_at?: Report['completed_at'];
+ error?: ExecutionError | unknown;
+}
export type ReportCompletedFields = Required<{
completed_at: Report['completed_at'];
@@ -67,6 +73,20 @@ const sourceDoc = (doc: Partial): Partial => {
};
};
+const esDoc = (
+ report: SavedReport,
+ doc: Partial
+): Parameters[0] => {
+ return {
+ id: report._id,
+ index: report._index,
+ if_seq_no: report._seq_no,
+ if_primary_term: report._primary_term,
+ refresh: false,
+ body: { doc },
+ };
+};
+
const jobDebugMessage = (report: Report) =>
`${report._id} ` +
`[_index: ${report._index}] ` +
@@ -261,6 +281,7 @@ export class ReportingStore {
meta: document._source?.meta,
metrics: document._source?.metrics,
payload: document._source?.payload,
+ error: document._source?.error,
process_expiration: document._source?.process_expiration,
status: document._source?.status,
timeout: document._source?.timeout,
@@ -271,7 +292,7 @@ export class ReportingStore {
`[id: ${taskJson.id}] [index: ${taskJson.index}]`
);
this.logger.error(err);
- this.reportingCore.getEventLogger({ _id: taskJson.id } as IReport).logError(err);
+ this.reportingCore.getEventLogger({ _id: taskJson.id }).logError(err);
throw err;
}
}
@@ -288,14 +309,7 @@ export class ReportingStore {
let body: UpdateResponse;
try {
const client = await this.getClient();
- body = await client.update({
- id: report._id,
- index: report._index,
- if_seq_no: report._seq_no,
- if_primary_term: report._primary_term,
- refresh: false,
- body: { doc },
- });
+ body = await client.update(esDoc(report, doc));
} catch (err) {
this.logError(`Error in updating status to processing! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
throw err;
@@ -327,14 +341,7 @@ export class ReportingStore {
let body: UpdateResponse;
try {
const client = await this.getClient();
- body = await client.update({
- id: report._id,
- index: report._index,
- if_seq_no: report._seq_no,
- if_primary_term: report._primary_term,
- refresh: false,
- body: { doc },
- });
+ body = await client.update(esDoc(report, doc));
} catch (err) {
this.logError(`Error in updating status to failed! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
throw err;
@@ -345,103 +352,54 @@ export class ReportingStore {
return body;
}
- public async setReportCompleted(
+ public async setReportError(
report: SavedReport,
- completedInfo: ReportCompletedFields
+ errorInfo: Pick
): Promise> {
- const { output } = completedInfo;
- const status =
- output && output.warnings && output.warnings.length > 0
- ? JOB_STATUS.WARNINGS
- : JOB_STATUS.COMPLETED;
const doc = sourceDoc({
- ...completedInfo,
- status,
- } as ReportSource);
+ ...errorInfo,
+ });
let body: UpdateResponse;
try {
const client = await this.getClient();
- body = await client.update({
- id: report._id,
- index: report._index,
- if_seq_no: report._seq_no,
- if_primary_term: report._primary_term,
- refresh: false,
- body: { doc },
- });
+ body = await client.update(esDoc(report, doc));
} catch (err) {
- this.logError(`Error in updating status to complete! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
+ this.logError(`Error in updating status to failed! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
throw err;
}
- this.reportingCore.getEventLogger(report).logReportSaved();
+ this.reportingCore.getEventLogger(report).logReportFailure();
return body;
}
- public async prepareReportForRetry(report: SavedReport): Promise> {
+ public async setReportCompleted(
+ report: SavedReport,
+ completedInfo: ReportCompletedFields
+ ): Promise> {
+ const { output } = completedInfo;
+ const status =
+ output && output.warnings && output.warnings.length > 0
+ ? JOB_STATUS.WARNINGS
+ : JOB_STATUS.COMPLETED;
const doc = sourceDoc({
- status: JOB_STATUS.PENDING,
- process_expiration: null,
- });
+ ...completedInfo,
+ status,
+ } as ReportSource);
let body: UpdateResponse;
try {
const client = await this.getClient();
- body = await client.update({
- id: report._id,
- index: report._index,
- if_seq_no: report._seq_no,
- if_primary_term: report._primary_term,
- refresh: false,
- body: { doc },
- });
+ body = await client.update(esDoc(report, doc));
} catch (err) {
- this.logError(`Error in clearing expiration and status for retry! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
+ this.logError(`Error in updating status to complete! Report: ${jobDebugMessage(report)}`, err, report); // prettier-ignore
throw err;
}
- return body;
- }
-
- /*
- * A report needs to be rescheduled when:
- * 1. An older version of Kibana created jobs with ESQueue, and they have
- * not yet started running.
- * 2. The report process_expiration field is overdue, which happens if the
- * report runs too long or Kibana restarts during execution
- */
- public async findStaleReportJob(): Promise {
- const client = await this.getClient();
-
- const expiredFilter = {
- bool: {
- must: [
- { range: { process_expiration: { lt: `now` } } },
- { terms: { status: [JOB_STATUS.PROCESSING] } },
- ],
- },
- };
- const oldVersionFilter = {
- bool: {
- must: [{ terms: { status: [JOB_STATUS.PENDING] } }],
- must_not: [{ exists: { field: 'migration_version' } }],
- },
- };
-
- const body = await client.search({
- size: 1,
- index: this.indexPrefix + '-*',
- seq_no_primary_term: true,
- _source_excludes: ['output'],
- body: {
- sort: { created_at: { order: 'asc' as const } }, // find the oldest first
- query: { bool: { filter: { bool: { should: [expiredFilter, oldVersionFilter] } } } },
- },
- });
+ this.reportingCore.getEventLogger(report).logReportSaved();
- return body.hits?.hits[0] as ReportRecordTimeout;
+ return body;
}
public getReportingIndexPattern(): string {
diff --git a/x-pack/plugins/reporting/server/lib/tasks/execute_report.test.ts b/x-pack/plugins/reporting/server/lib/tasks/execute_report.test.ts
index 90b1daacc9f0c..fadda1ef59b84 100644
--- a/x-pack/plugins/reporting/server/lib/tasks/execute_report.test.ts
+++ b/x-pack/plugins/reporting/server/lib/tasks/execute_report.test.ts
@@ -33,7 +33,7 @@ describe('Execute Report Task', () => {
expect(task.getTaskDefinition()).toMatchInlineSnapshot(`
Object {
"createTaskRunner": [Function],
- "maxAttempts": 1,
+ "maxAttempts": ${configType.capture.maxAttempts + 1},
"maxConcurrency": 1,
"timeout": "120s",
"title": "Reporting: execute job",
@@ -75,7 +75,7 @@ describe('Execute Report Task', () => {
expect(task.getTaskDefinition()).toMatchInlineSnapshot(`
Object {
"createTaskRunner": [Function],
- "maxAttempts": 1,
+ "maxAttempts": 2,
"maxConcurrency": 0,
"timeout": "55s",
"title": "Reporting: execute job",
@@ -97,7 +97,7 @@ describe('Execute Report Task', () => {
validLicenses: [],
} as unknown as ExportType);
const store = await mockReporting.getStore();
- store.setReportFailed = jest.fn(() => Promise.resolve({} as any));
+ store.setReportError = jest.fn(() => Promise.resolve({} as any));
const task = new ExecuteReportTask(mockReporting, configType, logger);
task._claimJob = jest.fn(() =>
Promise.resolve({ _id: 'test', jobtype: 'noop', status: 'pending' } as SavedReport)
@@ -117,15 +117,15 @@ describe('Execute Report Task', () => {
setImmediate(() => {
mockReporting.pluginStop();
});
- await taskPromise;
+ await taskPromise.catch(() => {});
- expect(store.setReportFailed).toHaveBeenLastCalledWith(
+ expect(store.setReportError).toHaveBeenLastCalledWith(
expect.objectContaining({
_id: 'test',
}),
expect.objectContaining({
- output: expect.objectContaining({
- error_code: new KibanaShuttingDownError().code,
+ error: expect.objectContaining({
+ message: `ReportingError(code: ${new KibanaShuttingDownError().code})`,
}),
})
);
diff --git a/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts b/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts
index 8bc6ba0f865ec..8ae190a63a28f 100644
--- a/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts
+++ b/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts
@@ -22,18 +22,33 @@ import {
durationToNumber,
numberToDuration,
} from '@kbn/reporting-common';
-import type { ReportDocument, ReportOutput, TaskRunResult } from '@kbn/reporting-common/types';
+import type {
+ ExecutionError,
+ ReportDocument,
+ ReportOutput,
+ TaskRunResult,
+} from '@kbn/reporting-common/types';
import type { ReportingConfigType } from '@kbn/reporting-server';
import type {
RunContext,
TaskManagerStartContract,
TaskRunCreatorFunction,
} from '@kbn/task-manager-plugin/server';
+import { throwRetryableError } from '@kbn/task-manager-plugin/server';
-import { REPORTING_EXECUTE_TYPE, ReportTaskParams, ReportingTask, ReportingTaskStatus } from '.';
+import {
+ REPORTING_EXECUTE_TYPE,
+ TIME_BETWEEN_ATTEMPTS,
+ ReportTaskParams,
+ ReportingTask,
+ ReportingTaskStatus,
+} from '.';
import { ExportTypesRegistry, getContentStream } from '..';
import type { ReportingCore } from '../..';
-import { mapToReportingError } from '../../../common/errors/map_to_reporting_error';
+import {
+ mapToReportingError,
+ isExecutionError,
+} from '../../../common/errors/map_to_reporting_error';
import type { ReportingStore } from '../store';
import { Report, SavedReport } from '../store';
import type { ReportFailedFields, ReportProcessingFields } from '../store/store';
@@ -52,10 +67,6 @@ function isOutput(output: CompletedReportOutput | Error): output is CompletedRep
return (output as CompletedReportOutput).size != null;
}
-function reportFromTask(task: ReportTaskParams) {
- return new Report({ ...task, _id: task.id, _index: task.index });
-}
-
async function finishedWithNoPendingCallbacks(stream: Writable) {
await finished(stream, { readable: false });
@@ -72,6 +83,18 @@ async function finishedWithNoPendingCallbacks(stream: Writable) {
})();
}
+function parseError(error: unknown): ExecutionError | unknown {
+ if (error instanceof Error) {
+ return {
+ name: error.constructor.name,
+ message: error.message,
+ stack: error.stack,
+ cause: error.cause,
+ };
+ }
+ return error;
+}
+
export class ExecuteReportTask implements ReportingTask {
public TYPE = REPORTING_EXECUTE_TYPE;
@@ -138,9 +161,6 @@ export class ExecuteReportTask implements ReportingTask {
const store = await this.getStore();
const report = await store.findReportFromTask(task); // receives seq_no and primary_term
- // Check if this is a completed job. This may happen if the `reports:monitor`
- // task detected it to be a zombie job and rescheduled it, but it
- // eventually completed on its own.
if (report.status === 'completed') {
throw new Error(`Can not claim the report job: it is already completed!`);
}
@@ -148,11 +168,23 @@ export class ExecuteReportTask implements ReportingTask {
const m = moment();
// check if job has exceeded the configured maxAttempts
- const maxAttempts = this.config.capture.maxAttempts;
+ const maxAttempts = this.getMaxAttempts();
if (report.attempts >= maxAttempts) {
- const err = new QueueTimeoutError(
- `Max attempts reached (${maxAttempts}). Queue timeout reached.`
- );
+ let err: ReportingError;
+ if (report.error && isExecutionError(report.error)) {
+ // We have an error stored from a previous attempts, so we'll use that
+ // error to fail the job and return it to the user.
+ const { error } = report;
+ err = mapToReportingError(error);
+ err.stack = error.stack;
+ } else {
+ if (report.error && report.error instanceof Error) {
+ errorLogger(this.logger, 'Error executing report', report.error);
+ }
+ err = new QueueTimeoutError(
+ `Max attempts reached (${maxAttempts}). Queue timeout reached.`
+ );
+ }
await this._failJob(report, err);
throw err;
}
@@ -217,6 +249,25 @@ export class ExecuteReportTask implements ReportingTask {
return await store.setReportFailed(report, doc);
}
+ private async _saveExecutionError(
+ report: SavedReport,
+ failedToExecuteErr: any
+ ): Promise> {
+ const message = `Saving execution error for ${report.jobtype} job ${report._id}`;
+ const errorParsed = parseError(failedToExecuteErr);
+ // log the error
+ errorLogger(this.logger, message, failedToExecuteErr);
+
+ // update the report in the store
+ const store = await this.getStore();
+ const doc: ReportFailedFields = {
+ output: null,
+ error: errorParsed,
+ };
+
+ return await store.setReportError(report, doc);
+ }
+
private _formatOutput(output: CompletedReportOutput | ReportingError): ReportOutput {
const docOutput = {} as ReportOutput;
const unknownMime = null;
@@ -235,6 +286,7 @@ export class ExecuteReportTask implements ReportingTask {
docOutput.content_type = unknownMime;
docOutput.warnings = [output.toString()];
docOutput.error_code = output.code;
+ docOutput.size = typeof docOutput.content === 'string' ? docOutput.content.length : 0;
}
return docOutput;
@@ -297,7 +349,7 @@ export class ExecuteReportTask implements ReportingTask {
*/
private getTaskRunner(): TaskRunCreatorFunction {
// Keep a separate local stack for each task run
- return (context: RunContext) => {
+ return ({ taskInstance }: RunContext) => {
let jobId: string;
const cancellationToken = new CancellationToken();
@@ -311,33 +363,46 @@ export class ExecuteReportTask implements ReportingTask {
*/
run: async () => {
let report: SavedReport | undefined;
+ const isLastAttempt = taskInstance.attempts >= this.getMaxAttempts();
// find the job in the store and set status to processing
- const task = context.taskInstance.params as ReportTaskParams;
+ const task = taskInstance.params as ReportTaskParams;
+
jobId = task?.id;
try {
if (!jobId) {
throw new Error('Invalid report data provided in scheduled task!');
}
- this.reporting.trackReport(jobId);
+ if (!isLastAttempt) {
+ this.reporting.trackReport(jobId);
+ }
// Update job status to claimed
report = await this._claimJob(task);
} catch (failedToClaim) {
// error claiming report - log the error
- // could be version conflict, or no longer connected to ES
+ // could be version conflict, or too many attempts or no longer connected to ES
errorLogger(this.logger, `Error in claiming ${jobId}`, failedToClaim);
}
if (!report) {
this.reporting.untrackReport(jobId);
- errorLogger(this.logger, `Job ${jobId} could not be claimed. Exiting...`);
- return;
+
+ if (isLastAttempt) {
+ errorLogger(this.logger, `Job ${jobId} failed too many times. Exiting...`);
+ return;
+ }
+
+ const errorMessage = `Job ${jobId} could not be claimed. Exiting...`;
+ errorLogger(this.logger, errorMessage);
+
+ // Throw so Task manager can clean up the failed task
+ throw new Error(errorMessage);
}
const { jobtype: jobType, attempts } = report;
- const maxAttempts = this.config.capture.maxAttempts;
+ const maxAttempts = this.getMaxAttempts();
this.logger.debug(
`Starting ${jobType} report ${jobId}: attempt ${attempts} of ${maxAttempts}.`
@@ -393,48 +458,21 @@ export class ExecuteReportTask implements ReportingTask {
} catch (failedToExecuteErr) {
eventLog.logError(failedToExecuteErr);
- cancellationToken.cancel();
-
- if (attempts < maxAttempts) {
- // attempts remain, reschedule
- try {
- if (report == null) {
- throw new Error(`Report ${jobId} is null!`);
- }
- // reschedule to retry
- const remainingAttempts = maxAttempts - report.attempts;
- errorLogger(
- this.logger,
- `Scheduling retry for job ${jobId}. Retries remaining: ${remainingAttempts}.`,
- failedToExecuteErr
- );
-
- await this.rescheduleTask(reportFromTask(task).toReportTaskJSON(), this.logger);
- } catch (rescheduleErr) {
- // can not be rescheduled - log the error
+ await this._saveExecutionError(report, failedToExecuteErr).catch(
+ (failedToSaveError) => {
errorLogger(
this.logger,
- `Could not reschedule the errored job ${jobId}!`,
- rescheduleErr
+ `Error in saving execution error ${jobId}`,
+ failedToSaveError
);
}
- } else {
- // 0 attempts remain - fail the job
- try {
- if (report == null) {
- throw new Error(`Report ${jobId} is null!`);
- }
- const error = mapToReportingError(failedToExecuteErr);
- error.details =
- error.details ||
- `Max attempts (${attempts}) reached for job ${jobId}. Failed with: ${failedToExecuteErr.message}`;
- const resp = await this._failJob(report, error);
- report._seq_no = resp._seq_no;
- report._primary_term = resp._primary_term;
- } catch (failedToFailError) {
- errorLogger(this.logger, `Could not fail ${jobId}!`, failedToFailError);
- }
- }
+ );
+
+ cancellationToken.cancel();
+
+ const error = mapToReportingError(failedToExecuteErr);
+
+ throwRetryableError(error, new Date(Date.now() + TIME_BETWEEN_ATTEMPTS));
} finally {
this.reporting.untrackReport(jobId);
this.logger.debug(`Reports running: ${this.reporting.countConcurrentReports()}.`);
@@ -455,16 +493,21 @@ export class ExecuteReportTask implements ReportingTask {
};
}
+ private getMaxAttempts() {
+ return this.config.capture.maxAttempts ?? 1;
+ }
+
public getTaskDefinition() {
// round up from ms to the nearest second
const queueTimeout = Math.ceil(numberToDuration(this.config.queue.timeout).asSeconds()) + 's';
const maxConcurrency = this.config.queue.pollEnabled ? 1 : 0;
+ const maxAttempts = this.getMaxAttempts();
return {
type: REPORTING_EXECUTE_TYPE,
title: 'Reporting: execute job',
createTaskRunner: this.getTaskRunner(),
- maxAttempts: 1, // NOTE: not using Task Manager retries
+ maxAttempts: maxAttempts + 1, // Add 1 so we get an extra attempt in case of failure during a Kibana restart
timeout: queueTimeout,
maxConcurrency,
};
@@ -480,19 +523,6 @@ export class ExecuteReportTask implements ReportingTask {
return await this.getTaskManagerStart().schedule(taskInstance);
}
- private async rescheduleTask(task: ReportTaskParams, logger: Logger) {
- logger.info(`Rescheduling task:${task.id} to retry after error.`);
-
- const oldTaskInstance: ReportingExecuteTaskInstance = {
- taskType: REPORTING_EXECUTE_TYPE,
- state: {},
- params: task,
- };
- const newTask = await this.getTaskManagerStart().schedule(oldTaskInstance);
- logger.debug(`Rescheduled task:${task.id}. New task: task:${newTask.id}`);
- return newTask;
- }
-
public getStatus() {
if (this.taskManagerStart) {
return ReportingTaskStatus.INITIALIZED;
diff --git a/x-pack/plugins/reporting/server/lib/tasks/index.ts b/x-pack/plugins/reporting/server/lib/tasks/index.ts
index 54493aee6de58..841d499da1059 100644
--- a/x-pack/plugins/reporting/server/lib/tasks/index.ts
+++ b/x-pack/plugins/reporting/server/lib/tasks/index.ts
@@ -9,10 +9,10 @@ import { TaskRunCreatorFunction } from '@kbn/task-manager-plugin/server';
import { BasePayload, ReportSource } from '@kbn/reporting-common/types';
export const REPORTING_EXECUTE_TYPE = 'report:execute';
-export const REPORTING_MONITOR_TYPE = 'reports:monitor';
+
+export const TIME_BETWEEN_ATTEMPTS = 10 * 1000; // 10 seconds
export { ExecuteReportTask } from './execute_report';
-export { MonitorReportsTask } from './monitor_reports';
export interface ReportTaskParams {
id: string;
diff --git a/x-pack/plugins/reporting/server/lib/tasks/monitor_report.test.ts b/x-pack/plugins/reporting/server/lib/tasks/monitor_report.test.ts
deleted file mode 100644
index cf17fd2c65221..0000000000000
--- a/x-pack/plugins/reporting/server/lib/tasks/monitor_report.test.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import { loggingSystemMock } from '@kbn/core/server/mocks';
-import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
-import type { RunContext } from '@kbn/task-manager-plugin/server';
-import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks';
-import type { ReportingConfigType } from '@kbn/reporting-server';
-import { MonitorReportsTask } from '.';
-import type { ReportingCore } from '../..';
-import { createMockReportingCore } from '../../test_helpers';
-
-const logger = loggingSystemMock.createLogger();
-
-describe('Execute Report Task', () => {
- let mockReporting: ReportingCore;
- let configType: ReportingConfigType;
- beforeAll(async () => {
- configType = createMockConfigSchema();
- mockReporting = await createMockReportingCore(configType);
- });
-
- it('Instance setup', () => {
- const task = new MonitorReportsTask(mockReporting, configType, logger);
- expect(task.getStatus()).toBe('uninitialized');
- expect(task.getTaskDefinition()).toMatchInlineSnapshot(`
- Object {
- "createTaskRunner": [Function],
- "maxAttempts": 1,
- "timeout": "120s",
- "title": "Reporting: monitor jobs",
- "type": "reports:monitor",
- }
- `);
- });
-
- it('Instance start', () => {
- const mockTaskManager = taskManagerMock.createStart();
- const task = new MonitorReportsTask(mockReporting, configType, logger);
- expect(task.init(mockTaskManager));
- expect(task.getStatus()).toBe('initialized');
- });
-
- it('create task runner', async () => {
- logger.info = jest.fn();
- logger.error = jest.fn();
-
- const task = new MonitorReportsTask(mockReporting, configType, logger);
- const taskDef = task.getTaskDefinition();
- const taskRunner = taskDef.createTaskRunner({
- taskInstance: {
- id: 'random-task-id',
- params: { index: 'cool-reporting-index', id: 'cool-reporting-id' },
- },
- } as unknown as RunContext);
- expect(taskRunner).toHaveProperty('run');
- expect(taskRunner).toHaveProperty('cancel');
- });
-});
diff --git a/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts b/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts
deleted file mode 100644
index c42e2f8afa5b2..0000000000000
--- a/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
- * or more contributor license agreements. Licensed under the Elastic License
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import type { Logger } from '@kbn/core/server';
-import moment from 'moment';
-import type {
- TaskManagerStartContract,
- TaskRunCreatorFunction,
-} from '@kbn/task-manager-plugin/server';
-import { JOB_STATUS, numberToDuration } from '@kbn/reporting-common';
-import type { ReportingConfigType } from '@kbn/reporting-server';
-import { ReportingStore } from '..';
-import { ReportingCore } from '../..';
-import { SavedReport } from '../store';
-import { ReportingTask, ReportingTaskStatus, REPORTING_MONITOR_TYPE, ReportTaskParams } from '.';
-
-/*
- * Task for finding the ReportingRecords left in the ReportingStore (.reporting index) and stuck in
- * a pending or processing status.
- *
- * Stuck in pending:
- * - This can happen if the report was scheduled in an earlier version of Kibana that used ESQueue.
- * - Task Manager doesn't know about these types of reports because there was never a task
- * scheduled for them.
- * Stuck in processing:
- * - This can could happen if the server crashed while a report was executing.
- * - Task Manager doesn't know about these reports, because the task is completed in Task
- * Manager when Reporting starts executing the report. We are not using Task Manager's retry
- * mechanisms, which defer the retry for a few minutes.
- *
- * These events require us to reschedule the report with Task Manager, so that the jobs can be
- * distributed and executed.
- *
- * The runner function reschedules a single report job per task run, to avoid flooding Task Manager
- * in case many report jobs need to be recovered.
- */
-export class MonitorReportsTask implements ReportingTask {
- public TYPE = REPORTING_MONITOR_TYPE;
-
- private logger: Logger;
- private taskManagerStart?: TaskManagerStartContract;
- private store?: ReportingStore;
- private timeout: moment.Duration;
-
- constructor(
- private reporting: ReportingCore,
- private config: ReportingConfigType,
- parentLogger: Logger
- ) {
- this.logger = parentLogger.get(REPORTING_MONITOR_TYPE);
- this.timeout = numberToDuration(config.queue.timeout);
- }
-
- private async getStore(): Promise {
- if (this.store) {
- return this.store;
- }
- const { store } = await this.reporting.getPluginStartDeps();
- this.store = store;
- return store;
- }
-
- public async init(taskManager: TaskManagerStartContract) {
- this.taskManagerStart = taskManager;
-
- // Round the interval up to the nearest second since Task Manager doesn't
- // support milliseconds
- const scheduleInterval =
- Math.ceil(numberToDuration(this.config.queue.pollInterval).asSeconds()) + 's';
- this.logger.debug(`Task to monitor for pending reports to run every ${scheduleInterval}.`);
- await taskManager.ensureScheduled({
- id: this.TYPE,
- taskType: this.TYPE,
- schedule: { interval: scheduleInterval },
- state: {},
- params: {},
- });
- }
-
- private getTaskRunner(): TaskRunCreatorFunction {
- return () => {
- return {
- run: async () => {
- const reportingStore = await this.getStore();
-
- try {
- const recoveredJob = await reportingStore.findStaleReportJob();
- if (!recoveredJob) {
- // no reports need to be rescheduled
- return;
- }
-
- const report = new SavedReport({ ...recoveredJob, ...recoveredJob._source });
- const { _id: jobId, process_expiration: processExpiration, status } = report;
- const eventLog = this.reporting.getEventLogger(report);
-
- if (![JOB_STATUS.PENDING, JOB_STATUS.PROCESSING].includes(status)) {
- const invalidStatusError = new Error(
- `Invalid job status in the monitoring search result: ${status}`
- ); // only pending or processing jobs possibility need rescheduling
- this.logger.error(invalidStatusError);
- eventLog.logError(invalidStatusError);
-
- // fatal: can not reschedule the job
- throw invalidStatusError;
- }
-
- if (status === JOB_STATUS.PENDING) {
- const migratingJobError = new Error(
- `${jobId} was scheduled in a previous version and left in [${status}] status. Rescheduling...`
- );
- this.logger.error(migratingJobError);
- eventLog.logError(migratingJobError);
- }
-
- if (status === JOB_STATUS.PROCESSING) {
- const expirationTime = moment(processExpiration);
- const overdueValue = moment().valueOf() - expirationTime.valueOf();
- const overdueExpirationError = new Error(
- `${jobId} status is [${status}] and the expiration time was [${overdueValue}ms] ago. Rescheduling...`
- );
- this.logger.error(overdueExpirationError);
- eventLog.logError(overdueExpirationError);
- }
-
- eventLog.logRetry();
-
- // clear process expiration and set status to pending
- await reportingStore.prepareReportForRetry(report); // if there is a version conflict response, this just throws and logs an error
-
- // clear process expiration and reschedule
- await this.rescheduleTask(report.toReportTaskJSON(), this.logger); // a recovered report job must be scheduled by only a sinle Kibana instance
- } catch (err) {
- this.logger.error(err);
- }
-
- return;
- },
-
- cancel: async () => ({ state: {} }),
- };
- };
- }
-
- public getTaskDefinition() {
- return {
- type: REPORTING_MONITOR_TYPE,
- title: 'Reporting: monitor jobs',
- createTaskRunner: this.getTaskRunner(),
- maxAttempts: 1,
- // round the timeout value up to the nearest second, since Task Manager
- // doesn't support milliseconds or > 1s
- timeout: Math.ceil(this.timeout.asSeconds()) + 's',
- };
- }
-
- // reschedule the task with TM
- private async rescheduleTask(task: ReportTaskParams, logger: Logger) {
- if (!this.taskManagerStart) {
- throw new Error('Reporting task runner has not been initialized!');
- }
- logger.info(`Rescheduling task:${task.id} to retry.`);
-
- const newTask = await this.reporting.scheduleTask(task);
-
- return newTask;
- }
-
- public getStatus() {
- if (this.taskManagerStart) {
- return ReportingTaskStatus.INITIALIZED;
- }
-
- return ReportingTaskStatus.UNINITIALIZED;
- }
-}
diff --git a/x-pack/plugins/reporting/server/routes/common/generate/request_handler.test.ts b/x-pack/plugins/reporting/server/routes/common/generate/request_handler.test.ts
index 16d1107da4b56..0d84eb1c56061 100644
--- a/x-pack/plugins/reporting/server/routes/common/generate/request_handler.test.ts
+++ b/x-pack/plugins/reporting/server/routes/common/generate/request_handler.test.ts
@@ -123,6 +123,7 @@ describe('Handle request to generate', () => {
"attempts": 0,
"completed_at": undefined,
"created_by": "testymcgee",
+ "error": undefined,
"execution_time_ms": undefined,
"jobtype": "printable_pdf_v2",
"kibana_id": undefined,
@@ -218,10 +219,10 @@ describe('Handle request to generate', () => {
test('disallows invalid export type', async () => {
expect(await requestHandler.handleGenerateRequest('neanderthals', mockJobParams))
.toMatchInlineSnapshot(`
- Object {
- "body": "Invalid export-type of neanderthals",
- }
- `);
+ Object {
+ "body": "Invalid export-type of neanderthals",
+ }
+ `);
});
test('disallows unsupporting license', async () => {
@@ -234,10 +235,10 @@ describe('Handle request to generate', () => {
expect(await requestHandler.handleGenerateRequest('csv_searchsource', mockJobParams))
.toMatchInlineSnapshot(`
- Object {
- "body": "seeing this means the license isn't supported",
- }
- `);
+ Object {
+ "body": "seeing this means the license isn't supported",
+ }
+ `);
});
test('disallows invalid browser timezone', async () => {
diff --git a/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.test.ts b/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.test.ts
index 8cc9e45d43b6e..5af6071afd925 100644
--- a/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.test.ts
+++ b/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.test.ts
@@ -14,7 +14,7 @@ import {
RISK_SCORE_MEDIUM,
RISK_SCORE_HIGH,
RISK_SCORE_CRITICAL,
-} from '../../../../../detections/components/rules/step_about_rule/data';
+} from '../../../../constants';
import { getFillColor, getRiskScorePalette, RISK_SCORE_STEPS } from '.';
describe('getFillColor', () => {
diff --git a/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.ts b/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.ts
index 56c474522172a..c4f044e04c100 100644
--- a/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.ts
+++ b/x-pack/plugins/security_solution/public/common/components/alerts_treemap/lib/chart_palette/index.ts
@@ -15,7 +15,7 @@ import {
RISK_SCORE_MEDIUM,
RISK_SCORE_HIGH,
RISK_SCORE_CRITICAL,
-} from '../../../../../detections/components/rules/step_about_rule/data';
+} from '../../../../constants';
/**
* The detection engine creates risk scores in the range 1 - 100.
diff --git a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx
index 3c8ab819527b6..6cfc5729b726a 100644
--- a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx
@@ -7,6 +7,7 @@
import type { DiscoverStateContainer } from '@kbn/discover-plugin/public';
import type { SaveSavedSearchOptions } from '@kbn/saved-search-plugin/public';
+import { isEqualWith } from 'lodash';
import { useMemo, useCallback, useRef } from 'react';
import type { RefObject } from 'react';
import { useDispatch } from 'react-redux';
@@ -14,15 +15,13 @@ import type { SavedSearch } from '@kbn/saved-search-plugin/common';
import type { DiscoverAppState } from '@kbn/discover-plugin/public/application/main/services/discover_app_state_container';
import type { TimeRange } from '@kbn/es-query';
import { useMutation, useQueryClient } from '@tanstack/react-query';
-import { defaultHeaders } from '@kbn/securitysolution-data-table';
import { timelineDefaults } from '../../../timelines/store/defaults';
import { TimelineId } from '../../../../common/types';
import { timelineActions, timelineSelectors } from '../../../timelines/store';
import { useAppToasts } from '../../hooks/use_app_toasts';
import { useShallowEqualSelector } from '../../hooks/use_selector';
import { useKibana } from '../../lib/kibana';
-import { useSourcererDataView } from '../../containers/sourcerer';
-import { SourcererScopeName } from '../../store/sourcerer/model';
+import { savedSearchComparator } from '../../../timelines/components/timeline/esql_tab_content/utils';
import {
DISCOVER_SEARCH_SAVE_ERROR_TITLE,
DISCOVER_SEARCH_SAVE_ERROR_UNKNOWN,
@@ -40,17 +39,11 @@ export const useDiscoverInTimelineActions = (
const { addError } = useAppToasts();
const {
- services: {
- customDataService: discoverDataService,
- savedSearch: savedSearchService,
- dataViews: dataViewService,
- },
+ services: { customDataService: discoverDataService, savedSearch: savedSearchService },
} = useKibana();
const dispatch = useDispatch();
- const { dataViewId } = useSourcererDataView(SourcererScopeName.detections);
-
const getTimeline = useMemo(() => timelineSelectors.getTimelineByIdSelector(), []);
const timeline = useShallowEqualSelector(
(state) => getTimeline(state, TimelineId.active) ?? timelineDefaults
@@ -71,22 +64,23 @@ export const useDiscoverInTimelineActions = (
savedSearch: SavedSearch;
savedSearchOptions: SaveSavedSearchOptions;
}) => savedSearchService.save(savedSearch, savedSearchOptions),
- onSuccess: () => {
+ onSuccess: (data) => {
// Invalidate and refetch
+ if (data) {
+ dispatch(
+ timelineActions.endTimelineSaving({
+ id: TimelineId.active,
+ })
+ );
+ }
queryClient.invalidateQueries({ queryKey: ['savedSearchById', savedSearchId] });
},
});
const getDefaultDiscoverAppState: () => Promise = useCallback(async () => {
- const localDataViewId = dataViewId ?? 'security-solution-default';
-
- const dataView = await dataViewService.get(localDataViewId);
- const defaultColumns = defaultHeaders.map((header) => header.id);
return {
query: {
- esql: dataView
- ? `from ${dataView.getIndexPattern()} | limit 10 | keep ${defaultColumns.join(', ')}`
- : '',
+ esql: '',
},
sort: [['@timestamp', 'desc']],
columns: [],
@@ -95,7 +89,7 @@ export const useDiscoverInTimelineActions = (
hideChart: true,
grid: {},
};
- }, [dataViewService, dataViewId]);
+ }, []);
/*
* generates Appstate from a given saved Search object
@@ -159,7 +153,6 @@ export const useDiscoverInTimelineActions = (
function onError(error: Error) {
addError(error, { title: DISCOVER_SEARCH_SAVE_ERROR_TITLE });
}
-
try {
const id = await saveSavedSearch({
savedSearch,
@@ -198,7 +191,9 @@ export const useDiscoverInTimelineActions = (
savedSearch,
})
);
- } else {
+ } else if (
+ !isEqualWith(timelineRef.current.savedSearch, savedSearch, savedSearchComparator)
+ ) {
dispatch(
timelineActions.updateSavedSearch({
id: TimelineId.active,
@@ -219,11 +214,10 @@ export const useDiscoverInTimelineActions = (
copyOnSave: !savedSearchId,
});
- if (!response || !response.id) {
- throw new Error('Unknown Error occured');
- }
-
- if (!savedSearchId) {
+ const responseIsEmpty = !response || !response?.id;
+ if (responseIsEmpty) {
+ throw new Error('Response is empty');
+ } else if (!savedSearchId && !responseIsEmpty) {
dispatch(
timelineActions.updateSavedSearchId({
id: TimelineId.active,
@@ -234,10 +228,6 @@ export const useDiscoverInTimelineActions = (
dispatch(timelineActions.saveTimeline({ id: TimelineId.active, saveAsNew: false }));
}
} catch (err) {
- addError(DISCOVER_SEARCH_SAVE_ERROR_TITLE, {
- title: DISCOVER_SEARCH_SAVE_ERROR_TITLE,
- toastMessage: String(err),
- });
dispatch(
timelineActions.endTimelineSaving({
id: TimelineId.active,
@@ -246,7 +236,7 @@ export const useDiscoverInTimelineActions = (
}
}
},
- [persistSavedSearch, savedSearchId, addError, dispatch, discoverDataService]
+ [persistSavedSearch, savedSearchId, dispatch, discoverDataService]
);
const initializeLocalSavedSearch = useCallback(
diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/insights/simple_alert_table.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/insights/simple_alert_table.tsx
index 903122beba332..c3d2c826021e0 100644
--- a/x-pack/plugins/security_solution/public/common/components/event_details/insights/simple_alert_table.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/event_details/insights/simple_alert_table.tsx
@@ -11,7 +11,7 @@ import type { Severity } from '@kbn/securitysolution-io-ts-alerting-types';
import { EuiBasicTable, EuiSkeletonText, EuiSpacer } from '@elastic/eui';
import { PreferenceFormattedDate } from '../../formatted_date';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../severity_badge';
import { useAlertsByIds } from '../../../containers/alerts/use_alerts_by_ids';
import { SIMPLE_ALERT_TABLE_ERROR, SIMPLE_ALERT_TABLE_LIMITED } from './translations';
diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/overview/index.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/overview/index.tsx
index 762671896b36e..1ce8e1ef03c60 100644
--- a/x-pack/plugins/security_solution/public/common/components/event_details/overview/index.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/event_details/overview/index.tsx
@@ -28,7 +28,7 @@ import {
import { FormattedFieldValue } from '../../../../timelines/components/timeline/body/renderers/formatted_field';
import { OverviewCardWithActions, OverviewCard } from './overview_card';
import { StatusPopoverButton } from './status_popover_button';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../severity_badge';
import { useThrottledResizeObserver } from '../../utils';
import { isNotNull } from '../../../../timelines/store/helpers';
diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/overview/overview_card.test.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/overview/overview_card.test.tsx
index 3d6808847de0f..b0aa72c0a7b9d 100644
--- a/x-pack/plugins/security_solution/public/common/components/event_details/overview/overview_card.test.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/event_details/overview/overview_card.test.tsx
@@ -15,7 +15,7 @@ import {
SUB_PLUGINS_REDUCER,
TestProviders,
} from '../../../mock';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../severity_badge';
import type { State } from '../../../store';
import { createStore } from '../../../store';
import { TimelineId } from '../../../../../common/types';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation/hooks/index.ts b/x-pack/plugins/security_solution/public/common/components/hooks/index.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detection_engine/rule_creation/hooks/index.ts
rename to x-pack/plugins/security_solution/public/common/components/hooks/index.ts
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation/hooks/use_is_esql_rule_type_enabled.ts b/x-pack/plugins/security_solution/public/common/components/hooks/use_is_esql_rule_type_enabled.ts
similarity index 77%
rename from x-pack/plugins/security_solution/public/detection_engine/rule_creation/hooks/use_is_esql_rule_type_enabled.ts
rename to x-pack/plugins/security_solution/public/common/components/hooks/use_is_esql_rule_type_enabled.ts
index 1bd45eb43156f..239c49088e644 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation/hooks/use_is_esql_rule_type_enabled.ts
+++ b/x-pack/plugins/security_solution/public/common/components/hooks/use_is_esql_rule_type_enabled.ts
@@ -5,8 +5,8 @@
* 2.0.
*/
-import { useIsExperimentalFeatureEnabled } from '../../../common/hooks/use_experimental_features';
-import { useKibana } from '../../../common/lib/kibana';
+import { useIsExperimentalFeatureEnabled } from '../../hooks/use_experimental_features';
+import { useKibana } from '../../lib/kibana';
export const useIsEsqlRuleTypeEnabled = (): boolean => {
const isEsqlSettingEnabled = useKibana().services.configSettings.ESQLEnabled;
diff --git a/x-pack/plugins/security_solution/public/common/components/matrix_histogram/types.ts b/x-pack/plugins/security_solution/public/common/components/matrix_histogram/types.ts
index 6d5df295dbc41..491a3f3b37ca9 100644
--- a/x-pack/plugins/security_solution/public/common/components/matrix_histogram/types.ts
+++ b/x-pack/plugins/security_solution/public/common/components/matrix_histogram/types.ts
@@ -15,7 +15,7 @@ import type { InputsModelId } from '../../store/inputs/constants';
import type { MatrixHistogramType } from '../../../../common/search_strategy/security_solution';
import type { UpdateDateRange } from '../charts/common';
import type { GlobalTimeArgs } from '../../containers/use_global_time';
-import type { FieldValueThreshold } from '../../../detections/components/rules/threshold_input';
+import type { FieldValueThreshold } from '../../../detection_engine/rule_creation_ui/components/threshold_input';
import type { GetLensAttributes, LensAttributes } from '../visualization_actions/types';
export type MatrixHistogramMappingTypes = Record<
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/severity_badge/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/severity_badge/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/severity_badge/index.test.tsx
rename to x-pack/plugins/security_solution/public/common/components/severity_badge/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/severity_badge/index.tsx b/x-pack/plugins/security_solution/public/common/components/severity_badge/index.tsx
similarity index 93%
rename from x-pack/plugins/security_solution/public/detections/components/rules/severity_badge/index.tsx
rename to x-pack/plugins/security_solution/public/common/components/severity_badge/index.tsx
index a265a5d4bf16c..4c6312761666f 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/severity_badge/index.tsx
+++ b/x-pack/plugins/security_solution/public/common/components/severity_badge/index.tsx
@@ -10,7 +10,7 @@ import { upperFirst } from 'lodash/fp';
import { euiLightVars } from '@kbn/ui-theme';
import type { Severity } from '@kbn/securitysolution-io-ts-alerting-types';
-import { HealthTruncateText } from '../../../../common/components/health_truncate_text';
+import { HealthTruncateText } from '../health_truncate_text';
const { euiColorVis0, euiColorVis5, euiColorVis7, euiColorVis9 } = euiLightVars;
const severityToColorMap: Record = {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/technical_preview_badge/index.tsx b/x-pack/plugins/security_solution/public/common/components/technical_preview_badge/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/technical_preview_badge/index.tsx
rename to x-pack/plugins/security_solution/public/common/components/technical_preview_badge/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/technical_preview_badge/translations.ts b/x-pack/plugins/security_solution/public/common/components/technical_preview_badge/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/technical_preview_badge/translations.ts
rename to x-pack/plugins/security_solution/public/common/components/technical_preview_badge/translations.ts
diff --git a/x-pack/plugins/security_solution/public/common/constants.ts b/x-pack/plugins/security_solution/public/common/constants.ts
new file mode 100644
index 0000000000000..62ac21424d604
--- /dev/null
+++ b/x-pack/plugins/security_solution/public/common/constants.ts
@@ -0,0 +1,18 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { euiLightVars } from '@kbn/ui-theme';
+
+export const RISK_COLOR_LOW = euiLightVars.euiColorVis0;
+export const RISK_COLOR_MEDIUM = euiLightVars.euiColorVis5;
+export const RISK_COLOR_HIGH = euiLightVars.euiColorVis7;
+export const RISK_COLOR_CRITICAL = euiLightVars.euiColorVis9;
+
+export const RISK_SCORE_LOW = 21;
+export const RISK_SCORE_MEDIUM = 47;
+export const RISK_SCORE_HIGH = 73;
+export const RISK_SCORE_CRITICAL = 99;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/ml_audit_icon.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/ml_audit_icon.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/ml_audit_icon.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/ml_audit_icon.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/ml_audit_icon.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/ml_audit_icon.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_audit_icon/ml_audit_icon.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_audit_icon/ml_audit_icon.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/ml_job_link.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/ml_job_link.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/ml_job_link.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/ml_job_link.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/ml_job_link.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/ml_job_link.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_link/ml_job_link.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_link/ml_job_link.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/help_text.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/help_text.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/help_text.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/help_text.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/help_text.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/help_text.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/help_text.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/help_text.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/index.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/index.tsx
index 7e55c3cb43770..e9c22457d7465 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/index.tsx
@@ -23,7 +23,6 @@ import type { FieldHook } from '../../../../shared_imports';
import { getFieldValidityAndErrorMessage } from '../../../../shared_imports';
import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs';
import { useKibana } from '../../../../common/lib/kibana';
-import { ML_JOB_SELECT_PLACEHOLDER_TEXT } from '../step_define_rule/translations';
import { HelpText } from './help_text';
import * as i18n from './translations';
@@ -135,7 +134,7 @@ export const MlJobSelect: React.FC = ({ describedByIds = [], f
isLoading={loading}
onChange={handleJobSelect}
options={jobOptions}
- placeholder={ML_JOB_SELECT_PLACEHOLDER_TEXT}
+ placeholder={i18n.ML_JOB_SELECT_PLACEHOLDER_TEXT}
renderOption={renderJobOption}
rowHeight={50}
selectedOptions={selectedJobOptions}
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/translations.tsx
similarity index 70%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/translations.tsx
index 470f0a9b66394..e0beadc019b4f 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_select/translations.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_select/translations.tsx
@@ -13,3 +13,10 @@ export const CREATE_CUSTOM_JOB_BUTTON_TITLE = i18n.translate(
defaultMessage: 'Create custom job',
}
);
+
+export const ML_JOB_SELECT_PLACEHOLDER_TEXT = i18n.translate(
+ 'xpack.securitySolution.detectionEngine.createRule.stepDefineRule.mlJobSelectPlaceholderText',
+ {
+ defaultMessage: 'Select a job',
+ }
+);
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/ml_job_status_badge.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/ml_job_status_badge.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/ml_job_status_badge.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/ml_job_status_badge.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/ml_job_status_badge.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/ml_job_status_badge.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/ml_job_status_badge.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/ml_job_status_badge.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_job_status_badge/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_job_status_badge/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_job_description.integration.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_job_description.integration.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_job_description.integration.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_job_description.integration.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_job_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_job_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_job_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_job_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_jobs_description.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_jobs_description.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_jobs_description.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_jobs_description.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_jobs_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_jobs_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/admin/ml_admin_jobs_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/admin/ml_admin_jobs_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_job_item.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_job_item.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_job_item.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_job_item.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_jobs_description.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_jobs_description.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_jobs_description.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_jobs_description.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_jobs_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_jobs_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/ml_jobs_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/ml_jobs_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_job_description.integration.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_job_description.integration.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_job_description.integration.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_job_description.integration.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_job_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_job_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_job_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_job_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_jobs_description.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_jobs_description.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_jobs_description.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_jobs_description.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_jobs_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_jobs_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/ml_jobs_description/user/ml_user_jobs_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/ml_jobs_description/user/ml_user_jobs_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/pick_timeline/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/pick_timeline/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/pick_timeline/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/pick_timeline/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/pick_timeline/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/pick_timeline/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/pick_timeline/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/pick_timeline/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_actions_field/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/rule_actions_field/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/duration_input/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/duration_input/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/schedule_item_form/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.test.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.test.tsx
index e1a6440edd0d0..953e75ab5ceda 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.test.tsx
@@ -14,10 +14,10 @@ import { StepAboutRuleToggleDetails } from '.';
import {
mockRule,
mockAboutStepRule,
-} from '../../../../detection_engine/rule_management_ui/components/rules_table/__mocks__/mock';
+} from '../../../rule_management_ui/components/rules_table/__mocks__/mock';
import { HeaderSection } from '../../../../common/components/header_section';
-import { StepAboutRule } from '../step_about_rule';
-import type { AboutStepRule } from '../../../pages/detection_engine/rules/types';
+import { StepAboutRule } from '../../../rule_creation_ui/components/step_about_rule';
+import type { AboutStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import { getMockTheme } from '../../../../common/lib/kibana/kibana_react.mock';
jest.mock('../../../../common/lib/kibana');
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.tsx
index bd5287e04c24b..65c2a253b86b5 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/index.tsx
@@ -21,13 +21,13 @@ import type { PropsWithChildren } from 'react';
import React, { memo, useCallback, useMemo, useState } from 'react';
import { css } from '@emotion/css';
-import { RuleAboutSection } from '../../../../detection_engine/rule_management/components/rule_details/rule_about_section';
+import { RuleAboutSection } from '../../../rule_management/components/rule_details/rule_about_section';
import { HeaderSection } from '../../../../common/components/header_section';
import { MarkdownRenderer } from '../../../../common/components/markdown_editor';
import type {
AboutStepRule,
AboutStepRuleDetails,
-} from '../../../pages/detection_engine/rules/types';
+} from '../../../../detections/pages/detection_engine/rules/types';
import * as i18n from './translations';
import { fullHeight } from './styles';
import type { RuleResponse } from '../../../../../common/api/detection_engine';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/styles.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/styles.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/styles.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/styles.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule_details/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_about_rule_details/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_content_wrapper/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_content_wrapper/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_content_wrapper/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_content_wrapper/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_content_wrapper/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_content_wrapper/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_content_wrapper/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_content_wrapper/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_panel/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_panel/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_panel/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_panel/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_panel/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_panel/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_panel/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_panel/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/get_schema.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/get_schema.ts
similarity index 79%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/get_schema.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/get_schema.ts
index f16cac0eb923a..67753c810422b 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/get_schema.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/get_schema.ts
@@ -6,10 +6,10 @@
*/
import type { ActionTypeRegistryContract } from '@kbn/triggers-actions-ui-plugin/public';
-import { debouncedValidateRuleActionsField } from '../../../containers/detection_engine/rules/validate_rule_actions_field';
+import { debouncedValidateRuleActionsField } from '../../../../detections/containers/detection_engine/rules/validate_rule_actions_field';
import type { FormSchema } from '../../../../shared_imports';
-import type { ActionsStepRule } from '../../../pages/detection_engine/rules/types';
+import type { ActionsStepRule } from '../../../../detections/pages/detection_engine/rules/types';
export const getSchema = ({
actionTypeRegistry,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.test.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.test.tsx
index afa4327fe6b27..1785da88cc16a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.test.tsx
@@ -16,10 +16,10 @@ import {
defaultSchedule,
stepAboutDefaultValue,
stepDefineDefaultValue,
-} from '../../../pages/detection_engine/rules/utils';
-import { useRuleForms } from '../../../../detection_engine/rule_creation_ui/pages/form';
+} from '../../../../detections/pages/detection_engine/rules/utils';
+import { useRuleForms } from '../../../rule_creation_ui/pages/form';
import type { FormHook } from '../../../../shared_imports';
-import type { ActionsStepRule } from '../../../pages/detection_engine/rules/types';
+import type { ActionsStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import { FrequencyDescription } from './notification_action';
jest.mock('../../../../common/lib/kibana', () => ({
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.tsx
similarity index 93%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.tsx
index 31b0529fee4c3..ebf6b1bf0930c 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/index.tsx
@@ -19,15 +19,18 @@ import type { Type } from '@kbn/securitysolution-io-ts-alerting-types';
import type { RuleObjectId } from '../../../../../common/api/detection_engine/model/rule_schema';
import { isQueryRule } from '../../../../../common/detection_engine/utils';
import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features';
-import { ResponseActionsForm } from '../../../../detection_engine/rule_response_actions/response_actions_form';
-import type { RuleStepProps, ActionsStepRule } from '../../../pages/detection_engine/rules/types';
+import { ResponseActionsForm } from '../../../rule_response_actions/response_actions_form';
+import type {
+ RuleStepProps,
+ ActionsStepRule,
+} from '../../../../detections/pages/detection_engine/rules/types';
import { Form, UseField } from '../../../../shared_imports';
import type { FormHook } from '../../../../shared_imports';
import { StepContentWrapper } from '../step_content_wrapper';
import { RuleActionsField } from '../rule_actions_field';
import { useKibana } from '../../../../common/lib/kibana';
-import { useFetchConnectorsQuery } from '../../../../detection_engine/rule_management/api/hooks/use_fetch_connectors_query';
-import { useFetchConnectorTypesQuery } from '../../../../detection_engine/rule_management/api/hooks/use_fetch_connector_types_query';
+import { useFetchConnectorsQuery } from '../../../rule_management/api/hooks/use_fetch_connectors_query';
+import { useFetchConnectorTypesQuery } from '../../../rule_management/api/hooks/use_fetch_connector_types_query';
import * as i18n from './translations';
import { RuleSnoozeSection } from './rule_snooze_section';
import { NotificationAction } from './notification_action';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/notification_action.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/notification_action.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/notification_action.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/notification_action.tsx
index 6a02a6da88291..c5325e449287c 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/notification_action.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/notification_action.tsx
@@ -12,7 +12,7 @@ import type { ActionResult } from '@kbn/actions-plugin/server';
import type { RuleActionFrequency, RuleAction } from '@kbn/alerting-plugin/common';
import type { ActionTypeRegistryContract } from '@kbn/triggers-actions-ui-plugin/public';
import { FormattedMessage } from '@kbn/i18n-react';
-import { getTimeTypeValue } from '../../../../detection_engine/rule_creation_ui/pages/rule_creation/helpers';
+import { getTimeTypeValue } from '../../../rule_creation_ui/pages/rule_creation/helpers';
import * as i18n from './translations';
const DescriptionLine = ({ children }: { children: React.ReactNode }) => (
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/response_action.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/response_action.tsx
similarity index 91%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/response_action.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/response_action.tsx
index 6607ce29e9bc9..5ae1dab1687e8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/response_action.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/response_action.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import { EuiToolTip, EuiText, EuiFlexGroup, EuiFlexItem, EuiIcon } from '@elastic/eui';
import type { RuleAction } from '@kbn/alerting-plugin/common';
-import { getActionDetails } from '../../../../detection_engine/rule_response_actions/constants';
+import { getActionDetails } from '../../../rule_response_actions/constants';
interface ResponseActionProps {
action: Omit;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/rule_snooze_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/rule_snooze_section.tsx
similarity index 89%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/rule_snooze_section.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/rule_snooze_section.tsx
index 965537e1442ca..deb453cc535e1 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/rule_snooze_section.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/rule_snooze_section.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import { EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui';
import type { RuleObjectId } from '../../../../../common/api/detection_engine/model/rule_schema';
-import { RuleSnoozeBadge } from '../../../../detection_engine/rule_management/components/rule_snooze_badge';
+import { RuleSnoozeBadge } from '../../../rule_management/components/rule_snooze_badge';
import * as i18n from './translations';
interface RuleSnoozeSectionProps {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation/components/step_rule_actions/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation/logic/esql_validator.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/logic/esql_validator.ts
index bbc598ec9e458..9cadae108ac22 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation/logic/esql_validator.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation/logic/esql_validator.ts
@@ -15,7 +15,7 @@ import { securitySolutionQueryClient } from '../../../common/containers/query_cl
import type { ValidationError, ValidationFunc } from '../../../shared_imports';
import { isEsqlRule } from '../../../../common/detection_engine/utils';
import type { DefineStepRule } from '../../../detections/pages/detection_engine/rules/types';
-import type { FieldValueQueryBar } from '../../../detections/components/rules/query_bar';
+import type { FieldValueQueryBar } from '../../rule_creation_ui/components/query_bar';
import * as i18n from './translations';
import { getEsqlQueryConfig } from './get_esql_query_config';
export type FieldType = 'string';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/accordion_title/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/accordion_title/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/accordion_title/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/accordion_title/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/accordion_title/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/accordion_title/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/accordion_title/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/accordion_title/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/add_item_form/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/add_item_form/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/add_item_form/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/add_item_form/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/add_item_form/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/add_item_form/index.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/add_item_form/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/add_item_form/index.tsx
index acfc1ca61f548..7fa427952166d 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/add_item_form/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/add_item_form/index.tsx
@@ -19,7 +19,7 @@ import type { ChangeEvent } from 'react';
import React, { useCallback, useEffect, useState, useRef } from 'react';
import styled from 'styled-components';
-import * as RuleI18n from '../../../pages/detection_engine/rules/translations';
+import * as RuleI18n from '../../../../detections/pages/detection_engine/rules/translations';
import type { FieldHook } from '../../../../shared_imports';
import { getFieldValidityAndErrorMessage } from '../../../../shared_imports';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/anomaly_threshold_slider/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/anomaly_threshold_slider/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/anomaly_threshold_slider/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/anomaly_threshold_slider/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/anomaly_threshold_slider/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/anomaly_threshold_slider/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/anomaly_threshold_slider/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/anomaly_threshold_slider/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/autocomplete_field/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/autocomplete_field/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/autocomplete_field/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/autocomplete_field/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/index.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/index.tsx
index c57fffa1725b8..45efbfcadec8c 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/index.tsx
@@ -14,7 +14,7 @@ import type { DataViewListItem } from '@kbn/data-views-plugin/common';
import type { FieldHook } from '../../../../shared_imports';
import { getFieldValidityAndErrorMessage } from '../../../../shared_imports';
import * as i18n from './translations';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
export interface DataViewSelectorProps {
kibanaDataViews: Record;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/data_view_selector/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/data_view_selector/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/actions_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/actions_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/actions_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/actions_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/alert_suppression_technical_preview_badge.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/alert_suppression_technical_preview_badge.tsx
similarity index 91%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/alert_suppression_technical_preview_badge.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/alert_suppression_technical_preview_badge.tsx
index 739fdfa6f5d1c..8843c01a188d6 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/alert_suppression_technical_preview_badge.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/alert_suppression_technical_preview_badge.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import { EuiIcon, EuiToolTip } from '@elastic/eui';
-import { TechnicalPreviewBadge } from '../technical_preview_badge';
+import { TechnicalPreviewBadge } from '../../../../common/components/technical_preview_badge';
import { useUpsellingMessage } from '../../../../common/hooks/use_upselling';
interface TechnicalPreviewBadgeProps {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/assets/list_tree_icon.svg b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/assets/list_tree_icon.svg
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/assets/list_tree_icon.svg
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/assets/list_tree_icon.svg
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/build_ml_jobs_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/build_ml_jobs_description.tsx
similarity index 84%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/build_ml_jobs_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/build_ml_jobs_description.tsx
index 7012c4276ee45..d49f00ff59042 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/build_ml_jobs_description.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/build_ml_jobs_description.tsx
@@ -6,7 +6,7 @@
*/
import React from 'react';
import type { ListItems } from './types';
-import { MlJobsDescription } from '../ml_jobs_description';
+import { MlJobsDescription } from '../../../rule_creation/components/ml_jobs_description';
export const buildMlJobsDescription = (jobIds: string[], label: string): ListItems => ({
title: label,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.test.tsx
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.test.tsx
index ecfcb5c981235..9cc1b5654ad3d 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.test.tsx
@@ -14,7 +14,7 @@ import { FilterManager, UI_SETTINGS } from '@kbn/data-plugin/public';
import { FilterBadgeGroup } from '@kbn/unified-search-plugin/public';
import type { DataViewBase } from '@kbn/es-query';
import { FilterStateStore } from '@kbn/es-query';
-import { SeverityBadge } from '../severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
import * as i18n from './translations';
import {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.tsx
index 24fa1173e06e3..5a9dd4f7eb6d3 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/helpers.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/helpers.tsx
@@ -41,17 +41,17 @@ import * as i18nRiskScore from '../risk_score_mapping/translations';
import * as i18n from './translations';
import type { BuildQueryBarDescription, ListItems } from './types';
-import { SeverityBadge } from '../severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
import type {
AboutStepRiskScore,
AboutStepSeverity,
Duration,
-} from '../../../pages/detection_engine/rules/types';
-import { GroupByOptions } from '../../../pages/detection_engine/rules/types';
+} from '../../../../detections/pages/detection_engine/rules/types';
+import { GroupByOptions } from '../../../../detections/pages/detection_engine/rules/types';
import { defaultToEmptyTag } from '../../../../common/components/empty_value';
import { ThreatEuiFlexGroup } from './threat_description';
import { AlertSuppressionTechnicalPreviewBadge } from './alert_suppression_technical_preview_badge';
-import { TechnicalPreviewBadge } from '../technical_preview_badge';
+import { TechnicalPreviewBadge } from '../../../../common/components/technical_preview_badge';
const NoteDescriptionContainer = styled(EuiFlexItem)`
height: 105px;
overflow-y: hidden;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.test.tsx
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.test.tsx
index 113f81631a06a..b2cd0d522a5ec 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.test.tsx
@@ -22,14 +22,14 @@ import { FilterStateStore } from '@kbn/es-query';
import {
mockAboutStepRule,
mockDefineStepRule,
-} from '../../../../detection_engine/rule_management_ui/components/rules_table/__mocks__/mock';
+} from '../../../rule_management_ui/components/rules_table/__mocks__/mock';
import { coreMock } from '@kbn/core/public/mocks';
import { DEFAULT_TIMELINE_TITLE } from '../../../../timelines/components/timeline/translations';
import * as i18n from './translations';
import { schema } from '../step_about_rule/schema';
import type { ListItems } from './types';
-import type { AboutStepRule } from '../../../pages/detection_engine/rules/types';
+import type { AboutStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import { createLicenseServiceMock } from '../../../../../common/license/mocks';
jest.mock('../../../../common/lib/kibana');
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.tsx
index 883c01430e644..a53c1dfc29a71 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/index.tsx
@@ -17,7 +17,7 @@ import type {
RelatedIntegrationArray,
RequiredFieldArray,
} from '../../../../../common/api/detection_engine/model/rule_schema';
-import { buildRelatedIntegrationsDescription } from '../related_integrations/integrations_description';
+import { buildRelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description';
import { DEFAULT_TIMELINE_TITLE } from '../../../../timelines/components/timeline/translations';
import type { EqlOptionsSelected } from '../../../../../common/search_strategy';
import { useKibana } from '../../../../common/lib/kibana';
@@ -25,8 +25,8 @@ import type {
AboutStepRiskScore,
AboutStepSeverity,
Duration,
-} from '../../../pages/detection_engine/rules/types';
-import type { FieldValueTimeline } from '../pick_timeline';
+} from '../../../../detections/pages/detection_engine/rules/types';
+import type { FieldValueTimeline } from '../../../rule_creation/components/pick_timeline';
import type { FormSchema } from '../../../../shared_imports';
import type { ListItems } from './types';
import {
@@ -53,7 +53,7 @@ import { buildMlJobsDescription } from './build_ml_jobs_description';
import { buildActionsDescription } from './actions_description';
import { buildThrottleDescription } from './throttle_description';
import { THREAT_QUERY_LABEL } from './translations';
-import { filterEmptyThreats } from '../../../../detection_engine/rule_creation_ui/pages/rule_creation/helpers';
+import { filterEmptyThreats } from '../../pages/rule_creation/helpers';
import { useLicense } from '../../../../common/hooks/use_license';
import type { LicenseService } from '../../../../../common/license';
import { isThresholdRule, isQueryRule } from '../../../../../common/detection_engine/utils';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/threat_description.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/threat_description.tsx
index 2a8383ccc7381..2096d64d8d4c8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/threat_description.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/threat_description.tsx
@@ -8,7 +8,11 @@ import { EuiFlexItem, EuiLink, EuiFlexGroup, EuiButtonEmpty } from '@elastic/eui
import React, { useEffect, useState } from 'react';
import styled from 'styled-components';
import type { BuildThreatDescription } from './types';
-import type { MitreSubTechnique, MitreTactic, MitreTechnique } from '../../../mitre/types';
+import type {
+ MitreSubTechnique,
+ MitreTactic,
+ MitreTechnique,
+} from '../../../../detections/mitre/types';
import ListTreeIcon from './assets/list_tree_icon.svg';
const lazyMitreConfiguration = () => {
@@ -18,7 +22,7 @@ const lazyMitreConfiguration = () => {
*/
return import(
/* webpackChunkName: "lazy_mitre_configuration" */
- '../../../mitre/mitre_tactics_techniques'
+ '../../../../detections/mitre/mitre_tactics_techniques'
);
};
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/throttle_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/throttle_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/throttle_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/throttle_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/description_step/types.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/types.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/description_step/types.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/description_step/types.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/duration_input/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/duration_input/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/duration_input/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/duration_input/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/duration_input/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/schedule_item_form/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/duration_input/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_overview_link.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_overview_link.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_overview_link.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_overview_link.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.test.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.test.tsx
index e07eacc363c92..aec082224e044 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.test.tsx
@@ -9,7 +9,7 @@ import React from 'react';
import { shallow, mount } from 'enzyme';
import { mockIndexPattern, TestProviders, useFormFieldMock } from '../../../../common/mock';
-import { mockQueryBar } from '../../../../detection_engine/rule_management_ui/components/rules_table/__mocks__/mock';
+import { mockQueryBar } from '../../../rule_management_ui/components/rules_table/__mocks__/mock';
import type { EqlQueryBarProps } from './eql_query_bar';
import { EqlQueryBar } from './eql_query_bar';
import { getEqlValidationError } from './validators.mock';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.tsx
index 611480ddd8f29..fe1962a71f6c6 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/eql_query_bar.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/eql_query_bar.tsx
@@ -17,7 +17,7 @@ import { FilterManager } from '@kbn/data-plugin/public';
import type { FieldHook } from '../../../../shared_imports';
import { FilterBar } from '../../../../common/components/filter_bar';
import { useAppToasts } from '../../../../common/hooks/use_app_toasts';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import * as i18n from './translations';
import { EqlQueryBarFooter } from './footer';
import { getValidationResults } from './validators';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/errors_popover.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/errors_popover.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/errors_popover.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/errors_popover.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/errors_popover.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/errors_popover.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/errors_popover.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/errors_popover.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/footer.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/footer.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/footer.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/footer.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/footer.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/footer.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/footer.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/footer.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/index.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/index.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/index.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/index.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.mock.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.mock.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.mock.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.mock.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.test.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.test.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.test.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.test.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.ts
similarity index 95%
rename from x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.ts
index ae6e84f187109..83b610eaaff7f 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/eql_query_bar/validators.ts
@@ -10,8 +10,8 @@ import { isEmpty } from 'lodash';
import type { FieldHook, ValidationError, ValidationFunc } from '../../../../shared_imports';
import { isEqlRule } from '../../../../../common/detection_engine/utils';
import { KibanaServices } from '../../../../common/lib/kibana';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
-import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
+import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import { validateEql } from '../../../../common/hooks/eql/api';
import type { FieldValueQueryBar } from '../query_bar';
import * as i18n from './translations';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.test.tsx
similarity index 92%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.test.tsx
index 341c00749bc81..8653b98ea8273 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.test.tsx
@@ -5,7 +5,7 @@
* 2.0.
*/
-import { getValidThreat } from '../../../mitre/valid_threat_mock';
+import { getValidThreat } from '../../../../detections/mitre/valid_threat_mock';
import { hasSubtechniqueOptions } from './helpers';
const mockTechniques = getValidThreat()[0].technique ?? [];
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.ts
similarity index 94%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.ts
index b8f979007b767..bb92b147efbbd 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/helpers.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/helpers.ts
@@ -14,7 +14,7 @@ const lazyMitreConfiguration = () => {
*/
return import(
/* webpackChunkName: "lazy_mitre_configuration" */
- '../../../mitre/mitre_tactics_techniques'
+ '../../../../detections/mitre/mitre_tactics_techniques'
);
};
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/index.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/index.tsx
index 9f4d8d811eaa6..54df23125d500 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/index.tsx
@@ -12,13 +12,13 @@ import styled from 'styled-components';
import { isEqual } from 'lodash';
import type { Threat, Threats } from '@kbn/securitysolution-io-ts-alerting-types';
-import * as Rulei18n from '../../../pages/detection_engine/rules/translations';
+import * as Rulei18n from '../../../../detections/pages/detection_engine/rules/translations';
import type { FieldHook } from '../../../../shared_imports';
import { threatDefault } from '../step_about_rule/default_value';
import { MyAddItemButton } from '../add_item_form';
import * as i18n from './translations';
import { MitreAttackTechniqueFields } from './technique_fields';
-import type { MitreTactic } from '../../../mitre/types';
+import type { MitreTactic } from '../../../../detections/mitre/types';
const lazyMitreConfiguration = () => {
/**
@@ -27,7 +27,7 @@ const lazyMitreConfiguration = () => {
*/
return import(
/* webpackChunkName: "lazy_mitre_configuration" */
- '../../../mitre/mitre_tactics_techniques'
+ '../../../../detections/mitre/mitre_tactics_techniques'
);
};
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/subtechnique_fields.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/subtechnique_fields.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/subtechnique_fields.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/subtechnique_fields.tsx
index 7645bc2c2c579..5c8067e9981fa 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/subtechnique_fields.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/subtechnique_fields.tsx
@@ -17,11 +17,11 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react';
import styled from 'styled-components';
import type { Threats, ThreatSubtechnique } from '@kbn/securitysolution-io-ts-alerting-types';
-import * as Rulei18n from '../../../pages/detection_engine/rules/translations';
+import * as Rulei18n from '../../../../detections/pages/detection_engine/rules/translations';
import type { FieldHook } from '../../../../shared_imports';
import { MyAddItemButton } from '../add_item_form';
import * as i18n from './translations';
-import type { MitreSubTechnique } from '../../../mitre/types';
+import type { MitreSubTechnique } from '../../../../detections/mitre/types';
const lazyMitreConfiguration = () => {
/**
@@ -30,7 +30,7 @@ const lazyMitreConfiguration = () => {
*/
return import(
/* webpackChunkName: "lazy_mitre_configuration" */
- '../../../mitre/mitre_tactics_techniques'
+ '../../../../detections/mitre/mitre_tactics_techniques'
);
};
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/technique_fields.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/technique_fields.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/technique_fields.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/technique_fields.tsx
index bb677801ecaa9..ca55e8feee3a8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/technique_fields.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/technique_fields.tsx
@@ -18,12 +18,12 @@ import React, { useCallback, useEffect, useState } from 'react';
import styled, { css } from 'styled-components';
import type { Threats, ThreatTechnique } from '@kbn/securitysolution-io-ts-alerting-types';
-import * as Rulei18n from '../../../pages/detection_engine/rules/translations';
+import * as Rulei18n from '../../../../detections/pages/detection_engine/rules/translations';
import type { FieldHook } from '../../../../shared_imports';
import { MyAddItemButton } from '../add_item_form';
import * as i18n from './translations';
import { MitreAttackSubtechniqueFields } from './subtechnique_fields';
-import type { MitreTechnique, MitreSubTechnique } from '../../../mitre/types';
+import type { MitreTechnique, MitreSubTechnique } from '../../../../detections/mitre/types';
const lazyMitreConfiguration = () => {
/**
@@ -32,7 +32,7 @@ const lazyMitreConfiguration = () => {
*/
return import(
/* webpackChunkName: "lazy_mitre_configuration" */
- '../../../mitre/mitre_tactics_techniques'
+ '../../../../detections/mitre/mitre_tactics_techniques'
);
};
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/mitre/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/mitre/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/mitre/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/multi_select_fields/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/multi_select_fields/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/multi_select_fields/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/multi_select_fields/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/multi_select_fields/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/multi_select_fields/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/multi_select_fields/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/multi_select_fields/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/new_terms_fields/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/new_terms_fields/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/new_terms_fields/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/new_terms_fields/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/new_terms_fields/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/new_terms_fields/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/new_terms_fields/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/new_terms_fields/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/next_step/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/__snapshots__/index.test.tsx.snap
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/next_step/__snapshots__/index.test.tsx.snap
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/__snapshots__/index.test.tsx.snap
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/next_step/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/next_step/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/next_step/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/index.tsx
similarity index 91%
rename from x-pack/plugins/security_solution/public/detections/components/rules/next_step/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/index.tsx
index a4efbc26b5821..9674b9d5f6e6e 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/next_step/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/next_step/index.tsx
@@ -7,7 +7,7 @@
import React from 'react';
import { EuiHorizontalRule, EuiFlexGroup, EuiFlexItem, EuiButton } from '@elastic/eui';
-import * as RuleI18n from '../../../pages/detection_engine/rules/translations';
+import * as RuleI18n from '../../../../detections/pages/detection_engine/rules/translations';
interface NextStepProps {
onClick: () => void;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/optional_field_label/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/optional_field_label/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/optional_field_label/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/optional_field_label/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/optional_field_label/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/optional_field_label/index.tsx
similarity index 82%
rename from x-pack/plugins/security_solution/public/detections/components/rules/optional_field_label/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/optional_field_label/index.tsx
index ec56d5d9d8f2f..74ba57ee2db96 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/optional_field_label/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/optional_field_label/index.tsx
@@ -8,7 +8,7 @@
import { EuiText } from '@elastic/eui';
import React from 'react';
-import * as RuleI18n from '../../../pages/detection_engine/rules/translations';
+import * as RuleI18n from '../../../../detections/pages/detection_engine/rules/translations';
export const OptionalFieldLabel = (
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/query_bar/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/query_bar/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/query_bar/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/query_bar/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/query_bar/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/query_bar/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/risk_score_mapping/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/risk_score_mapping/index.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/risk_score_mapping/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/risk_score_mapping/index.tsx
index fc55b8b60df5e..66b7a5ff27d12 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/risk_score_mapping/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/risk_score_mapping/index.tsx
@@ -26,7 +26,7 @@ import type { FieldHook } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_
import { FieldComponent } from '@kbn/securitysolution-autocomplete';
import type { RiskScoreMapping } from '@kbn/securitysolution-io-ts-alerting-types';
-import type { AboutStepRiskScore } from '../../../pages/detection_engine/rules/types';
+import type { AboutStepRiskScore } from '../../../../detections/pages/detection_engine/rules/types';
import * as i18n from './translations';
const NestedContent = styled.div`
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/risk_score_mapping/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/risk_score_mapping/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/risk_score_mapping/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/risk_score_mapping/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.test.ts
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.test.ts
index 0ef8cc6b8746f..2a71ed328e5e0 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.test.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.test.ts
@@ -6,7 +6,7 @@
*/
import moment from 'moment';
-import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import { isNoisy, getTimeframeOptions, getIsRulePreviewDisabled } from './helpers';
describe('query_preview/helpers', () => {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.ts
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.ts
index 4011d0412777b..3b072c2f91e2a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/helpers.ts
@@ -13,8 +13,8 @@ import * as i18n from './translations';
import { histogramDateTimeFormatter } from '../../../../common/components/utils';
import type { ChartSeriesConfigs } from '../../../../common/components/charts/common';
import type { FieldValueQueryBar } from '../query_bar';
-import type { TimeframePreviewOptions } from '../../../pages/detection_engine/rules/types';
-import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+import type { TimeframePreviewOptions } from '../../../../detections/pages/detection_engine/rules/types';
+import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import { MAX_NUMBER_OF_NEW_TERMS_FIELDS } from '../../../../../common/constants';
/**
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.test.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.test.tsx
index e5726519715f5..9d39b68626907 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.test.tsx
@@ -16,12 +16,12 @@ import type { RulePreviewProps } from '.';
import { RulePreview, REASONABLE_INVOCATION_COUNT } from '.';
import { usePreviewRoute } from './use_preview_route';
import { usePreviewHistogram } from './use_preview_histogram';
-import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import {
getStepScheduleDefaultValue,
stepAboutDefaultValue,
stepDefineDefaultValue,
-} from '../../../pages/detection_engine/rules/utils';
+} from '../../../../detections/pages/detection_engine/rules/utils';
import { usePreviewInvocationCount } from './use_preview_invocation_count';
jest.mock('../../../../common/lib/kibana');
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.tsx
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.tsx
index 2ee3cbd169ecf..a74281262760b 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/index.tsx
@@ -34,7 +34,7 @@ import type {
DefineStepRule,
ScheduleStepRule,
TimeframePreviewOptions,
-} from '../../../pages/detection_engine/rules/types';
+} from '../../../../detections/pages/detection_engine/rules/types';
import { usePreviewInvocationCount } from './use_preview_invocation_count';
export const REASONABLE_INVOCATION_COUNT = 200;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/loading_histogram.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/loading_histogram.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/loading_histogram.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/loading_histogram.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_histogram.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_histogram.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_histogram.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_histogram.tsx
index 24f6b82383a13..7de2f70aa381a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_histogram.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_histogram.tsx
@@ -27,7 +27,7 @@ import { Panel } from '../../../../common/components/panel';
import { HeaderSection } from '../../../../common/components/header_section';
import { BarChart } from '../../../../common/components/charts/barchart';
import { usePreviewHistogram } from './use_preview_histogram';
-import { getAlertsPreviewDefaultModel } from '../../alerts_table/default_config';
+import { getAlertsPreviewDefaultModel } from '../../../../detections/components/alerts_table/default_config';
import { SourcererScopeName } from '../../../../common/store/sourcerer/model';
import { DEFAULT_PREVIEW_INDEX } from '../../../../../common/constants';
import { useSourcererDataView } from '../../../../common/containers/sourcerer';
@@ -35,7 +35,7 @@ import { DetailsPanel } from '../../../../timelines/components/side_panel';
import { PreviewRenderCellValue } from './preview_table_cell_renderer';
import { getPreviewTableControlColumn } from './preview_table_control_columns';
import { useGlobalFullScreen } from '../../../../common/containers/use_full_screen';
-import type { TimeframePreviewOptions } from '../../../pages/detection_engine/rules/types';
+import type { TimeframePreviewOptions } from '../../../../detections/pages/detection_engine/rules/types';
import { useLicense } from '../../../../common/hooks/use_license';
import { useKibana } from '../../../../common/lib/kibana';
import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_logs.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_logs.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_logs.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_logs.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_table_cell_renderer.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_table_cell_renderer.tsx
similarity index 85%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_table_cell_renderer.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_table_cell_renderer.tsx
index 633d0c639b3c6..d8e1d84874eef 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_table_cell_renderer.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_table_cell_renderer.tsx
@@ -8,7 +8,7 @@
import type React from 'react';
import type { EuiDataGridCellValueElementProps } from '@elastic/eui';
import type { CellValueElementProps } from '../../../../../common/types';
-import { RenderCellValue } from '../../../configurations/security_solution_detections';
+import { RenderCellValue } from '../../../../detections/configurations/security_solution_detections';
export const PreviewRenderCellValue: React.FC<
EuiDataGridCellValueElementProps & CellValueElementProps
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_table_control_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_table_control_columns.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/preview_table_control_columns.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/preview_table_control_columns.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_histogram.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_histogram.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_histogram.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_invocation_count.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_invocation_count.ts
similarity index 85%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_invocation_count.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_invocation_count.ts
index ef61f7dd37c13..d3571933dc031 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_invocation_count.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_invocation_count.ts
@@ -7,8 +7,8 @@
import moment from 'moment';
-import type { TimeframePreviewOptions } from '../../../pages/detection_engine/rules/types';
-import { getTimeTypeValue } from '../../../../detection_engine/rule_creation_ui/pages/rule_creation/helpers';
+import type { TimeframePreviewOptions } from '../../../../detections/pages/detection_engine/rules/types';
+import { getTimeTypeValue } from '../../pages/rule_creation/helpers';
export const usePreviewInvocationCount = ({
timeframeOptions,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_route.tsx
similarity index 94%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_route.tsx
index 3f6b838f93bcd..ac5e01567443d 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_route.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_route.tsx
@@ -8,14 +8,14 @@
import { useEffect, useState, useCallback } from 'react';
import type { List } from '@kbn/securitysolution-io-ts-list-types';
import { usePreviewRule } from './use_preview_rule';
-import { formatPreviewRule } from '../../../../detection_engine/rule_creation_ui/pages/rule_creation/helpers';
+import { formatPreviewRule } from '../../pages/rule_creation/helpers';
import type { RulePreviewLogs } from '../../../../../common/api/detection_engine';
import type {
AboutStepRule,
DefineStepRule,
ScheduleStepRule,
TimeframePreviewOptions,
-} from '../../../pages/detection_engine/rules/types';
+} from '../../../../detections/pages/detection_engine/rules/types';
interface PreviewRouteParams {
defineRuleData?: DefineStepRule;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_rule.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_rule.ts
similarity index 90%
rename from x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_rule.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_rule.ts
index e47b98c073244..61c7f298bd4fa 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/use_preview_rule.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/rule_preview/use_preview_rule.ts
@@ -10,9 +10,9 @@ import { useEffect, useMemo, useState } from 'react';
import { useAppToasts } from '../../../../common/hooks/use_app_toasts';
import type { PreviewResponse, RuleCreateProps } from '../../../../../common/api/detection_engine';
-import { previewRule } from '../../../../detection_engine/rule_management/api/api';
-import { transformOutput } from '../../../containers/detection_engine/rules/transforms';
-import type { TimeframePreviewOptions } from '../../../pages/detection_engine/rules/types';
+import { previewRule } from '../../../rule_management/api/api';
+import { transformOutput } from '../../../../detections/containers/detection_engine/rules/transforms';
+import type { TimeframePreviewOptions } from '../../../../detections/pages/detection_engine/rules/types';
import { usePreviewInvocationCount } from './use_preview_invocation_count';
import * as i18n from './translations';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.test.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.test.tsx
index 9bf1553dbfd18..73bdf48623e2a 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.test.tsx
@@ -10,9 +10,9 @@ import { mount, shallow } from 'enzyme';
import { SelectRuleType } from '.';
import { TestProviders, useFormFieldMock } from '../../../../common/mock';
-import { useIsEsqlRuleTypeEnabled } from '../../../../detection_engine/rule_creation/hooks';
+import { useIsEsqlRuleTypeEnabled } from '../../../../common/components/hooks';
-jest.mock('../../../../detection_engine/rule_creation/hooks', () => ({
+jest.mock('../../../../common/components/hooks', () => ({
useIsEsqlRuleTypeEnabled: jest.fn().mockReturnValue(true),
}));
const useIsEsqlRuleTypeEnabledMock = useIsEsqlRuleTypeEnabled as jest.Mock;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.tsx
index 61ce85d8e43a7..1228feb4bd285 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/index.tsx
@@ -21,8 +21,8 @@ import {
import type { FieldHook } from '../../../../shared_imports';
import * as i18n from './translations';
import { MlCardDescription } from './ml_card_description';
-import { TechnicalPreviewBadge } from '../technical_preview_badge';
-import { useIsEsqlRuleTypeEnabled } from '../../../../detection_engine/rule_creation/hooks';
+import { TechnicalPreviewBadge } from '../../../../common/components/technical_preview_badge';
+import { useIsEsqlRuleTypeEnabled } from '../../../../common/components/hooks';
interface SelectRuleTypeProps {
describedByIds: string[];
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/ml_card_description.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/ml_card_description.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/ml_card_description.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/ml_card_description.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/select_rule_type/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/select_rule_type/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/severity_mapping/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/severity_mapping/index.tsx
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/severity_mapping/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/severity_mapping/index.tsx
index cbd351b5b7b42..425564e1ed5f2 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/severity_mapping/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/severity_mapping/index.tsx
@@ -33,7 +33,7 @@ import type {
} from '@kbn/securitysolution-io-ts-alerting-types';
import type { SeverityOptionItem } from '../step_about_rule/data';
-import type { AboutStepSeverity } from '../../../pages/detection_engine/rules/types';
+import type { AboutStepSeverity } from '../../../../detections/pages/detection_engine/rules/types';
import { useKibana } from '../../../../common/lib/kibana';
import * as i18n from './translations';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/severity_mapping/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/severity_mapping/translations.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/severity_mapping/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/severity_mapping/translations.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/status_icon/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/status_icon/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/status_icon/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/status_icon/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/status_icon/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/status_icon/index.tsx
similarity index 92%
rename from x-pack/plugins/security_solution/public/detections/components/rules/status_icon/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/status_icon/index.tsx
index 6afb5c2560403..5a01e08a6d094 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/status_icon/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/status_icon/index.tsx
@@ -10,7 +10,7 @@ import React, { memo } from 'react';
import styled from 'styled-components';
import { useEuiTheme } from '../../../../common/lib/theme/use_eui_theme';
-import type { RuleStatusType } from '../../../pages/detection_engine/rules/types';
+import type { RuleStatusType } from '../../../../detections/pages/detection_engine/rules/types';
export interface RuleStatusIconProps {
name: string;
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/data.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/data.tsx
similarity index 76%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/data.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/data.tsx
index bab334b1c7f1f..511f4109f9413 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/data.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/data.tsx
@@ -8,10 +8,20 @@
import React from 'react';
import styled from 'styled-components';
import { EuiHealth } from '@elastic/eui';
-import { euiLightVars } from '@kbn/ui-theme';
import type { Severity } from '@kbn/securitysolution-io-ts-alerting-types';
import * as I18n from './translations';
+import {
+ RISK_COLOR_LOW,
+ RISK_COLOR_MEDIUM,
+ RISK_COLOR_HIGH,
+ RISK_COLOR_CRITICAL,
+ RISK_SCORE_LOW,
+ RISK_SCORE_MEDIUM,
+ RISK_SCORE_HIGH,
+ RISK_SCORE_CRITICAL,
+} from '../../../../common/constants';
+
export interface SeverityOptionItem {
value: Severity;
inputDisplay: React.ReactElement;
@@ -21,16 +31,6 @@ const StyledEuiHealth = styled(EuiHealth)`
line-height: inherit;
`;
-export const RISK_COLOR_LOW = euiLightVars.euiColorVis0;
-export const RISK_COLOR_MEDIUM = euiLightVars.euiColorVis5;
-export const RISK_COLOR_HIGH = euiLightVars.euiColorVis7;
-export const RISK_COLOR_CRITICAL = euiLightVars.euiColorVis9;
-
-export const RISK_SCORE_LOW = 21;
-export const RISK_SCORE_MEDIUM = 47;
-export const RISK_SCORE_HIGH = 73;
-export const RISK_SCORE_CRITICAL = 99;
-
export const severityOptions: SeverityOptionItem[] = [
{
value: 'low',
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/default_value.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/default_value.ts
similarity index 82%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/default_value.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/default_value.ts
index f8025537f3f17..91057eb3ff5f8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/default_value.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/default_value.ts
@@ -5,8 +5,8 @@
* 2.0.
*/
-import type { AboutStepRule } from '../../../pages/detection_engine/rules/types';
-import { fillEmptySeverityMappings } from '../../../pages/detection_engine/rules/helpers';
+import type { AboutStepRule } from '../../../../detections/pages/detection_engine/rules/types';
+import { fillEmptySeverityMappings } from '../../../../detections/pages/detection_engine/rules/helpers';
export const threatDefault = [
{
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.test.tsx
similarity index 95%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.test.tsx
index ca8ef7ea56440..6c4dfebc6be58 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.test.tsx
@@ -14,19 +14,25 @@ import { StepAboutRule, StepAboutRuleReadOnly } from '.';
import { useFetchIndex } from '../../../../common/containers/source';
import { useGetInstalledJob } from '../../../../common/components/ml/hooks/use_get_jobs';
import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs';
-import { mockAboutStepRule } from '../../../../detection_engine/rule_management_ui/components/rules_table/__mocks__/mock';
+import { mockAboutStepRule } from '../../../rule_management_ui/components/rules_table/__mocks__/mock';
import { StepRuleDescription } from '../description_step';
import { stepAboutDefaultValue } from './default_value';
-import type { AboutStepRule, DefineStepRule } from '../../../pages/detection_engine/rules/types';
-import { DataSourceType, GroupByOptions } from '../../../pages/detection_engine/rules/types';
-import { fillEmptySeverityMappings } from '../../../pages/detection_engine/rules/helpers';
+import type {
+ AboutStepRule,
+ DefineStepRule,
+} from '../../../../detections/pages/detection_engine/rules/types';
+import {
+ DataSourceType,
+ GroupByOptions,
+} from '../../../../detections/pages/detection_engine/rules/types';
+import { fillEmptySeverityMappings } from '../../../../detections/pages/detection_engine/rules/helpers';
import { TestProviders } from '../../../../common/mock';
-import { useRuleForms } from '../../../../detection_engine/rule_creation_ui/pages/form';
-import { stepActionsDefaultValue } from '../step_rule_actions';
+import { useRuleForms } from '../../pages/form';
+import { stepActionsDefaultValue } from '../../../rule_creation/components/step_rule_actions';
import {
defaultSchedule,
stepDefineDefaultValue,
-} from '../../../pages/detection_engine/rules/utils';
+} from '../../../../detections/pages/detection_engine/rules/utils';
import type { FormHook } from '../../../../shared_imports';
jest.mock('../../../../common/lib/kibana');
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.tsx
index f6bad9de7dee1..ef78ac0f408b7 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/index.tsx
@@ -14,7 +14,10 @@ import type { DataViewBase } from '@kbn/es-query';
import type { Severity, Type } from '@kbn/securitysolution-io-ts-alerting-types';
import { isThreatMatchRule, isEsqlRule } from '../../../../../common/detection_engine/utils';
-import type { RuleStepProps, AboutStepRule } from '../../../pages/detection_engine/rules/types';
+import type {
+ RuleStepProps,
+ AboutStepRule,
+} from '../../../../detections/pages/detection_engine/rules/types';
import { AddItem } from '../add_item_form';
import { StepRuleDescription } from '../description_step';
import { AddMitreAttackThreat } from '../mitre';
@@ -25,7 +28,7 @@ import { defaultRiskScoreBySeverity, severityOptions } from './data';
import { isUrlInvalid } from '../../../../common/utils/validators';
import { schema as defaultSchema } from './schema';
import * as I18n from './translations';
-import { StepContentWrapper } from '../step_content_wrapper';
+import { StepContentWrapper } from '../../../rule_creation/components/step_content_wrapper';
import { MarkdownEditorForm } from '../../../../common/components/markdown_editor/eui_form';
import { SeverityField } from '../severity_mapping';
import { RiskScoreField } from '../risk_score_mapping';
@@ -33,8 +36,8 @@ import { AutocompleteField } from '../autocomplete_field';
import { useFetchIndex } from '../../../../common/containers/source';
import { DEFAULT_INDICATOR_SOURCE_PATH } from '../../../../../common/constants';
import { useKibana } from '../../../../common/lib/kibana';
-import { useRuleIndices } from '../../../../detection_engine/rule_management/logic/use_rule_indices';
-import { EsqlAutocomplete } from '../../../../detection_engine/rule_creation/components/esql_autocomplete';
+import { useRuleIndices } from '../../../rule_management/logic/use_rule_indices';
+import { EsqlAutocomplete } from '../../../rule_creation/components/esql_autocomplete';
import { MultiSelectFieldsAutocomplete } from '../multi_select_fields';
const CommonUseField = getUseField({ component: Field });
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/schema.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/schema.tsx
similarity index 99%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/schema.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/schema.tsx
index 1d23169dec241..4eb84dbf6dcc3 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/schema.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/schema.tsx
@@ -9,7 +9,7 @@ import { i18n } from '@kbn/i18n';
import type { FormSchema, ValidationFunc, ERROR_CODE } from '../../../../shared_imports';
import { FIELD_TYPES, fieldValidators, VALIDATION_TYPES } from '../../../../shared_imports';
-import type { AboutStepRule } from '../../../pages/detection_engine/rules/types';
+import type { AboutStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import { OptionalFieldLabel } from '../optional_field_label';
import { isUrlInvalid } from '../../../../common/utils/validators';
import * as I18n from './translations';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_about_rule/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_about_rule/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.test.tsx
similarity index 96%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.test.tsx
index c8707897d18a8..22e43dc31acb8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.test.tsx
@@ -12,18 +12,18 @@ import type { Type } from '@kbn/securitysolution-io-ts-alerting-types';
import { StepDefineRule, aggregatableFields } from '.';
import { mockBrowserFields } from '../../../../common/containers/source/mock';
-import { useRuleFromTimeline } from '../../../containers/detection_engine/rules/use_rule_from_timeline';
+import { useRuleFromTimeline } from '../../../../detections/containers/detection_engine/rules/use_rule_from_timeline';
import { fireEvent, render, within } from '@testing-library/react';
import { TestProviders } from '../../../../common/mock';
-import { useRuleForms } from '../../../../detection_engine/rule_creation_ui/pages/form';
-import { stepActionsDefaultValue } from '../step_rule_actions';
+import { useRuleForms } from '../../pages/form';
+import { stepActionsDefaultValue } from '../../../rule_creation/components/step_rule_actions';
import {
defaultSchedule,
stepAboutDefaultValue,
stepDefineDefaultValue,
-} from '../../../pages/detection_engine/rules/utils';
+} from '../../../../detections/pages/detection_engine/rules/utils';
import type { FormHook } from '../../../../shared_imports';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
jest.mock('../../../../common/components/query_bar', () => {
return {
@@ -228,7 +228,7 @@ jest.mock('react-redux', () => {
};
});
-jest.mock('../../../containers/detection_engine/rules/use_rule_from_timeline');
+jest.mock('../../../../detections/containers/detection_engine/rules/use_rule_from_timeline');
test('aggregatableFields', function () {
expect(
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx
index 809fb97eb260c..4d0f06ed93e2e 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx
@@ -33,29 +33,32 @@ import type { SavedQuery } from '@kbn/data-plugin/public';
import type { DataViewBase } from '@kbn/es-query';
import { FormattedMessage } from '@kbn/i18n-react';
import { useSetFieldValueWithCallback } from '../../../../common/utils/use_set_field_value_cb';
-import { useRuleFromTimeline } from '../../../containers/detection_engine/rules/use_rule_from_timeline';
+import { useRuleFromTimeline } from '../../../../detections/containers/detection_engine/rules/use_rule_from_timeline';
import { isMlRule } from '../../../../../common/machine_learning/helpers';
import { hasMlAdminPermissions } from '../../../../../common/machine_learning/has_ml_admin_permissions';
import { hasMlLicense } from '../../../../../common/machine_learning/has_ml_license';
import { useMlCapabilities } from '../../../../common/components/ml/hooks/use_ml_capabilities';
import type { EqlOptionsSelected, FieldsEqlOptions } from '../../../../../common/search_strategy';
+import { filterRuleFieldsForType, getStepDataDataSource } from '../../pages/rule_creation/helpers';
+import type {
+ DefineStepRule,
+ RuleStepProps,
+} from '../../../../detections/pages/detection_engine/rules/types';
import {
- filterRuleFieldsForType,
- getStepDataDataSource,
-} from '../../../../detection_engine/rule_creation_ui/pages/rule_creation/helpers';
-import type { DefineStepRule, RuleStepProps } from '../../../pages/detection_engine/rules/types';
-import { DataSourceType, GroupByOptions } from '../../../pages/detection_engine/rules/types';
+ DataSourceType,
+ GroupByOptions,
+} from '../../../../detections/pages/detection_engine/rules/types';
import { StepRuleDescription } from '../description_step';
import type { QueryBarDefineRuleProps } from '../query_bar';
import { QueryBarDefineRule } from '../query_bar';
import { SelectRuleType } from '../select_rule_type';
import { AnomalyThresholdSlider } from '../anomaly_threshold_slider';
-import { MlJobSelect } from '../ml_job_select';
-import { PickTimeline } from '../pick_timeline';
-import { StepContentWrapper } from '../step_content_wrapper';
+import { MlJobSelect } from '../../../rule_creation/components/ml_job_select';
+import { PickTimeline } from '../../../rule_creation/components/pick_timeline';
+import { StepContentWrapper } from '../../../rule_creation/components/step_content_wrapper';
import { ThresholdInput } from '../threshold_input';
import { SuppressionInfoIcon } from '../suppression_info_icon';
-import { EsqlInfoIcon } from '../../../../detection_engine/rule_creation/components/esql_info_icon';
+import { EsqlInfoIcon } from '../../../rule_creation/components/esql_info_icon';
import { Field, Form, getUseField, UseField, UseMultiFields } from '../../../../shared_imports';
import type { FormHook } from '../../../../shared_imports';
import { schema } from './schema';
@@ -75,9 +78,9 @@ import { ThreatMatchInput } from '../threatmatch_input';
import type { BrowserField } from '../../../../common/containers/source';
import { useFetchIndex } from '../../../../common/containers/source';
import { NewTermsFields } from '../new_terms_fields';
-import { ScheduleItem } from '../schedule_item_form';
+import { ScheduleItem } from '../../../rule_creation/components/schedule_item_form';
import { DocLink } from '../../../../common/components/links_to_docs/doc_link';
-import { defaultCustomQuery } from '../../../pages/detection_engine/rules/utils';
+import { defaultCustomQuery } from '../../../../detections/pages/detection_engine/rules/utils';
import { MultiSelectFieldsAutocomplete } from '../multi_select_fields';
import { useLicense } from '../../../../common/hooks/use_license';
import { AlertSuppressionMissingFieldsStrategyEnum } from '../../../../../common/api/detection_engine/model/rule_schema';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/mock_browser_fields.json b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/mock_browser_fields.json
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/mock_browser_fields.json
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/mock_browser_fields.json
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/schema.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/schema.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/schema.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/schema.tsx
index 0d22c459705a9..235d2c51398a8 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/schema.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/schema.tsx
@@ -28,10 +28,10 @@ import { isMlRule } from '../../../../../common/machine_learning/helpers';
import type { FieldValueQueryBar } from '../query_bar';
import type { ERROR_CODE, FormSchema, ValidationFunc } from '../../../../shared_imports';
import { FIELD_TYPES, fieldValidators } from '../../../../shared_imports';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
-import { DataSourceType } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
+import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import { debounceAsync, eqlValidator } from '../eql_query_bar/validators';
-import { esqlValidator } from '../../../../detection_engine/rule_creation/logic/esql_validator';
+import { esqlValidator } from '../../../rule_creation/logic/esql_validator';
import {
CUSTOM_QUERY_REQUIRED,
INVALID_CUSTOM_QUERY,
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/translations.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/translations.tsx
similarity index 97%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/translations.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/translations.tsx
index 861241f5f0254..13e8dc9fcd273 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/translations.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/translations.tsx
@@ -59,13 +59,6 @@ export const IMPORT_TIMELINE_QUERY = i18n.translate(
}
);
-export const ML_JOB_SELECT_PLACEHOLDER_TEXT = i18n.translate(
- 'xpack.securitySolution.detectionEngine.createRule.stepDefineRule.mlJobSelectPlaceholderText',
- {
- defaultMessage: 'Select a job',
- }
-);
-
export const QUERY_BAR_LABEL = i18n.translate(
'xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel',
{
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/utils.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/utils.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.test.tsx
similarity index 84%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.test.tsx
index e0e54fe6eb6b8..2dc12fffe8759 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.test.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.test.tsx
@@ -15,11 +15,11 @@ import {
defaultSchedule,
stepAboutDefaultValue,
stepDefineDefaultValue,
-} from '../../../pages/detection_engine/rules/utils';
-import { useRuleForms } from '../../../../detection_engine/rule_creation_ui/pages/form';
-import { stepActionsDefaultValue } from '../step_rule_actions';
+} from '../../../../detections/pages/detection_engine/rules/utils';
+import { useRuleForms } from '../../pages/form';
+import { stepActionsDefaultValue } from '../../../rule_creation/components/step_rule_actions';
import type { FormHook } from '../../../../shared_imports';
-import type { ScheduleStepRule } from '../../../pages/detection_engine/rules/types';
+import type { ScheduleStepRule } from '../../../../detections/pages/detection_engine/rules/types';
describe('StepScheduleRule', () => {
const TestComp = ({
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.tsx
similarity index 88%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.tsx
index a4971a66972e7..2197b069de404 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/index.tsx
@@ -8,12 +8,15 @@
import type { FC } from 'react';
import styled from 'styled-components';
import React, { memo } from 'react';
-import type { RuleStepProps, ScheduleStepRule } from '../../../pages/detection_engine/rules/types';
+import type {
+ RuleStepProps,
+ ScheduleStepRule,
+} from '../../../../detections/pages/detection_engine/rules/types';
import { StepRuleDescription } from '../description_step';
-import { ScheduleItem } from '../schedule_item_form';
+import { ScheduleItem } from '../../../rule_creation/components/schedule_item_form';
import { Form, UseField } from '../../../../shared_imports';
import type { FormHook } from '../../../../shared_imports';
-import { StepContentWrapper } from '../step_content_wrapper';
+import { StepContentWrapper } from '../../../rule_creation/components/step_content_wrapper';
import { schema } from './schema';
const StyledForm = styled(Form)`
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/schema.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/schema.tsx
similarity index 93%
rename from x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/schema.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/schema.tsx
index 23bed245e63a8..047981422d014 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/step_schedule_rule/schema.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_schedule_rule/schema.tsx
@@ -9,7 +9,7 @@
import { i18n } from '@kbn/i18n';
-import type { ScheduleStepRule } from '../../../pages/detection_engine/rules/types';
+import type { ScheduleStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import type { FormSchema } from '../../../../shared_imports';
export const schema: FormSchema = {
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/suppression_info_icon/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/suppression_info_icon/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/suppression_info_icon/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/suppression_info_icon/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/threatmatch_input/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threatmatch_input/index.tsx
similarity index 98%
rename from x-pack/plugins/security_solution/public/detections/components/rules/threatmatch_input/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threatmatch_input/index.tsx
index 003268cedd0cc..2d23dbb7578c4 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/threatmatch_input/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threatmatch_input/index.tsx
@@ -18,7 +18,7 @@ import {
UseField,
getFieldValidityAndErrorMessage,
} from '../../../../shared_imports';
-import type { DefineStepRule } from '../../../pages/detection_engine/rules/types';
+import type { DefineStepRule } from '../../../../detections/pages/detection_engine/rules/types';
import { schema } from '../step_define_rule/schema';
import { QueryBarDefineRule } from '../query_bar';
import * as i18n from '../step_define_rule/translations';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/threshold_input/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threshold_input/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/threshold_input/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threshold_input/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/threshold_input/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threshold_input/translations.ts
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/threshold_input/translations.ts
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/threshold_input/translations.ts
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/throttle_select_field/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/throttle_select_field/index.test.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/throttle_select_field/index.test.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/throttle_select_field/index.test.tsx
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/throttle_select_field/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/throttle_select_field/index.tsx
similarity index 100%
rename from x-pack/plugins/security_solution/public/detections/components/rules/throttle_select_field/index.tsx
rename to x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/throttle_select_field/index.tsx
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/form.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/form.tsx
index 8c2bf04c0f355..690dedafaf852 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/form.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/form.tsx
@@ -17,14 +17,14 @@ import type {
import { DataSourceType } from '../../../detections/pages/detection_engine/rules/types';
import { useKibana } from '../../../common/lib/kibana';
import { useForm, useFormData } from '../../../shared_imports';
-import { schema as defineRuleSchema } from '../../../detections/components/rules/step_define_rule/schema';
+import { schema as defineRuleSchema } from '../components/step_define_rule/schema';
import type { EqlOptionsSelected } from '../../../../common/search_strategy';
import {
schema as aboutRuleSchema,
threatMatchAboutSchema,
-} from '../../../detections/components/rules/step_about_rule/schema';
-import { schema as scheduleRuleSchema } from '../../../detections/components/rules/step_schedule_rule/schema';
-import { getSchema as getActionsRuleSchema } from '../../../detections/components/rules/step_rule_actions/get_schema';
+} from '../components/step_about_rule/schema';
+import { schema as scheduleRuleSchema } from '../components/step_schedule_rule/schema';
+import { getSchema as getActionsRuleSchema } from '../../rule_creation/components/step_rule_actions/get_schema';
import { useFetchIndex } from '../../../common/containers/source';
export interface UseRuleFormsProps {
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/helpers.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/helpers.ts
index 983aba55c8165..dd805c1319dfb 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/helpers.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/helpers.ts
@@ -46,7 +46,7 @@ import {
GroupByOptions,
} from '../../../../detections/pages/detection_engine/rules/types';
import type { RuleCreateProps } from '../../../../../common/api/detection_engine/model/rule_schema';
-import { stepActionsDefaultValue } from '../../../../detections/components/rules/step_rule_actions';
+import { stepActionsDefaultValue } from '../../../rule_creation/components/step_rule_actions';
import { DEFAULT_SUPPRESSION_MISSING_FIELDS_STRATEGY } from '../../../../../common/detection_engine/constants';
export const getTimeTypeValue = (time: string): { unit: Unit; value: number } => {
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/index.tsx
index d7f0b135979fe..a711ab11e0b16 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_creation/index.tsx
@@ -40,24 +40,15 @@ import {
import { SecuritySolutionPageWrapper } from '../../../../common/components/page_wrapper';
import { SpyRoute } from '../../../../common/utils/route/spy_routes';
import { useUserData } from '../../../../detections/components/user_info';
-import { AccordionTitle } from '../../../../detections/components/rules/accordion_title';
-import {
- StepDefineRule,
- StepDefineRuleReadOnly,
-} from '../../../../detections/components/rules/step_define_rule';
-import {
- StepAboutRule,
- StepAboutRuleReadOnly,
-} from '../../../../detections/components/rules/step_about_rule';
-import {
- StepScheduleRule,
- StepScheduleRuleReadOnly,
-} from '../../../../detections/components/rules/step_schedule_rule';
+import { AccordionTitle } from '../../components/accordion_title';
+import { StepDefineRule, StepDefineRuleReadOnly } from '../../components/step_define_rule';
+import { StepAboutRule, StepAboutRuleReadOnly } from '../../components/step_about_rule';
+import { StepScheduleRule, StepScheduleRuleReadOnly } from '../../components/step_schedule_rule';
import {
stepActionsDefaultValue,
StepRuleActions,
StepRuleActionsReadOnly,
-} from '../../../../detections/components/rules/step_rule_actions';
+} from '../../../rule_creation/components/step_rule_actions';
import * as RuleI18n from '../../../../detections/pages/detection_engine/rules/translations';
import {
redirectToDetections,
@@ -84,10 +75,10 @@ import {
DEFAULT_THREAT_INDEX_KEY,
} from '../../../../../common/constants';
import { useKibana, useUiSetting$ } from '../../../../common/lib/kibana';
-import { RulePreview } from '../../../../detections/components/rules/rule_preview';
-import { getIsRulePreviewDisabled } from '../../../../detections/components/rules/rule_preview/helpers';
+import { RulePreview } from '../../components/rule_preview';
+import { getIsRulePreviewDisabled } from '../../components/rule_preview/helpers';
import { useStartMlJobs } from '../../../rule_management/logic/use_start_ml_jobs';
-import { NextStep } from '../../../../detections/components/rules/next_step';
+import { NextStep } from '../../components/next_step';
import { useRuleForms, useRuleIndexPattern } from '../form';
import { CustomHeaderPageMemo } from '..';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_editing/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_editing/index.tsx
index 94ce2442b236a..d5933f6e6fdd6 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_editing/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/pages/rule_editing/index.tsx
@@ -24,8 +24,8 @@ import { useParams } from 'react-router-dom';
import type { DataViewListItem } from '@kbn/data-views-plugin/common';
import { isEsqlRule } from '../../../../../common/detection_engine/utils';
-import { RulePreview } from '../../../../detections/components/rules/rule_preview';
-import { getIsRulePreviewDisabled } from '../../../../detections/components/rules/rule_preview/helpers';
+import { RulePreview } from '../../components/rule_preview';
+import { getIsRulePreviewDisabled } from '../../components/rule_preview/helpers';
import type {
RuleResponse,
RuleUpdateProps,
@@ -41,11 +41,11 @@ import {
import { displaySuccessToast, useStateToaster } from '../../../../common/components/toasters';
import { SpyRoute } from '../../../../common/utils/route/spy_routes';
import { useUserData } from '../../../../detections/components/user_info';
-import { StepPanel } from '../../../../detections/components/rules/step_panel';
-import { StepAboutRule } from '../../../../detections/components/rules/step_about_rule';
-import { StepDefineRule } from '../../../../detections/components/rules/step_define_rule';
-import { StepScheduleRule } from '../../../../detections/components/rules/step_schedule_rule';
-import { StepRuleActions } from '../../../../detections/components/rules/step_rule_actions';
+import { StepPanel } from '../../../rule_creation/components/step_panel';
+import { StepAboutRule } from '../../components/step_about_rule';
+import { StepDefineRule } from '../../components/step_define_rule';
+import { StepScheduleRule } from '../../components/step_schedule_rule';
+import { StepRuleActions } from '../../../rule_creation/components/step_rule_actions';
import { formatRule } from '../rule_creation/helpers';
import {
getStepsData,
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx
index e8a97e974431a..e6c8e1f5cc439 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx
@@ -60,10 +60,10 @@ import { SiemSearchBar } from '../../../../common/components/search_bar';
import { SecuritySolutionPageWrapper } from '../../../../common/components/page_wrapper';
import { useListsConfig } from '../../../../detections/containers/detection_engine/lists/use_lists_config';
import { SpyRoute } from '../../../../common/utils/route/spy_routes';
-import { StepAboutRuleToggleDetails } from '../../../../detections/components/rules/step_about_rule_details';
+import { StepAboutRuleToggleDetails } from '../../../rule_creation/components/step_about_rule_details';
import { AlertsHistogramPanel } from '../../../../detections/components/alerts_kpis/alerts_histogram_panel';
import { useUserData } from '../../../../detections/components/user_info';
-import { StepRuleActionsReadOnly } from '../../../../detections/components/rules/step_rule_actions';
+import { StepRuleActionsReadOnly } from '../../../rule_creation/components/step_rule_actions';
import {
buildAlertsFilter,
buildAlertStatusFilter,
@@ -71,7 +71,7 @@ import {
buildThreatMatchFilter,
} from '../../../../detections/components/alerts_table/default_config';
import { RuleSwitch } from '../../../../detections/components/rules/rule_switch';
-import { StepPanel } from '../../../../detections/components/rules/step_panel';
+import { StepPanel } from '../../../rule_creation/components/step_panel';
import {
getMachineLearningJobId,
getStepsData,
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx
index 125a018a1304a..cc54a5bd30a87 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_about_section.tsx
@@ -27,10 +27,10 @@ import type {
import { ALERT_RISK_SCORE } from '@kbn/rule-data-utils';
import { requiredOptional } from '@kbn/zod-helpers';
import type { RuleResponse } from '../../../../../common/api/detection_engine/model/rule_schema';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
import { defaultToEmptyTag } from '../../../../common/components/empty_value';
import { filterEmptyThreats } from '../../../rule_creation_ui/pages/rule_creation/helpers';
-import { ThreatEuiFlexGroup } from '../../../../detections/components/rules/description_step/threat_description';
+import { ThreatEuiFlexGroup } from '../../../rule_creation_ui/components/description_step/threat_description';
import { BadgeList } from './badge_list';
import { DEFAULT_DESCRIPTION_LIST_COLUMN_WIDTHS } from './constants';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx
index cb37caa661fda..3d2c299a51a9f 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/components/rule_details/rule_definition_section.tsx
@@ -36,9 +36,9 @@ import type {
} from '../../../../../common/api/detection_engine/model/rule_schema';
import { AlertSuppressionMissingFieldsStrategyEnum } from '../../../../../common/api/detection_engine/model/rule_schema';
import { assertUnreachable } from '../../../../../common/utility_types';
-import * as descriptionStepI18n from '../../../../detections/components/rules/description_step/translations';
+import * as descriptionStepI18n from '../../../rule_creation_ui/components/description_step/translations';
import { RelatedIntegrationsDescription } from '../../../../detections/components/rules/related_integrations/integrations_description';
-import { AlertSuppressionTechnicalPreviewBadge } from '../../../../detections/components/rules/description_step/alert_suppression_technical_preview_badge';
+import { AlertSuppressionTechnicalPreviewBadge } from '../../../rule_creation_ui/components/description_step/alert_suppression_technical_preview_badge';
import { useGetSavedQuery } from '../../../../detections/pages/detection_engine/rules/use_get_saved_query';
import * as threatMatchI18n from '../../../../common/components/threat_match/translations';
import * as timelinesI18n from '../../../../timelines/components/timeline/translations';
@@ -46,11 +46,11 @@ import { useRuleIndexPattern } from '../../../rule_creation_ui/pages/form';
import { DataSourceType } from '../../../../detections/pages/detection_engine/rules/types';
import type { Duration } from '../../../../detections/pages/detection_engine/rules/types';
import { convertHistoryStartToSize } from '../../../../detections/pages/detection_engine/rules/helpers';
-import { MlJobsDescription } from '../../../../detections/components/rules/ml_jobs_description/ml_jobs_description';
-import { MlJobLink } from '../../../../detections/components/rules/ml_job_link/ml_job_link';
+import { MlJobsDescription } from '../../../rule_creation/components/ml_jobs_description/ml_jobs_description';
+import { MlJobLink } from '../../../rule_creation/components/ml_job_link/ml_job_link';
import { useSecurityJobs } from '../../../../common/components/ml_popover/hooks/use_security_jobs';
import { useKibana } from '../../../../common/lib/kibana/kibana_react';
-import { TechnicalPreviewBadge } from '../../../../detections/components/rules/technical_preview_badge';
+import { TechnicalPreviewBadge } from '../../../../common/components/technical_preview_badge';
import { BadgeList } from './badge_list';
import { DEFAULT_DESCRIPTION_LIST_COLUMN_WIDTHS } from './constants';
import * as i18n from './translations';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/__mocks__/mock.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/__mocks__/mock.ts
index 5d1d75296b08d..4c23c14871067 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/__mocks__/mock.ts
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/__mocks__/mock.ts
@@ -16,7 +16,7 @@ import {
DataSourceType,
GroupByOptions,
} from '../../../../../detections/pages/detection_engine/rules/types';
-import type { FieldValueQueryBar } from '../../../../../detections/components/rules/query_bar';
+import type { FieldValueQueryBar } from '../../../../rule_creation_ui/components/query_bar';
import { fillEmptySeverityMappings } from '../../../../../detections/pages/detection_engine/rules/helpers';
import { getThreatMock } from '../../../../../../common/detection_engine/schemas/types/threat.mock';
import type { RuleResponse, SavedQueryRule } from '../../../../../../common/api/detection_engine';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx
index 4376014ab110e..c5f04a178935d 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/add_prebuilt_rules_table/use_add_prebuilt_rules_table_columns.tsx
@@ -12,7 +12,7 @@ import { SHOW_RELATED_INTEGRATIONS_SETTING } from '../../../../../../common/cons
import { PopoverItems } from '../../../../../common/components/popover_items';
import { useUiSetting$ } from '../../../../../common/lib/kibana';
import { IntegrationsPopover } from '../../../../../detections/components/rules/related_integrations/integrations_popover';
-import { SeverityBadge } from '../../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../../common/components/severity_badge';
import * as i18n from '../../../../../detections/pages/detection_engine/rules/translations';
import type { Rule } from '../../../../rule_management/logic';
import { useUserData } from '../../../../../detections/components/user_info';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/rule_actions_form.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/rule_actions_form.tsx
index 22f2f4abd8418..d690326e49901 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/rule_actions_form.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/rule_actions_form.tsx
@@ -33,7 +33,7 @@ import { useKibana } from '../../../../../../common/lib/kibana';
import { getAllActionMessageParams } from '../../../../../../detections/pages/detection_engine/rules/helpers';
-import { RuleActionsField } from '../../../../../../detections/components/rules/rule_actions_field';
+import { RuleActionsField } from '../../../../../rule_creation/components/rule_actions_field';
import { debouncedValidateRuleActionsField } from '../../../../../../detections/containers/detection_engine/rules/validate_rule_actions_field';
const CommonUseField = getUseField({ component: Field });
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/schedule_form.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/schedule_form.tsx
index 7098638b31633..88e1411a5e0bc 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/schedule_form.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/schedule_form.tsx
@@ -9,7 +9,7 @@ import { EuiCallOut } from '@elastic/eui';
import React, { useCallback } from 'react';
import type { BulkActionEditPayload } from '../../../../../../../common/api/detection_engine/rule_management';
import { BulkActionEditTypeEnum } from '../../../../../../../common/api/detection_engine/rule_management';
-import { ScheduleItem } from '../../../../../../detections/components/rules/schedule_item_form';
+import { ScheduleItem } from '../../../../../rule_creation/components/schedule_item_form';
import type { FormSchema } from '../../../../../../shared_imports';
import { UseField, useForm } from '../../../../../../shared_imports';
import { bulkSetSchedule as i18n } from '../translations';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/timeline_template_form.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/timeline_template_form.tsx
index 88312ffb2a021..62d39b40877f6 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/timeline_template_form.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/forms/timeline_template_form.tsx
@@ -10,7 +10,7 @@ import { EuiCallOut } from '@elastic/eui';
import type { FormSchema } from '../../../../../../shared_imports';
import { useForm, UseField } from '../../../../../../shared_imports';
-import { PickTimeline } from '../../../../../../detections/components/rules/pick_timeline';
+import { PickTimeline } from '../../../../../rule_creation/components/pick_timeline';
import type { BulkActionEditPayload } from '../../../../../../../common/api/detection_engine/rule_management';
import { BulkActionEditTypeEnum } from '../../../../../../../common/api/detection_engine/rule_management';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx
index 3f72208dc51bf..cd56a0cd49074 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/upgrade_prebuilt_rules_table/use_upgrade_prebuilt_rules_table_columns.tsx
@@ -15,7 +15,7 @@ import { PopoverItems } from '../../../../../common/components/popover_items';
import { useUiSetting$ } from '../../../../../common/lib/kibana';
import { hasUserCRUDPermission } from '../../../../../common/utils/privileges';
import { IntegrationsPopover } from '../../../../../detections/components/rules/related_integrations/integrations_popover';
-import { SeverityBadge } from '../../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../../common/components/severity_badge';
import { useUserData } from '../../../../../detections/components/user_info';
import * as i18n from '../../../../../detections/pages/detection_engine/rules/translations';
import type { Rule } from '../../../../rule_management/logic';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_columns.tsx
index acf43ebf2c36e..3e429d94fee29 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_columns.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/use_columns.tsx
@@ -32,7 +32,7 @@ import {
import { IntegrationsPopover } from '../../../../detections/components/rules/related_integrations/integrations_popover';
import { RuleStatusBadge } from '../../../../detections/components/rules/rule_execution_status';
import { RuleSwitch } from '../../../../detections/components/rules/rule_switch';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
import * as i18n from '../../../../detections/pages/detection_engine/rules/translations';
import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs';
import type { Rule } from '../../../rule_management/logic';
diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/response_actions_form.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/response_actions_form.tsx
index de7afecf97f74..cefff7db70467 100644
--- a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/response_actions_form.tsx
+++ b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/response_actions_form.tsx
@@ -10,7 +10,7 @@ import { EuiCallOut, EuiSpacer } from '@elastic/eui';
import { map, reduce, upperFirst } from 'lodash';
import ReactMarkdown from 'react-markdown';
import { ResponseActionsWrapper } from './response_actions_wrapper';
-import { FORM_ERRORS_TITLE } from '../../detections/components/rules/rule_actions_field/translations';
+import { FORM_ERRORS_TITLE } from '../rule_creation/components/rule_actions_field/translations';
import { ResponseActionsHeader } from './response_actions_header';
import type { ArrayItem, FormHook } from '../../shared_imports';
import { useSupportedResponseActionTypes } from './use_supported_response_action_types';
diff --git a/x-pack/plugins/security_solution/public/detections/components/rules/related_integrations/integrations_description/index.tsx b/x-pack/plugins/security_solution/public/detections/components/rules/related_integrations/integrations_description/index.tsx
index 4df0e66fca1b1..dc2d36f280279 100644
--- a/x-pack/plugins/security_solution/public/detections/components/rules/related_integrations/integrations_description/index.tsx
+++ b/x-pack/plugins/security_solution/public/detections/components/rules/related_integrations/integrations_description/index.tsx
@@ -9,7 +9,7 @@ import React from 'react';
import styled from 'styled-components';
import type { RelatedIntegrationArray } from '../../../../../../common/api/detection_engine/model/rule_schema';
-import type { ListItems } from '../../description_step/types';
+import type { ListItems } from '../../../../../detection_engine/rule_creation_ui/components/description_step/types';
import type { IntegrationDetails } from '../integration_details';
import { useRelatedIntegrations } from '../use_related_integrations';
diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx
index c5b2036efd701..ed384929a5fc0 100644
--- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx
+++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx
@@ -15,7 +15,7 @@ import { updateIsLoading } from '../../../../timelines/store/actions';
import { useAppToasts } from '../../../../common/hooks/use_app_toasts';
import { useSourcererDataView } from '../../../../common/containers/sourcerer';
import type { TimelineModel } from '../../../..';
-import type { FieldValueQueryBar } from '../../../components/rules/query_bar';
+import type { FieldValueQueryBar } from '../../../../detection_engine/rule_creation_ui/components/query_bar';
import { sourcererActions } from '../../../../common/store/sourcerer';
import {
dispatchUpdateTimeline,
diff --git a/x-pack/plugins/security_solution/public/detections/mitre/get_mitre_threat_component.ts b/x-pack/plugins/security_solution/public/detections/mitre/get_mitre_threat_component.ts
index 74cbc51366799..2e32a8b81f035 100644
--- a/x-pack/plugins/security_solution/public/detections/mitre/get_mitre_threat_component.ts
+++ b/x-pack/plugins/security_solution/public/detections/mitre/get_mitre_threat_component.ts
@@ -7,7 +7,7 @@
import type { Threats } from '@kbn/securitysolution-io-ts-alerting-types';
import type { SearchHit } from '../../../common/search_strategy';
-import { buildThreatDescription } from '../components/rules/description_step/helpers';
+import { buildThreatDescription } from '../../detection_engine/rule_creation_ui/components/description_step/helpers';
export const getMitreComponentParts = (searchHit?: SearchHit) => {
const ruleParameters = searchHit?.fields
diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx
index 2feba6edc5ea9..96a3b17a77871 100644
--- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx
+++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx
@@ -37,7 +37,7 @@ import type {
ActionsStepRule,
} from './types';
import { DataSourceType, GroupByOptions } from './types';
-import { severityOptions } from '../../../components/rules/step_about_rule/data';
+import { severityOptions } from '../../../../detection_engine/rule_creation_ui/components/step_about_rule/data';
import { DEFAULT_SUPPRESSION_MISSING_FIELDS_STRATEGY } from '../../../../../common/detection_engine/constants';
import type { RuleAction, RuleResponse } from '../../../../../common/api/detection_engine';
diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/types.ts b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/types.ts
index 6ad03d95ddccf..1077407ea4756 100644
--- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/types.ts
+++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/types.ts
@@ -20,9 +20,9 @@ import type { DataViewBase, Filter } from '@kbn/es-query';
import type { RuleAction as AlertingRuleAction } from '@kbn/alerting-plugin/common';
import type { DataViewListItem } from '@kbn/data-views-plugin/common';
-import type { FieldValueQueryBar } from '../../../components/rules/query_bar';
-import type { FieldValueTimeline } from '../../../components/rules/pick_timeline';
-import type { FieldValueThreshold } from '../../../components/rules/threshold_input';
+import type { FieldValueQueryBar } from '../../../../detection_engine/rule_creation_ui/components/query_bar';
+import type { FieldValueTimeline } from '../../../../detection_engine/rule_creation/components/pick_timeline';
+import type { FieldValueThreshold } from '../../../../detection_engine/rule_creation_ui/components/threshold_input';
import type {
BuildingBlockType,
RelatedIntegrationArray,
diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/left/components/correlations_details_alerts_table.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/left/components/correlations_details_alerts_table.tsx
index 0740263ca3347..661ae2eab58ab 100644
--- a/x-pack/plugins/security_solution/public/flyout/document_details/left/components/correlations_details_alerts_table.tsx
+++ b/x-pack/plugins/security_solution/public/flyout/document_details/left/components/correlations_details_alerts_table.tsx
@@ -16,7 +16,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
import { i18n } from '@kbn/i18n';
import { CellTooltipWrapper } from '../../shared/components/cell_tooltip_wrapper';
import type { DataProvider } from '../../../../../common/types';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
import { usePaginatedAlerts } from '../hooks/use_paginated_alerts';
import { ExpandablePanel } from '../../../shared/components/expandable_panel';
import { InvestigateInTimelineButton } from '../../../../common/components/event_details/table/investigate_in_timeline_button';
diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/preview/components/rule_preview.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/preview/components/rule_preview.tsx
index 6f679df0c5e9e..5f2ecc8f5e40e 100644
--- a/x-pack/plugins/security_solution/public/flyout/document_details/preview/components/rule_preview.tsx
+++ b/x-pack/plugins/security_solution/public/flyout/document_details/preview/components/rule_preview.tsx
@@ -16,7 +16,7 @@ import { RulePreviewTitle } from './rule_preview_title';
import { RuleAboutSection } from '../../../../detection_engine/rule_management/components/rule_details/rule_about_section';
import { RuleScheduleSection } from '../../../../detection_engine/rule_management/components/rule_details/rule_schedule_section';
import { RuleDefinitionSection } from '../../../../detection_engine/rule_management/components/rule_details/rule_definition_section';
-import { StepRuleActionsReadOnly } from '../../../../detections/components/rules/step_rule_actions';
+import { StepRuleActionsReadOnly } from '../../../../detection_engine/rule_creation/components/step_rule_actions';
import { FlyoutLoading } from '../../../shared/components/flyout_loading';
import { FlyoutError } from '../../../shared/components/flyout_error';
import {
diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/severity.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/severity.tsx
index 1db79a75d1be6..710875f7aa971 100644
--- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/severity.tsx
+++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/severity.tsx
@@ -14,7 +14,7 @@ import { getSourcererScopeId } from '../../../../helpers';
import { SecurityCellActions } from '../../../../common/components/cell_actions';
import { SecurityCellActionsTrigger } from '../../../../actions/constants';
import { useRightPanelContext } from '../context';
-import { SeverityBadge } from '../../../../detections/components/rules/severity_badge';
+import { SeverityBadge } from '../../../../common/components/severity_badge';
const isSeverity = (x: unknown): x is Severity =>
x === 'low' || x === 'medium' || x === 'high' || x === 'critical';
diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/index.tsx
index e8a2a2cbc9efb..385225568ac93 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/index.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/esql_tab_content/index.tsx
@@ -29,7 +29,7 @@ import { timelineSelectors } from '../../../store';
import { useShallowEqualSelector } from '../../../../common/hooks/use_selector';
import { timelineDefaults } from '../../../store/defaults';
import { savedSearchComparator } from './utils';
-import { setIsDiscoverSavedSearchLoaded } from '../../../store/actions';
+import { setIsDiscoverSavedSearchLoaded, endTimelineSaving } from '../../../store/actions';
import { GET_TIMELINE_DISCOVER_SAVED_SEARCH_TITLE } from './translations';
const HideSearchSessionIndicatorBreadcrumbIcon = createGlobalStyle`
@@ -131,6 +131,13 @@ export const DiscoverTabContent: FC = ({ timelineId })
resetDiscoverAppState().then(() => {
setSavedSearchLoaded(true);
});
+ } else {
+ dispatch(
+ endTimelineSaving({
+ id: timelineId,
+ })
+ );
+ setSavedSearchLoaded(true);
}
return;
}
@@ -148,6 +155,8 @@ export const DiscoverTabContent: FC = ({ timelineId })
restoreDiscoverAppStateFromSavedSearch,
isFetching,
setSavedSearchLoaded,
+ dispatch,
+ timelineId,
]);
const getCombinedDiscoverSavedSearchState: () => SavedSearch | undefined = useCallback(() => {
diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx
index cbfa6b44590b3..b1e1e0934d1d6 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx
@@ -14,13 +14,13 @@ import type { FieldsEqlOptions } from '../../../../../../common/search_strategy'
import { useSourcererDataView } from '../../../../../common/containers/sourcerer';
import { useDeepEqualSelector } from '../../../../../common/hooks/use_selector';
import { SourcererScopeName } from '../../../../../common/store/sourcerer/model';
-import { EqlQueryBar } from '../../../../../detections/components/rules/eql_query_bar';
+import { EqlQueryBar } from '../../../../../detection_engine/rule_creation_ui/components/eql_query_bar';
import {
debounceAsync,
eqlValidator,
-} from '../../../../../detections/components/rules/eql_query_bar/validators';
-import type { FieldValueQueryBar } from '../../../../../detections/components/rules/query_bar';
+} from '../../../../../detection_engine/rule_creation_ui/components/eql_query_bar/validators';
+import type { FieldValueQueryBar } from '../../../../../detection_engine/rule_creation_ui/components/query_bar';
import type { FormSchema } from '../../../../../shared_imports';
import { Form, UseField, useForm, useFormData } from '../../../../../shared_imports';
diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx
index d22dcc5eb1167..b5c94ce97f670 100644
--- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx
+++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx
@@ -135,8 +135,8 @@ const ActiveTimelineTab = memo(
setConversationId,
showTimeline,
}) => {
- const isEsqlSettingEnabled = useKibana().services.configSettings.ESQLEnabled;
const { hasAssistantPrivilege } = useAssistantAvailability();
+ const isEsqlSettingEnabled = useKibana().services.configSettings.ESQLEnabled;
const getTab = useCallback(
(tab: TimelineTabs) => {
switch (tab) {
diff --git a/x-pack/plugins/stack_connectors/public/connector_types/pagerduty/links_list.tsx b/x-pack/plugins/stack_connectors/public/connector_types/pagerduty/links_list.tsx
index 941105b6f97b3..741f184acbcf4 100644
--- a/x-pack/plugins/stack_connectors/public/connector_types/pagerduty/links_list.tsx
+++ b/x-pack/plugins/stack_connectors/public/connector_types/pagerduty/links_list.tsx
@@ -62,9 +62,9 @@ export const LinksList: React.FC = ({
= ({
index={index}
editAction={(key, value, actionIndex) => {
const newLinks = [...links];
- newLinks[currentLinkIndex] = { text: link.text, href: value };
+ newLinks[currentLinkIndex] = { href: link.href, text: value };
editAction('links', newLinks, actionIndex);
}}
messageVariables={messageVariables}
- paramsProperty={'linksHref'}
- inputTargetValue={link.href}
+ paramsProperty={'linksText'}
+ inputTargetValue={link.text}
/>
= ({
index={index}
editAction={(key, value, actionIndex) => {
const newLinks = [...links];
- newLinks[currentLinkIndex] = { href: link.href, text: value };
+ newLinks[currentLinkIndex] = { text: link.text, href: value };
editAction('links', newLinks, actionIndex);
}}
messageVariables={messageVariables}
- paramsProperty={'linksText'}
- inputTargetValue={link.text}
+ paramsProperty={'linksHref'}
+ inputTargetValue={link.href}
/>
diff --git a/x-pack/plugins/task_manager/server/task_type_dictionary.ts b/x-pack/plugins/task_manager/server/task_type_dictionary.ts
index 7a99be8612620..84df658f36179 100644
--- a/x-pack/plugins/task_manager/server/task_type_dictionary.ts
+++ b/x-pack/plugins/task_manager/server/task_type_dictionary.ts
@@ -25,6 +25,7 @@ export const REMOVED_TYPES: string[] = [
'search_sessions_expire',
'cleanup_failed_action_executions',
+ 'reports:monitor',
];
/**
diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json
index bf8aef96fcb4f..70a03cb0f755a 100644
--- a/x-pack/plugins/translations/translations/fr-FR.json
+++ b/x-pack/plugins/translations/translations/fr-FR.json
@@ -8016,7 +8016,6 @@
"xpack.apm.alertTypes.errorCount.reason": "Le nombre d'erreurs est {measured} dans le dernier {interval} pour {group}. Alerte lorsque > {threshold}.",
"xpack.apm.alertTypes.minimumWindowSize.description": "La valeur minimale recommandée est {sizeValue} {sizeUnit}. Elle permet de s'assurer que l'alerte comporte suffisamment de données à évaluer. Si vous choisissez une valeur trop basse, l'alerte ne se déclenchera peut-être pas comme prévu.",
"xpack.apm.alertTypes.transactionDuration.reason": "La latence de {aggregationType} est {measured} dans le dernier {interval} pour {group}. Alerte lorsque > {threshold}.",
- "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "Une anomalie {severityLevel} avec un score de {measured} a été détectée dans le dernier {interval} pour {serviceName}.",
"xpack.apm.alertTypes.transactionErrorRate.reason": "L'échec des transactions est {measured} dans le dernier {interval} pour {group}. Alerte lorsque > {threshold}.",
"xpack.apm.anomalyDetection.createJobs.failed.text": "Une erreur est survenue lors de la création d'une ou de plusieurs tâches de détection des anomalies pour les environnements de service APM [{environments}]. Erreur : \"{errorMessage}\"",
"xpack.apm.anomalyDetection.createJobs.succeeded.text": "Tâches de détection des anomalies créées avec succès pour les environnements de service APM [{environments}]. Le démarrage de l'analyse du trafic à la recherche d'anomalies par le Machine Learning va prendre un certain temps.",
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index d159282232345..fc7df375241f7 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -8031,7 +8031,6 @@
"xpack.apm.alertTypes.errorCount.reason": "エラーカウントは{group}の最後の{interval}で{measured}です。> {threshold}のときにアラートを通知します。",
"xpack.apm.alertTypes.minimumWindowSize.description": "推奨される最小値は{sizeValue} {sizeUnit}です。これにより、アラートに評価する十分なデータがあることが保証されます。低すぎる値を選択した場合、アラートが想定通りに実行されない可能性があります。",
"xpack.apm.alertTypes.transactionDuration.reason": "{group}の{aggregationType}のレイテンシは{measured}で最後の{interval}で測定されます。> {threshold}のときにアラートを通知します。",
- "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "{severityLevel}の異常が{measured}のスコアで{serviceName}の最後の{interval}で検出されました。",
"xpack.apm.alertTypes.transactionErrorRate.reason": "{group}の失敗したトランザクションは最後の{interval}で{measured}されます。> {threshold}のときにアラートを通知します。",
"xpack.apm.anomalyDetection.createJobs.failed.text": "APMサービス環境[{environments}]用に1つ以上の異常検知ジョブを作成しているときに問題が発生しました。エラー「{errorMessage}」",
"xpack.apm.anomalyDetection.createJobs.succeeded.text": "APMサービス環境[{environments}]の異常検知ジョブが正常に作成されました。機械学習がトラフィック異常値の分析を開始するには、少し時間がかかります。",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 0629f497ff743..e6a5247f6cd9b 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -8097,7 +8097,6 @@
"xpack.apm.alertTypes.errorCount.reason": "对于 {group},过去 {interval}的错误计数为 {measured}。大于 {threshold} 时告警。",
"xpack.apm.alertTypes.minimumWindowSize.description": "建议的最小值为 {sizeValue} {sizeUnit}。这是为了确保告警具有足够的待评估数据。如果选择的值太小,可能无法按预期触发告警。",
"xpack.apm.alertTypes.transactionDuration.reason": "对于 {group},过去 {interval}的 {aggregationType} 延迟为 {measured}。大于 {threshold} 时告警。",
- "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "对于 {serviceName},过去 {interval}检测到分数为 {measured} 的 {severityLevel} 异常。",
"xpack.apm.alertTypes.transactionErrorRate.reason": "对于 {group},过去 {interval}的失败事务数为 {measured}。大于 {threshold} 时告警。",
"xpack.apm.anomalyDetection.createJobs.failed.text": "为 APM 服务环境 [{environments}] 创建一个或多个异常检测作业时出现问题。错误:“{errorMessage}”",
"xpack.apm.anomalyDetection.createJobs.succeeded.text": "APM 服务环境 [{environments}] 的异常检测作业已成功创建。Machine Learning 要过一些时间才会开始分析流量以发现异常。",
diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.test.tsx
new file mode 100644
index 0000000000000..b0fae16cf365d
--- /dev/null
+++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.test.tsx
@@ -0,0 +1,135 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { waitFor } from '@testing-library/react';
+import { mount } from 'enzyme';
+import type { ReactWrapper } from 'enzyme';
+import React from 'react';
+
+import { getDefaultAlertFlyout } from './default_alerts_flyout';
+import { AlertsTableFlyoutBaseProps } from '../../../..';
+
+const columns = [
+ {
+ columnHeaderType: 'not-filtered',
+ displayAsText: 'Alert Status',
+ id: 'kibana.alert.status',
+ initialWidth: 110,
+ },
+ {
+ columnHeaderType: 'not-filtered',
+ displayAsText: 'Last updated',
+ id: '@timestamp',
+ initialWidth: 230,
+ schema: 'datetime',
+ },
+ {
+ columnHeaderType: 'not-filtered',
+ displayAsText: 'Duration',
+ id: 'kibana.alert.duration.us',
+ initialWidth: 116,
+ },
+ {
+ columnHeaderType: 'not-filtered',
+ displayAsText: 'Reason',
+ id: 'kibana.alert.reason',
+ linkField: '*',
+ },
+ {
+ columnHeaderType: 'not-filtered',
+ displayAsText: 'Maintenance windows',
+ id: 'kibana.alert.maintenance_window_ids',
+ schema: 'string',
+ initialWidth: 180,
+ },
+];
+
+const alert = {
+ _id: 'dc80788f-f869-4f14-bedb-950186c9d2f8',
+ _index: '.internal.alerts-stack.alerts-default-000001',
+ 'kibana.alert.status': ['active'],
+ 'kibana.alert.evaluation.conditions': ['Number of matching documents is NOT greater than 1000'],
+ 'kibana.alert.rule.producer': ['stackAlerts'],
+ 'kibana.alert.reason.text': [
+ 'Document count is 0 in the last 5m in metrics-* data view. Alert when greater than 1000.',
+ ],
+ 'kibana.alert.rule.rule_type_id': ['.es-query'],
+ 'kibana.alert.evaluation.value': ['0'],
+ 'kibana.alert.instance.id': ['query matched'],
+ 'kibana.alert.rule.name': ['Test rule'],
+ 'event.kind': ['signal'],
+ 'kibana.alert.title': ["rule 'Test rule' recovered"],
+ 'kibana.alert.workflow_status': ['open'],
+ 'kibana.alert.rule.uuid': ['TEST_RULE_UUID'],
+ 'kibana.alert.reason': [
+ 'Document count is 0 in the last 5m in metrics-* data view. Alert when greater than 1000.',
+ ],
+ 'kibana.alert.rule.consumer': ['infrastructure'],
+ 'kibana.alert.action_group': ['query matched'],
+ 'kibana.alert.rule.category': ['Elasticsearch query'],
+ 'event.action': ['active'],
+ '@timestamp': ['2023-12-22T09:23:08.244Z'],
+ 'kibana.alert.rule.execution.uuid': ['9ca6fe40-90c0-4e32-9772-025e4de79dd8'],
+ 'kibana.alert.uuid': ['dc80788f-f869-4f14-bedb-950186c9d2f8'],
+ 'kibana.space_ids': ['default'],
+ 'kibana.version': ['8.13.0'],
+} as unknown as AlertsTableFlyoutBaseProps['alert'];
+
+const tabsData = [
+ { name: 'Overview', subj: 'overviewTab' },
+ { name: 'Table', subj: 'tableTab' },
+];
+
+describe('DefaultAlertsFlyout', () => {
+ let wrapper: ReactWrapper;
+ beforeAll(async () => {
+ const { body: FlyoutBody } = getDefaultAlertFlyout(columns, (_columnId, value) => value)();
+ wrapper = mount() as ReactWrapper;
+ await waitFor(() => wrapper.update());
+ });
+
+ describe('tabs', () => {
+ tabsData.forEach(({ name: tab }) => {
+ test(`should render the ${tab} tab`, () => {
+ expect(
+ wrapper
+ .find('[data-test-subj="defaultAlertFlyoutTabs"]')
+ .find('[role="tablist"]')
+ .containsMatchingElement({tab})
+ ).toBeTruthy();
+ });
+ });
+
+ test('the Overview tab should be selected by default', () => {
+ expect(
+ wrapper
+ .find('[data-test-subj="defaultAlertFlyoutTabs"]')
+ .find('.euiTab-isSelected')
+ .first()
+ .text()
+ ).toEqual('Overview');
+ });
+
+ tabsData.forEach(({ subj, name }) => {
+ test(`should render the ${name} tab panel`, () => {
+ wrapper
+ .find('[data-test-subj="defaultAlertFlyoutTabs"]')
+ .find('[role="tablist"]')
+ .find(`[data-test-subj="${subj}"]`)
+ .first()
+ .simulate('click');
+ expect(
+ wrapper
+ .find('[data-test-subj="defaultAlertFlyoutTabs"]')
+ .find('[role="tabpanel"]')
+ .find(`[data-test-subj="${subj}Panel"]`)
+ .exists()
+ ).toBeTruthy();
+ });
+ });
+ });
+});
diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.tsx
index ab9b4d4813c18..ac6fd3e68970d 100644
--- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.tsx
+++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alerts_table/alerts_flyout/default_alerts_flyout.tsx
@@ -5,12 +5,20 @@
* 2.0.
*/
-import { get } from 'lodash';
-import React from 'react';
-import { type EuiDataGridColumn, EuiDescriptionList, EuiPanel, EuiTitle } from '@elastic/eui';
+import React, { useCallback, useMemo, useState } from 'react';
+import {
+ type EuiDataGridColumn,
+ EuiDescriptionList,
+ EuiPanel,
+ EuiTabbedContentTab,
+ EuiTitle,
+} from '@elastic/eui';
import { ALERT_RULE_NAME } from '@kbn/rule-data-utils';
-import { AlertsTableFlyoutBaseProps, AlertTableFlyoutComponent } from '../../../..';
+import { get } from 'lodash';
+import { i18n } from '@kbn/i18n';
+import { ScrollableFlyoutTabbedContent, AlertFieldsTable } from '@kbn/alerts-ui-shared';
import { RegisterFormatter } from '../cells/render_cell_value';
+import { AlertsTableFlyoutBaseProps, AlertTableFlyoutComponent } from '../../../..';
const FlyoutHeader: AlertTableFlyoutComponent = ({ alert }: AlertsTableFlyoutBaseProps) => {
const name = alert[ALERT_RULE_NAME];
@@ -21,28 +29,83 @@ const FlyoutHeader: AlertTableFlyoutComponent = ({ alert }: AlertsTableFlyoutBas
);
};
+type TabId = 'overview' | 'table';
+
export const getDefaultAlertFlyout =
(columns: EuiDataGridColumn[], formatter: RegisterFormatter) => () => {
- const FlyoutBody: AlertTableFlyoutComponent = ({ alert }: AlertsTableFlyoutBaseProps) => (
-
- {
- const value = get(alert, column.id)?.[0];
-
- return {
- title: column.displayAsText as string,
- description: value != null ? formatter(column.id, value) : '—',
- };
- })}
- type="column"
- columnWidths={[1, 3]}
+ const FlyoutBody: AlertTableFlyoutComponent = ({ alert }: AlertsTableFlyoutBaseProps) => {
+ const overviewTab = useMemo(
+ () => ({
+ id: 'overview',
+ 'data-test-subj': 'overviewTab',
+ name: i18n.translate(
+ 'xpack.triggersActionsUI.sections.alertsTable.alertsFlyout.overview',
+ {
+ defaultMessage: 'Overview',
+ }
+ ),
+ content: (
+
+ {
+ const value = get(alert, column.id)?.[0];
+
+ return {
+ title: column.displayAsText as string,
+ description: value != null ? formatter(column.id, value) : '—',
+ };
+ })}
+ type="column"
+ columnWidths={[1, 3]}
+ />
+
+ ),
+ }),
+ [alert]
+ );
+
+ const tableTab = useMemo(
+ () => ({
+ id: 'table',
+ 'data-test-subj': 'tableTab',
+ name: i18n.translate('xpack.triggersActionsUI.sections.alertsTable.alertsFlyout.table', {
+ defaultMessage: 'Table',
+ }),
+ content: (
+
+
+
+ ),
+ }),
+ [alert]
+ );
+
+ const tabs = useMemo(() => [overviewTab, tableTab], [overviewTab, tableTab]);
+ const [selectedTabId, setSelectedTabId] = useState('overview');
+ const handleTabClick = useCallback(
+ (tab: EuiTabbedContentTab) => setSelectedTabId(tab.id as TabId),
+ []
+ );
+
+ const selectedTab = useMemo(
+ () => tabs.find((tab) => tab.id === selectedTabId) ?? tabs[0],
+ [tabs, selectedTabId]
+ );
+
+ return (
+
-
- );
+ );
+ };
return {
- body: FlyoutBody,
header: FlyoutHeader,
+ body: FlyoutBody,
footer: null,
};
};
diff --git a/x-pack/test/apm_api_integration/tests/alerts/anomaly_alert.spec.ts b/x-pack/test/apm_api_integration/tests/alerts/anomaly_alert.spec.ts
index bf7d78aaae5dc..f98a82a6cd30c 100644
--- a/x-pack/test/apm_api_integration/tests/alerts/anomaly_alert.spec.ts
+++ b/x-pack/test/apm_api_integration/tests/alerts/anomaly_alert.spec.ts
@@ -6,6 +6,7 @@
*/
import moment from 'moment';
+import { AnomalyDetectorType } from '@kbn/apm-plugin/common/anomaly_detection/apm_ml_detectors';
import { ApmRuleType } from '@kbn/rule-data-utils';
import { apm, timerange } from '@kbn/apm-synthtrace-client';
import expect from '@kbn/expect';
@@ -15,6 +16,7 @@ import { FtrProviderContext } from '../../common/ftr_provider_context';
import { createAndRunApmMlJobs } from '../../common/utils/create_and_run_apm_ml_jobs';
import { createApmRule } from './helpers/alerting_api_helper';
import { waitForActiveRule } from './helpers/wait_for_active_rule';
+import { waitForAlertsForRule } from './helpers/wait_for_alerts_for_rule';
import { cleanupRuleAndAlertState } from './helpers/cleanup_rule_and_alert_state';
export default function ApiTest({ getService }: FtrProviderContext) {
@@ -25,8 +27,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
const logger = getService('log');
const synthtraceEsClient = getService('synthtraceEsClient');
- // FAILING VERSION BUMP: https://github.com/elastic/kibana/issues/172754
- registry.when.skip(
+ registry.when(
'fetching service anomalies with a trial license',
{ config: 'trial', archives: [] },
() => {
@@ -38,7 +39,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
before(async () => {
const serviceA = apm
- .service({ name: 'a', environment: 'production', agentName: 'java' })
+ .service({ name: 'foo', environment: 'production', agentName: 'java' })
.instance('a');
const events = timerange(start, end)
@@ -77,8 +78,10 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}
describe('with ml jobs', () => {
- it('checks if alert is active', async () => {
- const createdRule = await createApmRule({
+ let createdRule: Awaited>;
+
+ before(async () => {
+ createdRule = await createApmRule({
supertest,
name: 'Latency anomaly | service-a',
params: {
@@ -86,10 +89,12 @@ export default function ApiTest({ getService }: FtrProviderContext) {
windowSize: 5,
windowUnit: 'h',
anomalySeverityType: ML_ANOMALY_SEVERITY.WARNING,
+ anomalyDetectorTypes: [AnomalyDetectorType.txLatency],
},
ruleTypeId: ApmRuleType.Anomaly,
});
-
+ });
+ it('checks if alert is active', async () => {
const ruleStatus = await waitForActiveRule({
ruleId: createdRule.id,
supertest,
@@ -97,6 +102,15 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
expect(ruleStatus).to.be('active');
});
+
+ it('produces an alert with the correct reason', async () => {
+ const alerts = await waitForAlertsForRule({ es, ruleId: createdRule.id });
+
+ const score = alerts[0]['kibana.alert.evaluation.value'];
+ expect(alerts[0]['kibana.alert.reason']).to.be(
+ `warning latency anomaly with a score of ${score}, was detected in the last 5 hrs for foo.`
+ );
+ });
});
}
);
diff --git a/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts b/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts
index 42fca92b47540..e4cc8d302ba4a 100644
--- a/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts
+++ b/x-pack/test/apm_api_integration/tests/alerts/helpers/alerting_api_helper.ts
@@ -13,6 +13,7 @@ import { ApmRuleType } from '@kbn/rule-data-utils';
import { ApmRuleParamsType } from '@kbn/apm-plugin/common/rules/schema';
import { ApmDocumentType } from '@kbn/apm-plugin/common/document_type';
import { RollupInterval } from '@kbn/apm-plugin/common/rollup';
+import { ObservabilityApmAlert } from '@kbn/alerts-as-data-utils';
import { ApmApiClient } from '../../../common/config';
export const APM_ALERTS_INDEX = '.alerts-observability.apm.alerts-*';
@@ -173,13 +174,7 @@ export async function clearKibanaApmEventLog(es: Client) {
});
}
-export type ApmAlertFields = ParsedTechnicalFields & {
- 'service.name': string;
- 'service.environment': string;
- 'transaction.name': string;
- 'error.grouping_key': string;
- 'error.grouping_name': string;
-};
+export type ApmAlertFields = ParsedTechnicalFields & ObservabilityApmAlert;
export async function createIndexConnector({
supertest,
diff --git a/x-pack/test/apm_api_integration/tests/anomalies/anomaly_charts.spec.ts b/x-pack/test/apm_api_integration/tests/anomalies/anomaly_charts.spec.ts
index 1d5330a137b55..b67dc436e57c0 100644
--- a/x-pack/test/apm_api_integration/tests/anomalies/anomaly_charts.spec.ts
+++ b/x-pack/test/apm_api_integration/tests/anomalies/anomaly_charts.spec.ts
@@ -5,7 +5,7 @@
* 2.0.
*/
-import { ApmMlDetectorType } from '@kbn/apm-plugin/common/anomaly_detection/apm_ml_detectors';
+import { AnomalyDetectorType } from '@kbn/apm-plugin/common/anomaly_detection/apm_ml_detectors';
import { ServiceAnomalyTimeseries } from '@kbn/apm-plugin/common/anomaly_detection/service_anomaly_timeseries';
import { Environment } from '@kbn/apm-plugin/common/environment_rt';
import { apm, timerange } from '@kbn/apm-synthtrace-client';
@@ -209,13 +209,13 @@ export default function ApiTest({ getService }: FtrProviderContext) {
).body.allAnomalyTimeseries;
latencySeries = allAnomalyTimeseries.find(
- (spec) => spec.type === ApmMlDetectorType.txLatency
+ (spec) => spec.type === AnomalyDetectorType.txLatency
);
throughputSeries = allAnomalyTimeseries.find(
- (spec) => spec.type === ApmMlDetectorType.txThroughput
+ (spec) => spec.type === AnomalyDetectorType.txThroughput
);
failureRateSeries = allAnomalyTimeseries.find(
- (spec) => spec.type === ApmMlDetectorType.txFailureRate
+ (spec) => spec.type === AnomalyDetectorType.txFailureRate
);
});
@@ -247,7 +247,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}
expect(omitTimeseriesData(latencySeries)).to.eql({
- type: ApmMlDetectorType.txLatency,
+ type: AnomalyDetectorType.txLatency,
jobId: 'apm-tx-metrics-production',
serviceName: 'a',
environment: 'production',
@@ -256,7 +256,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
expect(omitTimeseriesData(throughputSeries)).to.eql({
- type: ApmMlDetectorType.txThroughput,
+ type: AnomalyDetectorType.txThroughput,
jobId: 'apm-tx-metrics-production',
serviceName: 'a',
environment: 'production',
@@ -265,7 +265,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
expect(omitTimeseriesData(failureRateSeries)).to.eql({
- type: ApmMlDetectorType.txFailureRate,
+ type: AnomalyDetectorType.txFailureRate,
jobId: 'apm-tx-metrics-production',
serviceName: 'a',
environment: 'production',
diff --git a/x-pack/test/apm_api_integration/tests/error_rate/service_maps.spec.ts b/x-pack/test/apm_api_integration/tests/error_rate/service_maps.spec.ts
index af07dd52adf03..9a8caeef22b97 100644
--- a/x-pack/test/apm_api_integration/tests/error_rate/service_maps.spec.ts
+++ b/x-pack/test/apm_api_integration/tests/error_rate/service_maps.spec.ts
@@ -80,7 +80,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
const GO_PROD_LIST_ERROR_RATE = 25;
const GO_PROD_ID_RATE = 50;
const GO_PROD_ID_ERROR_RATE = 50;
- before(async () => {
+ before(() => {
const serviceGoProdInstance = apm
.service({ name: serviceName, environment: 'production', agentName: 'go' })
.instance('instance-a');
@@ -88,7 +88,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
const transactionNameProductList = 'GET /api/product/list';
const transactionNameProductId = 'GET /api/product/:id';
- await synthtraceEsClient.index([
+ return synthtraceEsClient.index([
timerange(start, end)
.interval('1m')
.rate(GO_PROD_LIST_RATE)
@@ -140,8 +140,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
after(() => synthtraceEsClient.clean());
- // FLAKY: https://github.com/elastic/kibana/issues/172772
- describe.skip('compare latency value between service inventory and service maps', () => {
+ describe('compare latency value between service inventory and service maps', () => {
before(async () => {
[errorTransactionValues, errorRateMetricValues] = await Promise.all([
getErrorRateValues('transaction'),
diff --git a/x-pack/test/cases_api_integration/common/plugins/security_solution/server/plugin.ts b/x-pack/test/cases_api_integration/common/plugins/security_solution/server/plugin.ts
index 3f46aa016811c..2fd5b5ced2b9b 100644
--- a/x-pack/test/cases_api_integration/common/plugins/security_solution/server/plugin.ts
+++ b/x-pack/test/cases_api_integration/common/plugins/security_solution/server/plugin.ts
@@ -91,13 +91,13 @@ export class FixturePlugin implements Plugin {
+ try {
+ await kibanaServer.savedObjects.update({
+ type: GLOBAL_SETTINGS_SAVED_OBJECT_TYPE,
+ id: 'fleet-default-settings',
+ attributes: {
+ output_secret_storage_requirements_met: true,
+ },
+ overwrite: false,
+ });
+ } catch (e) {
+ throw e;
+ }
+ };
+
+ const disableOutputSecrets = async () => {
+ try {
+ await kibanaServer.savedObjects.update({
+ type: GLOBAL_SETTINGS_SAVED_OBJECT_TYPE,
+ id: 'fleet-default-settings',
+ attributes: {
+ output_secret_storage_requirements_met: false,
+ },
+ overwrite: false,
+ });
+ } catch (e) {
+ throw e;
+ }
+ };
+
+ const createFleetServerAgent = async (
+ agentPolicyId: string,
+ hostname: string,
+ agentVersion: string
+ ) => {
+ const agentResponse = await es.index({
+ index: '.fleet-agents',
+ refresh: true,
+ body: {
+ access_api_key_id: 'api-key-3',
+ active: true,
+ policy_id: agentPolicyId,
+ type: 'PERMANENT',
+ local_metadata: {
+ host: { hostname },
+ elastic: { agent: { version: agentVersion } },
+ },
+ user_provided_metadata: {},
+ enrolled_at: '2022-06-21T12:14:25Z',
+ last_checkin: '2022-06-27T12:28:29Z',
+ tags: ['tag1'],
+ },
+ });
+
+ return agentResponse._id;
+ };
+
+ const clearAgents = async () => {
+ try {
+ await es.deleteByQuery({
+ index: '.fleet-agents',
+ refresh: true,
+ body: {
+ query: {
+ match_all: {},
+ },
+ },
+ });
+ } catch (err) {
+ // index doesn't exist
+ }
+ };
+
describe('fleet_outputs_crud', async function () {
skipIfNoDockerRegistry(providerContext);
before(async () => {
@@ -75,6 +148,7 @@ export default function (providerContext: FtrProviderContext) {
before(async function () {
await enableSecrets();
+ await enableOutputSecrets();
// we must first force install the fleet_server package to override package verification error on policy create
// https://github.com/elastic/kibana/issues/137450
const getPkRes = await supertest
@@ -1305,6 +1379,90 @@ export default function (providerContext: FtrProviderContext) {
// @ts-ignore _source unknown type
expect(secret._source.value).to.equal('token');
});
+
+ it('should store secrets if fleet server meets minimum version', async function () {
+ await clearAgents();
+ await createFleetServerAgent(fleetServerPolicyId, 'server_1', '8.12.0');
+
+ const res = await supertest
+ .post(`/api/fleet/outputs`)
+ .set('kbn-xsrf', 'xxxx')
+ .send({
+ name: 'Logstash Output',
+ type: 'logstash',
+ hosts: ['test.fr:443'],
+ ssl: {
+ certificate: 'CERTIFICATE',
+ certificate_authorities: ['CA1', 'CA2'],
+ },
+ config_yaml: 'shipper: {}',
+ secrets: { ssl: { key: 'KEY' } },
+ })
+ .expect(200);
+
+ expect(Object.keys(res.body.item)).to.contain('ssl');
+ expect(Object.keys(res.body.item.ssl)).not.to.contain('key');
+ expect(Object.keys(res.body.item)).to.contain('secrets');
+ expect(Object.keys(res.body.item.secrets)).to.contain('ssl');
+ expect(Object.keys(res.body.item.secrets.ssl)).to.contain('key');
+ const secretId = res.body.item.secrets.ssl.key.id;
+ const secret = await getSecretById(secretId);
+ // @ts-ignore _source unknown type
+ expect(secret._source.value).to.equal('KEY');
+ });
+
+ it('should not store secrets if fleet server does not meet minimum version', async function () {
+ await disableOutputSecrets();
+ await clearAgents();
+ await createFleetServerAgent(fleetServerPolicyId, 'server_1', '7.0.0');
+
+ const res = await supertest
+ .post(`/api/fleet/outputs`)
+ .set('kbn-xsrf', 'xxxx')
+ .send({
+ name: 'Logstash Output',
+ type: 'logstash',
+ hosts: ['test.fr:443'],
+ ssl: {
+ certificate: 'CERTIFICATE',
+ certificate_authorities: ['CA1', 'CA2'],
+ },
+ config_yaml: 'shipper: {}',
+ secrets: { ssl: { key: 'KEY' } },
+ })
+ .expect(200);
+
+ expect(Object.keys(res.body.item)).not.to.contain('secrets');
+ expect(Object.keys(res.body.item)).to.contain('ssl');
+ expect(Object.keys(res.body.item.ssl)).to.contain('key');
+ expect(res.body.item.ssl.key).to.equal('KEY');
+ });
+
+ it('should not store secrets if there is no fleet server', async function () {
+ await disableOutputSecrets();
+ await clearAgents();
+
+ const res = await supertest
+ .post(`/api/fleet/outputs`)
+ .set('kbn-xsrf', 'xxxx')
+ .send({
+ name: 'Logstash Output',
+ type: 'logstash',
+ hosts: ['test.fr:443'],
+ ssl: {
+ certificate: 'CERTIFICATE',
+ certificate_authorities: ['CA1', 'CA2'],
+ },
+ config_yaml: 'shipper: {}',
+ secrets: { ssl: { key: 'KEY' } },
+ })
+ .expect(200);
+
+ expect(Object.keys(res.body.item)).not.to.contain('secrets');
+ expect(Object.keys(res.body.item)).to.contain('ssl');
+ expect(Object.keys(res.body.item.ssl)).to.contain('key');
+ expect(res.body.item.ssl.key).to.equal('KEY');
+ });
});
describe('DELETE /outputs/{outputId}', () => {
@@ -1378,50 +1536,6 @@ export default function (providerContext: FtrProviderContext) {
expect(deleteResponse.id).to.eql(outputId);
});
-
- it('should delete secrets when deleting an output', async function () {
- const res = await supertest
- .post(`/api/fleet/outputs`)
- .set('kbn-xsrf', 'xxxx')
- .send({
- name: 'Kafka Output With Secret',
- type: 'kafka',
- hosts: ['test.fr:2000'],
- auth_type: 'ssl',
- topics: [{ topic: 'topic1' }],
- config_yaml: 'shipper: {}',
- shipper: {
- disk_queue_enabled: true,
- disk_queue_path: 'path/to/disk/queue',
- disk_queue_encryption_enabled: true,
- },
- ssl: {
- certificate: 'CERTIFICATE',
- certificate_authorities: ['CA1', 'CA2'],
- },
- secrets: {
- ssl: {
- key: 'KEY',
- },
- },
- })
- .expect(200);
-
- const outputWithSecretsId = res.body.item.id;
- const secretId = res.body.item.secrets.ssl.key.id;
-
- await supertest
- .delete(`/api/fleet/outputs/${outputWithSecretsId}`)
- .set('kbn-xsrf', 'xxxx')
- .expect(200);
-
- try {
- await getSecretById(secretId);
- expect().fail('Secret should have been deleted');
- } catch (e) {
- // not found
- }
- });
});
describe('Kafka output', () => {
@@ -1470,6 +1584,53 @@ export default function (providerContext: FtrProviderContext) {
expect(deleteResponse.id).to.eql(outputId);
});
+
+ it('should delete secrets when deleting an output', async function () {
+ // Output secrets require at least one Fleet server on 8.12.0 or higher (and none under 8.12.0).
+ await clearAgents();
+ await createFleetServerAgent(fleetServerPolicyId, 'server_1', '8.12.0');
+ const res = await supertest
+ .post(`/api/fleet/outputs`)
+ .set('kbn-xsrf', 'xxxx')
+ .send({
+ name: 'Kafka Output With Secret',
+ type: 'kafka',
+ hosts: ['test.fr:2000'],
+ auth_type: 'ssl',
+ topics: [{ topic: 'topic1' }],
+ config_yaml: 'shipper: {}',
+ shipper: {
+ disk_queue_enabled: true,
+ disk_queue_path: 'path/to/disk/queue',
+ disk_queue_encryption_enabled: true,
+ },
+ ssl: {
+ certificate: 'CERTIFICATE',
+ certificate_authorities: ['CA1', 'CA2'],
+ },
+ secrets: {
+ ssl: {
+ key: 'KEY',
+ },
+ },
+ })
+ .expect(200);
+
+ const outputWithSecretsId = res.body.item.id;
+ const secretId = res.body.item.secrets.ssl.key.id;
+
+ await supertest
+ .delete(`/api/fleet/outputs/${outputWithSecretsId}`)
+ .set('kbn-xsrf', 'xxxx')
+ .expect(200);
+
+ try {
+ await getSecretById(secretId);
+ expect().fail('Secret should have been deleted');
+ } catch (e) {
+ // not found
+ }
+ });
});
});
});
diff --git a/x-pack/test/fleet_api_integration/apis/policy_secrets.ts b/x-pack/test/fleet_api_integration/apis/policy_secrets.ts
index 6197738eda4e8..a492e91c00f04 100644
--- a/x-pack/test/fleet_api_integration/apis/policy_secrets.ts
+++ b/x-pack/test/fleet_api_integration/apis/policy_secrets.ts
@@ -461,6 +461,8 @@ export default function (providerContext: FtrProviderContext) {
});
it('Should return output secrets if policy uses output with secrets', async () => {
+ // Output secrets require at least one Fleet server on 8.12.0 or higher (and none under 8.12.0).
+ await createFleetServerAgent(fleetServerAgentPolicyId, 'server_1', '8.12.0');
const outputWithSecret = await createOutputWithSecret();
const { body: agentPolicyResponse } = await supertest
diff --git a/x-pack/test/functional/services/ml/job_wizard_categorization.ts b/x-pack/test/functional/services/ml/job_wizard_categorization.ts
index 49d37a0db4214..8c4e4a6386da7 100644
--- a/x-pack/test/functional/services/ml/job_wizard_categorization.ts
+++ b/x-pack/test/functional/services/ml/job_wizard_categorization.ts
@@ -21,6 +21,7 @@ export function MachineLearningJobWizardCategorizationProvider(
return {
async assertCategorizationDetectorTypeSelectionExists() {
await testSubjects.existOrFail('~mlJobWizardCategorizationDetectorCountCard');
+ await testSubjects.existOrFail('~mlJobWizardCategorizationDetectorHighCountCard');
await testSubjects.existOrFail('~mlJobWizardCategorizationDetectorRareCard');
},
diff --git a/x-pack/test/functional_with_es_ssl/apps/cases/group1/view_case.ts b/x-pack/test/functional_with_es_ssl/apps/cases/group1/view_case.ts
index 9c33f6720f8b5..6979c45f867ba 100644
--- a/x-pack/test/functional_with_es_ssl/apps/cases/group1/view_case.ts
+++ b/x-pack/test/functional_with_es_ssl/apps/cases/group1/view_case.ts
@@ -1018,8 +1018,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => {
await testSubjects.existOrFail('case-view-tab-content-activity');
});
- // there are no alerts in stack management yet
- it.skip("shows the 'alerts' tab when clicked", async () => {
+ it("shows the 'alerts' tab when clicked", async () => {
await testSubjects.click('case-view-tab-title-alerts');
await testSubjects.existOrFail('case-view-tab-content-alerts');
});
diff --git a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts
index f56e5667df331..9b3f87ec89124 100644
--- a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts
+++ b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts
@@ -140,7 +140,6 @@ export default function ({ getService }: FtrProviderContext) {
'osquery:telemetry-packs',
'osquery:telemetry-saved-queries',
'report:execute',
- 'reports:monitor',
'risk_engine:risk_scoring',
'security:endpoint-diagnostics',
'security:endpoint-meta-telemetry',
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts
index 96b30a29d23d2..2318a4c4ef452 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/correlation_tab.cy.ts
@@ -17,7 +17,7 @@ import { createTimeline } from '../../../tasks/api_calls/timelines';
import { login } from '../../../tasks/login';
import { visit } from '../../../tasks/navigation';
-import { addEqlToTimeline, saveTimeline } from '../../../tasks/timeline';
+import { addEqlToTimeline, saveTimeline, clearEqlInTimeline } from '../../../tasks/timeline';
import { TIMELINES_URL } from '../../../urls/navigation';
import { EQL_QUERY_VALIDATION_ERROR } from '../../../screens/create_new_rule';
@@ -47,8 +47,7 @@ describe('Correlation tab', { tags: ['@ess', '@serverless'] }, () => {
});
it('should update timeline after removing eql', () => {
- cy.get(TIMELINE_CORRELATION_INPUT).type('{selectAll} {del}');
- cy.get(TIMELINE_CORRELATION_INPUT).clear();
+ clearEqlInTimeline();
saveTimeline();
cy.wait('@updateTimeline');
cy.reload();
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/esql_state.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/esql_state.cy.ts
index 696d3906a7c0d..ef242f07ae9f0 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/esql_state.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/esql_state.cy.ts
@@ -20,16 +20,23 @@ import {
import { updateDateRangeInLocalDatePickers } from '../../../../tasks/date_picker';
import { login } from '../../../../tasks/login';
import { visitWithTimeRange } from '../../../../tasks/navigation';
-import { closeTimeline, goToEsqlTab, openActiveTimeline } from '../../../../tasks/timeline';
+import {
+ closeTimeline,
+ goToEsqlTab,
+ openActiveTimeline,
+ addNameAndDescriptionToTimeline,
+ saveTimeline,
+} from '../../../../tasks/timeline';
import { ALERTS_URL } from '../../../../urls/navigation';
+import { getTimeline } from '../../../../objects/timeline';
import { ALERTS, CSP_FINDINGS } from '../../../../screens/security_header';
const INITIAL_START_DATE = 'Jan 18, 2021 @ 20:33:29.186';
const INITIAL_END_DATE = 'Jan 19, 2024 @ 20:33:29.186';
-const DEFAULT_ESQL_QUERY =
- 'from .alerts-security.alerts-default,apm-*-transaction*,auditbeat-*,endgame-*,filebeat-*,logs-*,packetbeat-*,traces-apm*,winlogbeat-*,-*elastic-cloud-logs-* | limit 10 | keep @timestamp, message, event.category, event.action, host.name, source.ip, destination.ip, user.name';
+const DEFAULT_ESQL_QUERY = '';
-describe(
+// FAILURE introduced by the fix for 8.11.4 related to the default empty string and fix for the infinite loop on the esql tab
+describe.skip(
'Timeline Discover ESQL State',
{
tags: ['@ess'],
@@ -39,6 +46,9 @@ describe(
login();
visitWithTimeRange(ALERTS_URL);
openActiveTimeline();
+ cy.window().then((win) => {
+ win.onbeforeunload = null;
+ });
goToEsqlTab();
updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE);
});
@@ -52,6 +62,8 @@ describe(
const esqlQuery = 'from auditbeat-* | limit 5';
addDiscoverEsqlQuery(esqlQuery);
submitDiscoverSearchBar();
+ addNameAndDescriptionToTimeline(getTimeline());
+ saveTimeline();
closeTimeline();
navigateFromHeaderTo(CSP_FINDINGS);
navigateFromHeaderTo(ALERTS);
@@ -61,8 +73,13 @@ describe(
verifyDiscoverEsqlQuery(esqlQuery);
});
it('should remember columns when navigating away and back to discover ', () => {
+ const esqlQuery = 'from auditbeat-* | limit 5';
+ addDiscoverEsqlQuery(esqlQuery);
+ submitDiscoverSearchBar();
+ addNameAndDescriptionToTimeline(getTimeline());
addFieldToTable('host.name');
addFieldToTable('user.name');
+ saveTimeline();
closeTimeline();
navigateFromHeaderTo(CSP_FINDINGS);
navigateFromHeaderTo(ALERTS);
diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/search_filter.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/search_filter.cy.ts
index b0e5bcb397c0e..73bb13b20236b 100644
--- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/search_filter.cy.ts
+++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/esql/search_filter.cy.ts
@@ -47,6 +47,9 @@ describe(
deleteTimelines();
visitWithTimeRange(ALERTS_URL);
openActiveTimeline();
+ cy.window().then((win) => {
+ win.onbeforeunload = null;
+ });
createNewTimeline();
goToEsqlTab();
updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE);
@@ -59,6 +62,8 @@ describe(
});
it('should be able to add fields to the table', () => {
+ addDiscoverEsqlQuery(`${esqlQuery} | limit 1`);
+ submitDiscoverSearchBar();
addFieldToTable('host.name');
addFieldToTable('user.name');
cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER('host.name')).should('be.visible');
diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts b/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts
index 364f292124913..95fd6d8583217 100644
--- a/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts
+++ b/x-pack/test/security_solution_cypress/cypress/tasks/discover.ts
@@ -51,7 +51,6 @@ export const selectCurrentDiscoverEsqlQuery = (
) => {
goToEsqlTab();
cy.get(discoverEsqlInput).should('be.visible').click();
- cy.get(discoverEsqlInput).should('be.focused');
cy.get(DISCOVER_ESQL_INPUT_EXPAND).click();
cy.get(discoverEsqlInput).type(Cypress.platform === 'darwin' ? '{cmd+a}' : '{ctrl+a}');
};
diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts
index 670cbe92bdffa..8c5c0fe14c146 100644
--- a/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts
+++ b/x-pack/test/security_solution_cypress/cypress/tasks/timeline.ts
@@ -192,6 +192,12 @@ export const addEqlToTimeline = (eql: string) => {
});
};
+export const clearEqlInTimeline = () => {
+ cy.get(TIMELINE_CORRELATION_INPUT).type('{selectAll} {del}');
+ cy.get(TIMELINE_CORRELATION_INPUT).clear();
+ cy.get(EQL_QUERY_VALIDATION_SPINNER).should('not.exist');
+};
+
export const addFilter = (filter: TimelineFilter): Cypress.Chainable> => {
cy.get(ADD_FILTER).click();
cy.get(TIMELINE_FILTER_FIELD).type(`${filter.field}{downarrow}{enter}`);
diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts
index 171ac839da4bc..bd8c64bed6731 100644
--- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts
+++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_api_helper.ts
@@ -153,6 +153,7 @@ export async function createAnomalyRule({
enabled,
params: params || {
anomalySeverityType: 'critical',
+ anomalyDetectorTypes: ['txLatency'],
environment: 'ENVIRONMENT_ALL',
windowSize: 30,
windowUnit: 'm',
diff --git a/yarn.lock b/yarn.lock
index 048c16b9462c6..f0e621fde0473 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1628,29 +1628,29 @@
dependencies:
tslib "^2.0.0"
-"@elastic/apm-rum-core@^5.20.0":
- version "5.20.0"
- resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.20.0.tgz#2a249df44caba0c8b6b5ce473b2a1c7b6158bfb8"
- integrity sha512-vOUCczY7jOyXyaeduQud8ZBC3JpluZAzfwgGjJl3AgkUOU+v00aAmekwKscAFwdC1li4+03rM9hyc+hOgYuLPA==
+"@elastic/apm-rum-core@^5.21.0":
+ version "5.21.0"
+ resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.21.0.tgz#0dc214b2c829c80a2cd07d37a250c89761fe8386"
+ integrity sha512-O2Sq1CPq2baG3z2RGtgyG+Hybli3rwq4oMOCMvUSiTiMKBPY1dRCfuebs6KpZsk3euoqykN+oTp0DPKeOI+XIg==
dependencies:
error-stack-parser "^1.3.5"
opentracing "^0.14.3"
promise-polyfill "^8.1.3"
-"@elastic/apm-rum-react@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@elastic/apm-rum-react/-/apm-rum-react-2.0.1.tgz#6fae27ba708b1d2550668eea36e7669736fded6e"
- integrity sha512-UxoRhYctnxhX0f8eHxZtQonv/4Nq8wm+kl/LOrxecP+AcGwzeDfWWgzNiZNaKtVg0/3pp5NKSDIYBU5Fx27HCw==
+"@elastic/apm-rum-react@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@elastic/apm-rum-react/-/apm-rum-react-2.0.2.tgz#5f73d41d462941f4d073ffaa118723987379548b"
+ integrity sha512-m0l982fLiImSxtuy8kKVXTnNl5wSMG3/TD3QokFQiYnVap+wjEULVm1HbS+dE4hjh9eVqCkuBiPu450a8lUs8g==
dependencies:
- "@elastic/apm-rum" "^5.15.0"
+ "@elastic/apm-rum" "^5.16.0"
hoist-non-react-statics "^3.3.0"
-"@elastic/apm-rum@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@elastic/apm-rum/-/apm-rum-5.15.0.tgz#1c38d5868ed2d8787e57a15d18d678851e936658"
- integrity sha512-5YEvt8MpWKL8fPh87NvSKt9RAejKhlTyFtEWREp037h5yOEjZ/YnnGUG8aqXcwtEBRzBbkbtQKacNgFdeWnBmg==
+"@elastic/apm-rum@^5.16.0":
+ version "5.16.0"
+ resolved "https://registry.yarnpkg.com/@elastic/apm-rum/-/apm-rum-5.16.0.tgz#bb9b00a866a48ec40c07ea742d241f835e8b5f9d"
+ integrity sha512-vNwRWDIccdu6iPDpCyrC3myRnpBzRH6wlAoOZjgSFJilQJMsymb8NzR1rkQmNEBca+frRuDCZabd+ylEZ47YBA==
dependencies:
- "@elastic/apm-rum-core" "^5.20.0"
+ "@elastic/apm-rum-core" "^5.21.0"
"@elastic/app-search-javascript@^8.1.2":
version "8.1.2"
@@ -6199,6 +6199,10 @@
version "0.0.0"
uid ""
+"@kbn/test-eui-helpers@link:packages/kbn-test-eui-helpers":
+ version "0.0.0"
+ uid ""
+
"@kbn/test-feature-usage-plugin@link:x-pack/test/licensing_plugin/plugins/test_feature_usage":
version "0.0.0"
uid ""