diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 49b4a84343f80..cdfe0fcfbceeb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -804,7 +804,12 @@ packages/kbn-yarn-lock-validator @elastic/kibana-operations /x-pack/test/functional/services/uptime @elastic/uptime /x-pack/test/api_integration/apis/uptime @elastic/uptime /x-pack/plugins/observability/public/components/shared/exploratory_view @elastic/uptime +/x-pack/plugins/observability/public/components/shared/field_value_suggestions @elastic/uptime +/x-pack/plugins/observability/public/components/shared/core_web_vitals @elastic/uptime +/x-pack/plugins/observability/public/components/shared/load_when_in_view @elastic/uptime +/x-pack/plugins/observability/public/components/shared/filter_value_label @elastic/uptime /x-pack/plugins/observability/public/utils/observability_data_views @elastic/uptime +/x-pack/plugins/observability/e2e @elastic/uptime # Client Side Monitoring / Uptime (lives in APM directories but owned by Uptime) /x-pack/plugins/apm/public/application/uxApp.tsx @elastic/uptime @@ -876,14 +881,15 @@ packages/kbn-yarn-lock-validator @elastic/kibana-operations /.buildkite/ @elastic/kibana-operations /kbn_pm/ @elastic/kibana-operations -# Quality Assurance +# Appex QA /src/dev/code_coverage @elastic/appex-qa -/vars/*Coverage.groovy @elastic/appex-qa /test/functional/services/common @elastic/appex-qa /test/functional/services/lib @elastic/appex-qa /test/functional/services/remote @elastic/appex-qa /test/visual_regression @elastic/appex-qa /x-pack/test/visual_regression @elastic/appex-qa +/x-pack/performance @elastic/appex-qa +/packages/kbn-test/src/functional_test_runner @elastic/appex-qa # Core /config/kibana.yml @elastic/kibana-core @@ -1200,8 +1206,6 @@ x-pack/test/threat_intelligence_cypress @elastic/protections-experience # Changes to translation files should not ping code reviewers x-pack/plugins/translations/translations -x-pack/performance @elastic/appex-qa - #### ## These rules are always last so they take ultimate priority over everything else #### diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index d7024294a9f2e..d078e0ada29b1 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: 2023-03-02 +date: 2023-03-06 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 9cd1578b94fd8..8eef0ea02d8d2 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 90e10a1574cbb..a008f12920d5d 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: 2023-03-02 +date: 2023-03-06 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 105f01841d43c..02812b7ec0cb8 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: 2023-03-02 +date: 2023-03-06 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 176505db76893..c2ee16a6018d0 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 4ae0e43fab501..facbdf4d471f8 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: 2023-03-02 +date: 2023-03-06 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 349c11aa7f818..e2aa581d21808 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: 2023-03-02 +date: 2023-03-06 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 14f5425378cb5..08c47490cf2c1 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.devdocs.json b/api_docs/cases.devdocs.json index 22ad30c92f35e..4072d9d282f59 100644 --- a/api_docs/cases.devdocs.json +++ b/api_docs/cases.devdocs.json @@ -1321,6 +1321,39 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "cases", + "id": "def-common.getApiTags", + "type": "Function", + "tags": [], + "label": "getApiTags", + "description": [], + "signature": [ + "(owner: \"cases\" | \"observability\" | \"securitySolution\") => { all: readonly [\"casesSuggestUserProfiles\", \"bulkGetUserProfiles\", string, string]; read: readonly [\"casesSuggestUserProfiles\", \"bulkGetUserProfiles\", string]; delete: readonly [string]; }" + ], + "path": "x-pack/plugins/cases/common/utils/api_tags.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "cases", + "id": "def-common.getApiTags.$1", + "type": "CompoundType", + "tags": [], + "label": "owner", + "description": [], + "signature": [ + "\"cases\" | \"observability\" | \"securitySolution\"" + ], + "path": "x-pack/plugins/cases/common/utils/api_tags.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "cases", "id": "def-common.getCasesFromAlertsUrl", @@ -1614,7 +1647,7 @@ "signature": [ "\"cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/application.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1863,7 +1896,7 @@ "signature": [ "\"/api/cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2168,7 +2201,7 @@ "signature": [ "\"create_cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2183,7 +2216,7 @@ "signature": [ "\"delete_cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2198,7 +2231,7 @@ "signature": [ "\"cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/owners.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2213,7 +2246,7 @@ "signature": [ "\"/internal/cases/_bulk_get\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2228,7 +2261,7 @@ "signature": [ "\"observability\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/owners.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2243,7 +2276,7 @@ "signature": [ "\"push_cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2258,7 +2291,7 @@ "signature": [ "\"read_cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2275,7 +2308,7 @@ "signature": [ "\"securitySolution\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/owners.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2305,7 +2338,7 @@ "signature": [ "\"update_cases\"" ], - "path": "x-pack/plugins/cases/common/constants.ts", + "path": "x-pack/plugins/cases/common/constants/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 589bde7d8583c..6f2e2ae031ba1 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 92 | 0 | 75 | 28 | +| 94 | 0 | 77 | 28 | ## Client diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 6f96f0c9560c1..7dc97d1b16161 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: 2023-03-02 +date: 2023-03-06 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 d8983278042a2..d5c07ef8e047c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index a4343827f5b7e..9d2655555c7fd 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index cb9fb0099f829..511acdb35de73 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: 2023-03-02 +date: 2023-03-06 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 a1d62d83decbc..2951195e7b749 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: 2023-03-02 +date: 2023-03-06 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 f2d8d364706e8..cc5e173d42619 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: 2023-03-02 +date: 2023-03-06 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 1c9cfd48c4b54..0ca5a20160fb1 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: 2023-03-02 +date: 2023-03-06 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 077424419ae67..873971f7b64bc 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: 2023-03-02 +date: 2023-03-06 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 a1249c4b5ba37..0648318bbcd1e 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: 2023-03-02 +date: 2023-03-06 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 ae450f37bed7c..36fc563282523 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: 2023-03-02 +date: 2023-03-06 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 cc8dd895b8951..e43699f8f9566 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: 2023-03-02 +date: 2023-03-06 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 78208b4775831..412d135ac2c2e 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: 2023-03-02 +date: 2023-03-06 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 dee012217c67b..91602ca64a070 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index ea8e61e7d1903..b52ecd105d63b 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13547,7 +13547,7 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx" + "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx" }, { "plugin": "securitySolution", @@ -21170,7 +21170,7 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx" + "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx" }, { "plugin": "securitySolution", diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 6545ee735da87..98bbfb15d49b5 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: 2023-03-02 +date: 2023-03-06 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 641d4d68f2dac..bd1acee82bb06 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: 2023-03-02 +date: 2023-03-06 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 f53eff91b211e..49f7cf2f57480 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: 2023-03-02 +date: 2023-03-06 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 afb18de3eb68c..eb599911e5658 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: 2023-03-02 +date: 2023-03-06 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 895ca68247a5b..203632e46813d 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: 2023-03-02 +date: 2023-03-06 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 521c678ffc05d..e3bc106e7209c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 45193f697c63e..01cf2f074585a 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -85,7 +85,7 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx" + "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx" }, { "plugin": "securitySolution", @@ -8293,7 +8293,7 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx" + "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx" }, { "plugin": "securitySolution", @@ -15596,7 +15596,7 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx" + "path": "x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx" }, { "plugin": "securitySolution", @@ -18907,6 +18907,71 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewMissingIndices", + "type": "Class", + "tags": [], + "label": "DataViewMissingIndices", + "description": [ + "\nTried to call a method that relies on SearchSource having an indexPattern assigned" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewMissingIndices", + "text": "DataViewMissingIndices" + }, + " extends ", + { + "pluginId": "kibanaUtils", + "scope": "common", + "docId": "kibKibanaUtilsPluginApi", + "section": "def-common.KbnError", + "text": "KbnError" + } + ], + "path": "src/plugins/data_views/common/lib/errors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewMissingIndices.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/data_views/common/lib/errors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewMissingIndices.Unnamed.$1", + "type": "string", + "tags": [], + "label": "message", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/lib/errors.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "dataViews", "id": "def-common.DataViewSavedObjectConflictError", diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 53cee388cd196..3a4a63cada7f3 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1028 | 0 | 243 | 2 | +| 1031 | 0 | 245 | 2 | ## Client diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index e4fa7ec8e0cbb..99b1c38a585d8 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 9639366079728..ad9088adc2206 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 883246adfda69..e6ccda3184032 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -1099,12 +1099,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject), [use_security_dashboards_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/use_security_dashboards_table.tsx#:~:text=SavedObject), [use_security_dashboards_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/use_security_dashboards_table.tsx#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject) | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | | [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject), [use_security_dashboards_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/use_security_dashboards_table.tsx#:~:text=SavedObject), [use_security_dashboards_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/use_security_dashboards_table.tsx#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/dashboards/utils.ts#:~:text=SavedObject)+ 14 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [grouped_alerts.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 20 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 20 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [grouped_alerts.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 20 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [grouped_alerts.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/grouped_alerts.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 5 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 20 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/alerts_actions/utils.test.ts#:~:text=title)+ 5 more | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | | [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24) | 8.8.0 | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 738aca7a7e31b..8a3f8b9c5250b 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 304ae62c0106f..51a0b0e7b2681 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: 2023-03-02 +date: 2023-03-06 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 17563076bad59..69b3848cd551c 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: 2023-03-02 +date: 2023-03-06 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 52ccdeefff620..3ef5e22e8d1cf 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: 2023-03-02 +date: 2023-03-06 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 f65e8737f6bbb..03c76d36654d8 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index c80efe99fc85f..6b89ee681ee75 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: 2023-03-02 +date: 2023-03-06 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 6117c6df39dad..3f8f3dd13fff9 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: 2023-03-02 +date: 2023-03-06 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 dc277f689ef82..3cf6d15fc2968 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: 2023-03-02 +date: 2023-03-06 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 3e1821034dbd5..f48a6359eae1c 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: 2023-03-02 +date: 2023-03-06 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 9d5c5c84ea989..1475dd81c37ed 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: 2023-03-02 +date: 2023-03-06 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 c2f5cac318ca3..3fef843b908ab 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index e7718f18bc7f0..7127b9a84fcde 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index b630e478cc044..1216865d66f73 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: 2023-03-02 +date: 2023-03-06 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 b4db7b0f3b828..6647a2c2798ae 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: 2023-03-02 +date: 2023-03-06 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 3dbc815880c4a..7f44bdc39770d 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: 2023-03-02 +date: 2023-03-06 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 4c3a8b11829b2..cc74f47f31384 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: 2023-03-02 +date: 2023-03-06 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 a1a701f6ab08d..ab40a9a9f15e9 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: 2023-03-02 +date: 2023-03-06 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 01b55fbf63707..0aed778e6d534 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: 2023-03-02 +date: 2023-03-06 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 22ec9b39787cc..bc1b1e470e7ba 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: 2023-03-02 +date: 2023-03-06 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 d74ba9f0b1ee1..042f8572b4f00 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: 2023-03-02 +date: 2023-03-06 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 35e21e3a17c3f..f13afe97063c3 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: 2023-03-02 +date: 2023-03-06 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 fe87192fe6aaa..7194896ca3124 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: 2023-03-02 +date: 2023-03-06 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 994784ddab036..c25a9e75c63d4 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: 2023-03-02 +date: 2023-03-06 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 1eb3789a95d8a..b8e6aa731d285 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: 2023-03-02 +date: 2023-03-06 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 3618e9de943fa..059265b23f6a9 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: 2023-03-02 +date: 2023-03-06 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 67b1f2939627f..6d845b0a47135 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: 2023-03-02 +date: 2023-03-06 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 9d22d7403800b..31010b2e2b361 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: 2023-03-02 +date: 2023-03-06 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 aefcd3d2b0047..e4b3d263b0f57 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: 2023-03-02 +date: 2023-03-06 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 3e398317686ca..b79f463fc733e 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.devdocs.json b/api_docs/files.devdocs.json index 3c2201044be35..3823480b372f4 100644 --- a/api_docs/files.devdocs.json +++ b/api_docs/files.devdocs.json @@ -4573,7 +4573,12 @@ "path": "src/plugins/files/server/types.ts", "deprecated": false, "trackAdoption": true, - "references": [], + "references": [ + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/files/index.ts" + } + ], "children": [ { "parentPluginId": "files", diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 9cf192f9c4f3e..2690af2475690 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: 2023-03-02 +date: 2023-03-06 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 b1896f8199ca0..c96bea73195eb 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: 2023-03-02 +date: 2023-03-06 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 f72c1c07dae47..d22e28e12edb8 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: 2023-03-02 +date: 2023-03-06 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 1361b0c3bbb54..459e26866908a 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: 2023-03-02 +date: 2023-03-06 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 831408669b1c3..b9c32d72f263f 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: 2023-03-02 +date: 2023-03-06 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 a2001e302b069..9319bf5a3672c 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: 2023-03-02 +date: 2023-03-06 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 a1c917a1d7197..66ec11f72781d 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: 2023-03-02 +date: 2023-03-06 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 c56a887ea0c31..9864afe23f432 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: 2023-03-02 +date: 2023-03-06 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 1a2441d2f57f3..0237161dca786 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: 2023-03-02 +date: 2023-03-06 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 224351c42f871..89d1add71d67a 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 9aecbf08da449..71eda0a212f5e 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: 2023-03-02 +date: 2023-03-06 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 e3d72fbaa1968..d0c0ce62ade97 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: 2023-03-02 +date: 2023-03-06 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 d23833d267aac..aa1ac5e63493a 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index c2ecac6ab7a68..22efd8c4f5c8e 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: 2023-03-02 +date: 2023-03-06 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 bacae41837451..995dac14a07f3 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx index 263bad7a01dc3..b3b0ad5237fb0 100644 --- a/api_docs/kbn_alerts.mdx +++ b/api_docs/kbn_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts title: "@kbn/alerts" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts'] --- import kbnAlertsObj from './kbn_alerts.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 9c9ffcd49f74a..0972007fbda5a 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: 2023-03-02 +date: 2023-03-06 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 be08717fd1fbc..bd2ddf7e67a28 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: 2023-03-02 +date: 2023-03-06 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 3efbb27ae6b4c..d46e240b638e4 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: 2023-03-02 +date: 2023-03-06 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 0f590ec71b575..cece875d46921 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.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 7fa02c977ef0f..c0483c109949b 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: 2023-03-02 +date: 2023-03-06 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 5d1ce84c337fc..a38732f2d5503 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: 2023-03-02 +date: 2023-03-06 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 b5352daa851ae..f7939b3ad96b2 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: 2023-03-02 +date: 2023-03-06 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 7f059748811ad..7bb19ca82257a 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: 2023-03-02 +date: 2023-03-06 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 643778c571a3f..ea24a6c7f85dc 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: 2023-03-02 +date: 2023-03-06 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 c273ed05035f1..1941d1d5e65ee 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: 2023-03-02 +date: 2023-03-06 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 f48057fdc63e4..2bdeb5a48904e 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: 2023-03-02 +date: 2023-03-06 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.devdocs.json b/api_docs/kbn_apm_synthtrace_client.devdocs.json index ff0b1e2cf64e5..5d07732e93a5a 100644 --- a/api_docs/kbn_apm_synthtrace_client.devdocs.json +++ b/api_docs/kbn_apm_synthtrace_client.devdocs.json @@ -1884,6 +1884,43 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.serviceMap", + "type": "Function", + "tags": [], + "label": "serviceMap", + "description": [], + "signature": [ + "(options: ", + "ServiceMapOpts", + ") => (timestamp: number) => ", + "Transaction", + "[]" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/service_map.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/apm-synthtrace-client", + "id": "def-common.serviceMap.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "ServiceMapOpts" + ], + "path": "packages/kbn-apm-synthtrace-client/src/lib/dsl/service_map.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/apm-synthtrace-client", "id": "def-common.timerange", diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 998222ae3142e..95e3de9e98abf 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 152 | 0 | 152 | 16 | +| 154 | 0 | 154 | 17 | ## Common diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index df98534f70e2c..26dbfded32879 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: 2023-03-02 +date: 2023-03-06 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 8e21de87a558e..5baa5aae15e6c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 642195695ef32..3aced28a3de67 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: 2023-03-02 +date: 2023-03-06 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 cae863b3ad48f..1687897279426 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: 2023-03-02 +date: 2023-03-06 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 047e2235c2d02..98d67d040292f 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: 2023-03-02 +date: 2023-03-06 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 04d450ae11d4e..5ae1128d45747 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: 2023-03-02 +date: 2023-03-06 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 551f02d9542cc..16b2f6cd9b702 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: 2023-03-02 +date: 2023-03-06 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 681ff13ffec2e..ab868751b4a1d 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: 2023-03-02 +date: 2023-03-06 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 5ba8714268011..21d8034a05a91 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: 2023-03-02 +date: 2023-03-06 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 a501527e84f43..aa71819d12133 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_code_editor.mdx index 306bf1bf3cc04..077590dc442fe 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 3eb75ac47f2de..05ae8ea81ddb9 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 1a7154a89ba74..1726f6ac5cdcc 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: 2023-03-02 +date: 2023-03-06 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 548b1c790d867..919d984101038 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: 2023-03-02 +date: 2023-03-06 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 3cd190aefa52b..beb374656c632 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: 2023-03-02 +date: 2023-03-06 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 cf2176a083699..ae82daf236ac0 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: 2023-03-02 +date: 2023-03-06 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 ae248ef63ef85..3b84091e0f61c 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: 2023-03-02 +date: 2023-03-06 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_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index 53aab7b923e5b..f153e0aec791b 100644 --- a/api_docs/kbn_content_management_table_list.mdx +++ b/api_docs/kbn_content_management_table_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list title: "@kbn/content-management-table-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 959fa6d5e4fcb..33a5b397cc591 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: 2023-03-02 +date: 2023-03-06 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 39cc8d5e65dd7..f1bcfdb80668a 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: 2023-03-02 +date: 2023-03-06 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 693479a213c6b..556026280358a 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: 2023-03-02 +date: 2023-03-06 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 ba1667310138f..0a2a502e2e4cc 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: 2023-03-02 +date: 2023-03-06 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 ea4a5288ef4d7..42a385a8d40ff 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: 2023-03-02 +date: 2023-03-06 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 62494fbd712d9..46b0ab6305011 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: 2023-03-02 +date: 2023-03-06 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 ed5a63bd6b481..598e088bc649c 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: 2023-03-02 +date: 2023-03-06 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 0ae948a0f1967..cee5c03a76226 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: 2023-03-02 +date: 2023-03-06 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 f388bdba22b0d..99baee68bc8b2 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: 2023-03-02 +date: 2023-03-06 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 27b3210a296b2..12e14df40c9d8 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: 2023-03-02 +date: 2023-03-06 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 00d7805a17f85..797e31cf3fd88 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: 2023-03-02 +date: 2023-03-06 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 c60a9cea687b8..e4ad698a48297 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: 2023-03-02 +date: 2023-03-06 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 a8b27d9611a63..262891b3b7fa1 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: 2023-03-02 +date: 2023-03-06 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 4fc1e24faf504..010246c8cf3c4 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: 2023-03-02 +date: 2023-03-06 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 7fa62be774cc5..7a87ed0b8425f 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: 2023-03-02 +date: 2023-03-06 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 daec7cc05a345..f0005e3511c57 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: 2023-03-02 +date: 2023-03-06 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 8c8951b3d7c37..55fe0f74c3a91 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: 2023-03-02 +date: 2023-03-06 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 62ad4d1aa9dc3..4ff6ed9a5beca 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: 2023-03-02 +date: 2023-03-06 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 638f292fdb98c..f200b380ec4f2 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: 2023-03-02 +date: 2023-03-06 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 38b47cd1d1fae..b613a39093a43 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: 2023-03-02 +date: 2023-03-06 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 eadd485abc837..497e7a91f40d8 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: 2023-03-02 +date: 2023-03-06 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 f0a27f2cfa02e..d108b9e3e53b2 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: 2023-03-02 +date: 2023-03-06 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 6a3fc90b2c703..4469a752922b2 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: 2023-03-02 +date: 2023-03-06 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 11d112819ab49..a4f69b3f2009b 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: 2023-03-02 +date: 2023-03-06 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 aa063965b3ee7..0711c40369865 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: 2023-03-02 +date: 2023-03-06 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 86828fa0fdd9f..6b094acec8485 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: 2023-03-02 +date: 2023-03-06 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 04eb2582e72a4..0999842368433 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: 2023-03-02 +date: 2023-03-06 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 353bff8c49d62..b9c95c6d93309 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: 2023-03-02 +date: 2023-03-06 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 6aa7969a43b51..7671ec0b2f91b 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: 2023-03-02 +date: 2023-03-06 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 7bd406d920bc6..58c5527bc226e 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: 2023-03-02 +date: 2023-03-06 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 722fa3fa285d8..b248992190c56 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: 2023-03-02 +date: 2023-03-06 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 665a262270ea7..782986bda82dc 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: 2023-03-02 +date: 2023-03-06 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 d9f84f98feb3d..e566546a00d07 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: 2023-03-02 +date: 2023-03-06 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 65a8d9b69582b..9176fa8c4963e 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: 2023-03-02 +date: 2023-03-06 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 462a0bf5285f3..34e57ab839fa0 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: 2023-03-02 +date: 2023-03-06 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 5db940d54a40d..f5ae0158b8ebd 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: 2023-03-02 +date: 2023-03-06 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 7e9c1a6c6ae2e..1dd883d925a8a 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: 2023-03-02 +date: 2023-03-06 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 261fdab10d421..66507284f2eb1 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: 2023-03-02 +date: 2023-03-06 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 d6a569a5f4c4b..2d42d19c3274b 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: 2023-03-02 +date: 2023-03-06 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 4142f67ae6fd8..0b576e3cd3dc3 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: 2023-03-02 +date: 2023-03-06 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 3f5406f8fc672..bf58ebc476bc3 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: 2023-03-02 +date: 2023-03-06 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 649286af18285..7c8d3c03741e3 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: 2023-03-02 +date: 2023-03-06 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 9266b9941613a..b7ccd23c1cd94 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: 2023-03-02 +date: 2023-03-06 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 2bc3ed1923ee2..b09ea514c2c58 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: 2023-03-02 +date: 2023-03-06 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 a12129bf7ab2f..3e5519d9c2a1b 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: 2023-03-02 +date: 2023-03-06 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 cb44e1f6f2a5f..ebb2fc040e312 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: 2023-03-02 +date: 2023-03-06 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 3b12b50d38668..625f28c770ad7 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: 2023-03-02 +date: 2023-03-06 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 c5f3a640b13dc..e23343e98911f 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: 2023-03-02 +date: 2023-03-06 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 4fa17b4ed208e..b4327f8ed1728 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: 2023-03-02 +date: 2023-03-06 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 2f4f45857690a..11e0d9e26398e 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: 2023-03-02 +date: 2023-03-06 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 80dc6b3f42667..1a3a7017db225 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: 2023-03-02 +date: 2023-03-06 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 1ecefa27b6cd3..52b99f5216813 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: 2023-03-02 +date: 2023-03-06 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 202214f6b557d..ebcca811a5c63 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: 2023-03-02 +date: 2023-03-06 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 4afc04a60783b..833e401875948 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: 2023-03-02 +date: 2023-03-06 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 b2ddbf0a9010f..9e5bae11eae0d 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: 2023-03-02 +date: 2023-03-06 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 474ea66f88224..9e4b547f19bf7 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: 2023-03-02 +date: 2023-03-06 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 9b5f7fc44fde5..aa87ff61c99c1 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: 2023-03-02 +date: 2023-03-06 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 442597a23b31c..2d5a5e1d37a45 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: 2023-03-02 +date: 2023-03-06 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 e3e51a50d3922..9c07847165f7f 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: 2023-03-02 +date: 2023-03-06 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 f94d4846c71f8..d89328288ea32 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: 2023-03-02 +date: 2023-03-06 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 ae3c02e387d5d..e3b5dadb5673c 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: 2023-03-02 +date: 2023-03-06 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 fdbcf724f249f..891e945990acc 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: 2023-03-02 +date: 2023-03-06 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 099083e2d0951..95e054443e7d6 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: 2023-03-02 +date: 2023-03-06 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 5f3f3669b8801..8cfc6d3fe04df 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: 2023-03-02 +date: 2023-03-06 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 f279de0f63180..25cb89b99f8be 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: 2023-03-02 +date: 2023-03-06 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 d3afd758189df..68cf6871c1e00 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: 2023-03-02 +date: 2023-03-06 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 2e64643ebfbbe..f4010eff7a3fa 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: 2023-03-02 +date: 2023-03-06 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 e7a36fd46d9b7..90ff2aa0f9a3b 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: 2023-03-02 +date: 2023-03-06 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 f638b954afa2c..c543a8e684193 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: 2023-03-02 +date: 2023-03-06 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.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 24328cd2e9a6b..93fafbae8bd76 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -5006,6 +5006,20 @@ "path": "packages/core/http/core-http-server/src/router/request.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaRouteOptions.access", + "type": "CompoundType", + "tags": [], + "label": "access", + "description": [], + "signature": [ + "\"internal\" | \"public\"" + ], + "path": "packages/core/http/core-http-server/src/router/request.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -6075,6 +6089,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.RouteConfigOptions.access", + "type": "CompoundType", + "tags": [], + "label": "access", + "description": [ + "\nDefines intended request origin of the route:\n- public. The route is public, declared stable and intended for external access.\n In the future, may require an incomming request to contain a specified header.\n- internal. The route is internal and intended for internal access only.\n\nIf not declared, infers access from route path:\n- access =`internal` for '/internal' route path prefix\n- access = `public` for everything else" + ], + "signature": [ + "\"internal\" | \"public\" | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/route.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-http-server", "id": "def-common.RouteConfigOptions.tags", diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 4978c2bcf1edc..17d30277b9318 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 411 | 1 | 160 | 0 | +| 413 | 1 | 161 | 0 | ## Common diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index af4705eebf0af..899dea4e6b82e 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: 2023-03-02 +date: 2023-03-06 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 b586c524253a4..48ae8b2d28b78 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: 2023-03-02 +date: 2023-03-06 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 eeb40f40210db..8033745762fee 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: 2023-03-02 +date: 2023-03-06 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 6fb7956371da3..dcc2e2a036074 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: 2023-03-02 +date: 2023-03-06 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 f68a4931bbade..72a43c8231e40 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: 2023-03-02 +date: 2023-03-06 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 0e32141f1eada..1f2438f638db8 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: 2023-03-02 +date: 2023-03-06 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 165f46f6141ee..f483b12944680 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: 2023-03-02 +date: 2023-03-06 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 ca24813984b7b..cf8e609c7ce76 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: 2023-03-02 +date: 2023-03-06 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 9df4ebd75e861..b341ddff154ce 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: 2023-03-02 +date: 2023-03-06 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 828d24502d372..dfce976e47870 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: 2023-03-02 +date: 2023-03-06 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 e68f69e5b2541..9220ee41ae983 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: 2023-03-02 +date: 2023-03-06 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 47d4140fa4fa3..0e5b49fd726f2 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: 2023-03-02 +date: 2023-03-06 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 eb11dad2ad958..c1493d4e0c325 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: 2023-03-02 +date: 2023-03-06 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 b84dcef82884e..27d75a2ab2ef0 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: 2023-03-02 +date: 2023-03-06 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 39c7734369d0a..0c775c0c9651c 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: 2023-03-02 +date: 2023-03-06 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 e1c35d2d1849f..d328633ecba6c 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: 2023-03-02 +date: 2023-03-06 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 854f2e1c444f1..a438d09f6746a 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: 2023-03-02 +date: 2023-03-06 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 be6cd0ddc3609..af1f19777cd62 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: 2023-03-02 +date: 2023-03-06 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 1371904a744ae..257fde0d8a385 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: 2023-03-02 +date: 2023-03-06 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 44835e9fa7d13..ed5387f954ea9 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: 2023-03-02 +date: 2023-03-06 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 3d18047440579..f4eeb913a51b6 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: 2023-03-02 +date: 2023-03-06 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 0366bf0bddf29..fba97ed8a5c08 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: 2023-03-02 +date: 2023-03-06 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 5653d21b167ea..c56346028ea92 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: 2023-03-02 +date: 2023-03-06 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 8641f8766334b..a12d76258a746 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: 2023-03-02 +date: 2023-03-06 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 0bf561242359e..0e9eb40997e07 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: 2023-03-02 +date: 2023-03-06 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 93c4da6e7f8fb..bebcb81b47508 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: 2023-03-02 +date: 2023-03-06 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 6e09f365f5ecf..8b7a03fd9aea9 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: 2023-03-02 +date: 2023-03-06 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 a40eb40c54868..b877808b83451 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: 2023-03-02 +date: 2023-03-06 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 d113868c4b205..7492646d6340a 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: 2023-03-02 +date: 2023-03-06 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 701025f3a867f..63581dad4bdfa 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: 2023-03-02 +date: 2023-03-06 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 46fb2d4432b9f..7dff7c85cc7fb 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: 2023-03-02 +date: 2023-03-06 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 ade4741ff96e4..7a8fceabacea3 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: 2023-03-02 +date: 2023-03-06 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 531d085b34330..651c08511a346 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: 2023-03-02 +date: 2023-03-06 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 a6fefddb61000..0e8d106b63026 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: 2023-03-02 +date: 2023-03-06 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 1b1a4764cfca8..5d0cc0343d046 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: 2023-03-02 +date: 2023-03-06 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 d21b513671928..b8fb539c2af0d 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: 2023-03-02 +date: 2023-03-06 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_server.mdx b/api_docs/kbn_core_plugins_server.mdx index bbe16935a49c7..533e1c57a485e 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: 2023-03-02 +date: 2023-03-06 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 13974d291b540..f7a53e384f8bb 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: 2023-03-02 +date: 2023-03-06 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 6e1190eaa10d1..93b3576d51e74 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: 2023-03-02 +date: 2023-03-06 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 c993507dfdb73..db6d5ca0a6157 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: 2023-03-02 +date: 2023-03-06 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 8b8f56bc6d341..0f8ee4b5ff22d 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: 2023-03-02 +date: 2023-03-06 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 92892c2f4d607..edf82baefb01d 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: 2023-03-02 +date: 2023-03-06 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 b4d2dacecaf42..5aaf30fec42e8 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: 2023-03-02 +date: 2023-03-06 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 11d778cf27954..7cd113e16d438 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: 2023-03-02 +date: 2023-03-06 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 9ab3d991bda82..86918610ecb1d 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: 2023-03-02 +date: 2023-03-06 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 42c6a15446502..bd3bac995c958 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: 2023-03-02 +date: 2023-03-06 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_internal.mdx b/api_docs/kbn_core_saved_objects_api_server_internal.mdx index 2aeeb00ad057c..f2add4aa1b41b 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-internal title: "@kbn/core-saved-objects-api-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-internal plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-internal'] --- import kbnCoreSavedObjectsApiServerInternalObj from './kbn_core_saved_objects_api_server_internal.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 8adfa0bfd41b4..e2178f986cf11 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: 2023-03-02 +date: 2023-03-06 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 750f6db42d9fc..9560336be428e 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: 2023-03-02 +date: 2023-03-06 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 0e82b824c6b63..e8d938fcdf926 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: 2023-03-02 +date: 2023-03-06 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 ec4157e9a46e1..a8ba8a2b4c588 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: 2023-03-02 +date: 2023-03-06 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 f57b3dae843dd..9d5905f0b037d 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: 2023-03-02 +date: 2023-03-06 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 0b4311260a777..b4cdf4284433d 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: 2023-03-02 +date: 2023-03-06 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 a7da75722e944..60d82b60201db 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: 2023-03-02 +date: 2023-03-06 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 7b218a2ad32f0..14c46866c41fa 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: 2023-03-02 +date: 2023-03-06 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 6c75150030f56..555256b537429 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: 2023-03-02 +date: 2023-03-06 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 898a1e2d4ea8b..3602f2b60e054 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: 2023-03-02 +date: 2023-03-06 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 b9ef91939e896..f40ba3187e9d4 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: 2023-03-02 +date: 2023-03-06 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 d203957246f69..1ac28a274b704 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: 2023-03-02 +date: 2023-03-06 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 4ab8eecaa1622..3f77bccfa3063 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: 2023-03-02 +date: 2023-03-06 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 31fb2ac1d9941..dfc971cf5823a 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: 2023-03-02 +date: 2023-03-06 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 c1c957a5344ba..2e564b22778d1 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: 2023-03-02 +date: 2023-03-06 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 7653cf7c2050a..50d6615f60b93 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: 2023-03-02 +date: 2023-03-06 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 17c1f3117f330..74b2987c82c76 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: 2023-03-02 +date: 2023-03-06 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 bd694773a5f16..9ac2c45f88404 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: 2023-03-02 +date: 2023-03-06 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 d5f3d4039a718..37baef2241373 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: 2023-03-02 +date: 2023-03-06 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 504c5c613feae..ca35c9bf21250 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: 2023-03-02 +date: 2023-03-06 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 33443ded64359..e17e4551f1548 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: 2023-03-02 +date: 2023-03-06 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 4f31e6de42168..a7ed79faf22b7 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: 2023-03-02 +date: 2023-03-06 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 65d472a647d69..db4caa5d0387d 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: 2023-03-02 +date: 2023-03-06 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_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index fc0e425c6fd46..f147e2451fad0 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: 2023-03-02 +date: 2023-03-06 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 0d5e270a9df43..ab770cdccd31c 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: 2023-03-02 +date: 2023-03-06 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 7353d7a47d85e..0ec1e2b51a268 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: 2023-03-02 +date: 2023-03-06 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_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index f4df154e80c44..c38100781b4fe 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 5edaedd815f0e..32785a4616e61 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: 2023-03-02 +date: 2023-03-06 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 65093899ea9b9..99217d5fe15eb 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: 2023-03-02 +date: 2023-03-06 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 4a1f5feb62f3f..805a62a464ee3 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: 2023-03-02 +date: 2023-03-06 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 135b54ce7e869..56b45eb7daa54 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_core_ui_settings_common.mdx index 213dbf4d62c16..cf254112e56c0 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: 2023-03-02 +date: 2023-03-06 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 0d5ad1eed566d..9d832a41c244f 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: 2023-03-02 +date: 2023-03-06 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 2e81fbb70e4ae..a6e20840c6073 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: 2023-03-02 +date: 2023-03-06 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 b188b63b47ec9..1330dc3e02137 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: 2023-03-02 +date: 2023-03-06 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 ed6e1939b36f7..8dc4b80826870 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: 2023-03-02 +date: 2023-03-06 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 da52ba5ced2bd..6b59888fe811a 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: 2023-03-02 +date: 2023-03-06 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 878698459b87b..585389e439927 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: 2023-03-02 +date: 2023-03-06 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_crypto.mdx b/api_docs/kbn_crypto.mdx index fa020d9f7e28a..1edd3ca0b1a1a 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: 2023-03-02 +date: 2023-03-06 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 9d7d13934ab24..3b9482ad81832 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 1f710dbf67056..d6d991138bab6 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 75eabd2444aaf..afe662a3a1549 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index cc58fa1feb24c..cb9488430d958 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: 2023-03-02 +date: 2023-03-06 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 a64f39e0387e7..5e7bf384d2418 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: 2023-03-02 +date: 2023-03-06 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 3247d3e925491..732c1df04f168 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: 2023-03-02 +date: 2023-03-06 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 a470e64f11a32..a72dfdc79bf5b 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 0a96000e4bb7d..64a4cdd62da99 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: 2023-03-02 +date: 2023-03-06 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 9983ad5184956..5f2a542588593 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 3086015b75ea1..fd6eb8fa30e8d 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: 2023-03-02 +date: 2023-03-06 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 e682604f096df..0981db15c283b 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: 2023-03-02 +date: 2023-03-06 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 4182480b6429b..6f2dde46f12f8 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: 2023-03-02 +date: 2023-03-06 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_es.mdx b/api_docs/kbn_es.mdx index 130281480b778..b792720b934e1 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: 2023-03-02 +date: 2023-03-06 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 6432d72fe9933..5e3f5ea1ebbf6 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: 2023-03-02 +date: 2023-03-06 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 da4b187dd9845..9f3395e6b6125 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: 2023-03-02 +date: 2023-03-06 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 2c7721a298282..d71777b660a23 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: 2023-03-02 +date: 2023-03-06 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 5a68fd11c6e47..19591ca8013ce 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: 2023-03-02 +date: 2023-03-06 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 e08fd251f331f..eae070a89754a 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index ab9a929a7a38f..0491e5f5cf18d 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: 2023-03-02 +date: 2023-03-06 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 ef0856fc946b1..d3f5b0ce21f8d 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 449cae1f26ea8..2d5b0f7d39e03 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: 2023-03-02 +date: 2023-03-06 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 91d09b17dd4ec..adbf2a7af0429 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: 2023-03-02 +date: 2023-03-06 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_generate.mdx b/api_docs/kbn_generate.mdx index 65adba923f05f..6592a5a667c13 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 880e6de629200..e1d0692ef6270 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: 2023-03-02 +date: 2023-03-06 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 5878786295778..29c6bb93fe202 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: 2023-03-02 +date: 2023-03-06 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 9425661e63606..de3573c4c2330 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: 2023-03-02 +date: 2023-03-06 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 888f6ded8526c..80a1334fb086f 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: 2023-03-02 +date: 2023-03-06 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 c22f3d87fbbed..f4bb7c2258c70 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: 2023-03-02 +date: 2023-03-06 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 a7c40f3fe82b6..b46c9aa07026b 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: 2023-03-02 +date: 2023-03-06 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 86ea86435e56b..8ef0fbe48fcf2 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: 2023-03-02 +date: 2023-03-06 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 117c6131cde4a..2db7914d855d9 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: 2023-03-02 +date: 2023-03-06 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 1319962df3f2b..43e666be6fc11 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 23a48bca32834..82a38bceb46e1 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: 2023-03-02 +date: 2023-03-06 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 413243d232272..84401dd00eb33 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: 2023-03-02 +date: 2023-03-06 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 55386dee3d910..047599dafbb79 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: 2023-03-02 +date: 2023-03-06 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 ca19c050cf54f..9325f6d350bab 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: 2023-03-02 +date: 2023-03-06 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 9172eb25ebd57..fbfd3d6c3568a 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: 2023-03-02 +date: 2023-03-06 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 31cf48b2c964a..a8120973cd5f6 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: 2023-03-02 +date: 2023-03-06 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 f0205840574a5..bacb31e635cfd 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index d019150acefd2..89bada4458380 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: 2023-03-02 +date: 2023-03-06 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 a4e1e123ef2a3..25caf788fb1c0 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: 2023-03-02 +date: 2023-03-06 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 cf68bcaa4b420..2c13494930a2b 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 50d3deb0458c8..72605d7e93e37 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 3127057ccd8c4..4ee51bce1de26 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: 2023-03-02 +date: 2023-03-06 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_date_picker.devdocs.json b/api_docs/kbn_ml_date_picker.devdocs.json index 881361d0e70db..164c1d688fba4 100644 --- a/api_docs/kbn_ml_date_picker.devdocs.json +++ b/api_docs/kbn_ml_date_picker.devdocs.json @@ -1025,6 +1025,29 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-date-picker", + "id": "def-common.FullTimeRangeSelectorProps.apiPath", + "type": "CompoundType", + "tags": [], + "label": "apiPath", + "description": [ + "\nOptional API path." + ], + "signature": [ + { + "pluginId": "@kbn/ml-date-picker", + "scope": "common", + "docId": "kibKbnMlDatePickerPluginApi", + "section": "def-common.SetFullTimeRangeApiPath", + "text": "SetFullTimeRangeApiPath" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/date_picker/src/components/full_time_range_selector.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -1196,6 +1219,23 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-date-picker", + "id": "def-common.SetFullTimeRangeApiPath", + "type": "Type", + "tags": [], + "label": "SetFullTimeRangeApiPath", + "description": [ + "\nAllowed API paths to be passed to `setFullTimeRange`." + ], + "signature": [ + "\"/internal/file_upload/time_field_range\" | \"/api/ml/fields_service/time_field_range\"" + ], + "path": "x-pack/packages/ml/date_picker/src/services/full_time_range_selector_service.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "objects": [ diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 70aa629bdf80b..0887f2520231b 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 50 | 0 | 4 | 0 | +| 52 | 0 | 4 | 0 | ## Common diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 9ef0f2503787d..d34393f3b933b 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: 2023-03-02 +date: 2023-03-06 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 36b9c12cf8d9d..8880ada0ea734 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: 2023-03-02 +date: 2023-03-06 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_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 8fa8dfb1d8949..d646f7255ffab 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: 2023-03-02 +date: 2023-03-06 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 408295f5ee767..369d2436b8bc6 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: 2023-03-02 +date: 2023-03-06 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_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 81bd4a60e0987..5199bf99beb9a 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: 2023-03-02 +date: 2023-03-06 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_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 9507eea80b252..6a756ccda7764 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: 2023-03-02 +date: 2023-03-06 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_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 7f2f96360ee86..6e03aecad1fdd 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: 2023-03-02 +date: 2023-03-06 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 438c5d5888eb9..645a7afa94e0c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 317ff8207a0c7..8e87c34fcd17b 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: 2023-03-02 +date: 2023-03-06 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 421a949c6eae8..7fdb8ff118423 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: 2023-03-02 +date: 2023-03-06 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 7f3b1642e85d7..6182dae7babb3 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: 2023-03-02 +date: 2023-03-06 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_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index bf6e073992a21..b1e94b730266c 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: 2023-03-02 +date: 2023-03-06 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 0778f126ccf81..5c56c5257f4ed 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: 2023-03-02 +date: 2023-03-06 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 4cab2f5a9cf67..c646baef008b9 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 4f57a93db4a55..821949aec651a 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 8ffc7c7df9420..30dfe830d79cb 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: 2023-03-02 +date: 2023-03-06 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 91d1a67494952..d930490c65b87 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: 2023-03-02 +date: 2023-03-06 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 c28da4d0951a8..30eaec2fec5ae 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: 2023-03-02 +date: 2023-03-06 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 72a1e859e649e..234d0612eeb21 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 31f656256f6e1..6474139f1e2c8 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index a7d43f07fa3d2..f205491dd4b51 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 9b4a4d1967d67..1c7832cb30807 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 4265f52b32192..6c224f1566189 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: 2023-03-02 +date: 2023-03-06 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 bdbe6ca5f7874..282e158840e9e 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: 2023-03-02 +date: 2023-03-06 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 d1aba2986d80b..2fe9361305cc2 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: 2023-03-02 +date: 2023-03-06 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.devdocs.json b/api_docs/kbn_securitysolution_grouping.devdocs.json new file mode 100644 index 0000000000000..0eb4ab29c8175 --- /dev/null +++ b/api_docs/kbn_securitysolution_grouping.devdocs.json @@ -0,0 +1,279 @@ +{ + "id": "@kbn/securitysolution-grouping", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGrouping", + "type": "Function", + "tags": [], + "label": "getGrouping", + "description": [], + "signature": [ + "(props: ", + "GroupingProps", + ") => React.ReactElement<", + "GroupingProps", + ", string | React.JSXElementConstructor>" + ], + "path": "packages/kbn-securitysolution-grouping/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGrouping.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "GroupingProps" + ], + "path": "packages/kbn-securitysolution-grouping/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGroupingQuery", + "type": "Function", + "tags": [], + "label": "getGroupingQuery", + "description": [], + "signature": [ + "({ additionalFilters, additionalAggregationsRoot, additionalStatsAggregationsFields0, additionalStatsAggregationsFields1, from, runtimeMappings, stackByMultipleFields0, stackByMultipleFields0Size, stackByMultipleFields0From, stackByMultipleFields0Sort, stackByMultipleFields1, stackByMultipleFields1Size, stackByMultipleFields1From, stackByMultipleFields1Sort, to, }: ", + "GroupingQueryArgs", + ") => ", + "GroupingQuery" + ], + "path": "packages/kbn-securitysolution-grouping/src/containers/query/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGroupingQuery.$1", + "type": "Object", + "tags": [], + "label": "{\n additionalFilters = [],\n additionalAggregationsRoot,\n additionalStatsAggregationsFields0,\n additionalStatsAggregationsFields1,\n from,\n runtimeMappings,\n stackByMultipleFields0,\n stackByMultipleFields0Size = DEFAULT_STACK_BY_FIELD0_SIZE,\n stackByMultipleFields0From,\n stackByMultipleFields0Sort,\n stackByMultipleFields1,\n stackByMultipleFields1Size = DEFAULT_STACK_BY_FIELD1_SIZE,\n stackByMultipleFields1From,\n stackByMultipleFields1Sort,\n to,\n}", + "description": [], + "signature": [ + "GroupingQueryArgs" + ], + "path": "packages/kbn-securitysolution-grouping/src/containers/query/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGroupSelector", + "type": "Function", + "tags": [], + "label": "getGroupSelector", + "description": [], + "signature": [ + "(props: ", + "GroupSelectorProps", + ") => React.ReactElement<", + "GroupSelectorProps", + ", string | React.JSXElementConstructor>" + ], + "path": "packages/kbn-securitysolution-grouping/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.getGroupSelector.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "GroupSelectorProps" + ], + "path": "packages/kbn-securitysolution-grouping/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.isNoneGroup", + "type": "Function", + "tags": [], + "label": "isNoneGroup", + "description": [], + "signature": [ + "(groupKey: string) => boolean" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.isNoneGroup.$1", + "type": "string", + "tags": [], + "label": "groupKey", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.GroupingAggregation", + "type": "Interface", + "tags": [], + "label": "GroupingAggregation", + "description": [ + "Defines the shape of the aggregation returned by Elasticsearch" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.GroupingAggregation.stackByMultipleFields0", + "type": "Object", + "tags": [], + "label": "stackByMultipleFields0", + "description": [], + "signature": [ + "{ buckets?: ", + { + "pluginId": "@kbn/securitysolution-grouping", + "scope": "common", + "docId": "kibKbnSecuritysolutionGroupingPluginApi", + "section": "def-common.RawBucket", + "text": "RawBucket" + }, + "[] | undefined; } | undefined" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.GroupingAggregation.groupsCount0", + "type": "Object", + "tags": [], + "label": "groupsCount0", + "description": [], + "signature": [ + "{ value?: number | null | undefined; } | undefined" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.GroupingFieldTotalAggregation", + "type": "Type", + "tags": [], + "label": "GroupingFieldTotalAggregation", + "description": [], + "signature": [ + "{ [x: string]: { value?: number | null | undefined; buckets?: { doc_count?: number | null | undefined; }[] | undefined; }; }" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.NamedAggregation", + "type": "Type", + "tags": [], + "label": "NamedAggregation", + "description": [], + "signature": [ + "{ [x: string]: ", + "AggregationsAggregationContainer", + "; }" + ], + "path": "packages/kbn-securitysolution-grouping/src/containers/query/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-grouping", + "id": "def-common.RawBucket", + "type": "Type", + "tags": [], + "label": "RawBucket", + "description": [], + "signature": [ + "GenericBuckets", + " & { alertsCount?: { value?: number | null | undefined; } | undefined; severitiesSubAggregation?: { buckets?: ", + "GenericBuckets", + "[] | undefined; } | undefined; countSeveritySubAggregation?: { value?: number | null | undefined; } | undefined; usersCountAggregation?: { value?: number | null | undefined; } | undefined; hostsCountAggregation?: { value?: number | null | undefined; } | undefined; rulesCountAggregation?: { value?: number | null | undefined; } | undefined; ruleTags?: { doc_count_error_upper_bound?: number | undefined; sum_other_doc_count?: number | undefined; buckets?: ", + "GenericBuckets", + "[] | undefined; } | undefined; stackByMultipleFields1?: { buckets?: ", + "GenericBuckets", + "[] | undefined; doc_count_error_upper_bound?: number | undefined; sum_other_doc_count?: number | undefined; } | undefined; }" + ], + "path": "packages/kbn-securitysolution-grouping/src/components/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx new file mode 100644 index 0000000000000..5b71f6be2364d --- /dev/null +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -0,0 +1,36 @@ +--- +#### +#### 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: kibKbnSecuritysolutionGroupingPluginApi +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: 2023-03-06 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] +--- +import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; + + + +Contact [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 14 | 0 | 13 | 5 | + +## Common + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index cf9e283e2ce9d..e18e8e9384dc3 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: 2023-03-02 +date: 2023-03-06 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 3cea3ef0fe53b..127267136294e 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: 2023-03-02 +date: 2023-03-06 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.devdocs.json b/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json index 858be46e1f188..cbd27335f2f35 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json +++ b/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json @@ -2624,7 +2624,7 @@ "label": "CreateEndpointListItemSchema", "description": [], "signature": [ - "{ description: string; entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"included\"; type: \"wildcard\"; value: string; } | { entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; })[]; field: string; type: \"nested\"; })[]; name: string; type: \"simple\"; } & { comments?: { comment: string; }[] | undefined; item_id?: string | undefined; meta?: object | undefined; os_types?: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags?: string[] | undefined; expire_time?: string | undefined; }" + "{ description: string; entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"included\"; type: \"wildcard\"; value: string; } | { entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; })[]; field: string; type: \"nested\"; })[]; name: string; type: \"simple\"; } & { comments?: { comment: string; }[] | undefined; item_id?: string | undefined; meta?: object | undefined; os_types?: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags?: string[] | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts", "deprecated": false, @@ -2639,7 +2639,7 @@ "label": "CreateEndpointListItemSchemaDecoded", "description": [], "signature": [ - "Omit<{ description: string; entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"included\"; type: \"wildcard\"; value: string; } | { entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; })[]; field: string; type: \"nested\"; })[]; name: string; type: \"simple\"; comments: { comment: string; }[] | undefined; item_id: string | undefined; meta: object | undefined; os_types: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags: string[] | undefined; expire_time: string | undefined; }, \"entries\" | \"tags\" | \"comments\" | \"expire_time\" | \"item_id\" | \"os_types\"> & { comments: { comment: string; }[]; tags: string[]; item_id: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; os_types: (\"windows\" | \"linux\" | \"macos\")[]; expire_time: string | undefined; }" + "Omit<{ description: string; entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"included\"; type: \"wildcard\"; value: string; } | { entries: ({ field: string; operator: \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"included\"; type: \"match_any\"; value: string[]; })[]; field: string; type: \"nested\"; })[]; name: string; type: \"simple\"; comments: { comment: string; }[] | undefined; item_id: string | undefined; meta: object | undefined; os_types: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags: string[] | undefined; }, \"entries\" | \"tags\" | \"comments\" | \"item_id\" | \"os_types\"> & { comments: { comment: string; }[]; tags: string[]; item_id: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; os_types: (\"windows\" | \"linux\" | \"macos\")[]; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts", "deprecated": false, @@ -5114,7 +5114,7 @@ "label": "UpdateEndpointListItemSchema", "description": [], "signature": [ - "{ description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; name: string; type: \"simple\"; } & { _version?: string | undefined; comments?: ({ comment: string; } & { id?: string | undefined; })[] | undefined; id?: string | undefined; item_id?: string | undefined; meta?: object | undefined; os_types?: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags?: string[] | undefined; expire_time?: string | undefined; }" + "{ description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; name: string; type: \"simple\"; } & { _version?: string | undefined; comments?: ({ comment: string; } & { id?: string | undefined; })[] | undefined; id?: string | undefined; item_id?: string | undefined; meta?: object | undefined; os_types?: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags?: string[] | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts", "deprecated": false, @@ -5129,7 +5129,7 @@ "label": "UpdateEndpointListItemSchemaDecoded", "description": [], "signature": [ - "Omit<{ description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; name: string; type: \"simple\"; _version: string | undefined; comments: ({ comment: string; } & { id?: string | undefined; })[] | undefined; id: string | undefined; item_id: string | undefined; meta: object | undefined; os_types: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags: string[] | undefined; expire_time: string | undefined; }, \"entries\" | \"tags\" | \"comments\" | \"expire_time\"> & { comments: ({ comment: string; } & { id?: string | undefined; })[]; tags: string[]; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; os_types: (\"windows\" | \"linux\" | \"macos\")[]; expire_time: string | undefined; }" + "Omit<{ description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; name: string; type: \"simple\"; _version: string | undefined; comments: ({ comment: string; } & { id?: string | undefined; })[] | undefined; id: string | undefined; item_id: string | undefined; meta: object | undefined; os_types: (\"windows\" | \"linux\" | \"macos\")[] | undefined; tags: string[] | undefined; }, \"entries\" | \"tags\" | \"comments\"> & { comments: ({ comment: string; } & { id?: string | undefined; })[]; tags: string[]; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; os_types: (\"windows\" | \"linux\" | \"macos\")[]; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts", "deprecated": false, @@ -5624,13 +5624,7 @@ "UndefinedC", "]>; tags: ", "Type", - "; expire_time: ", - "UnionC", - "<[", - "Type", - ", ", - "UndefinedC", - "]>; }>>]>" + "; }>>]>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts", "deprecated": false, @@ -11027,13 +11021,7 @@ "UndefinedC", "]>; tags: ", "Type", - "; expire_time: ", - "UnionC", - "<[", - "Type", - ", ", - "UndefinedC", - "]>; }>>]>" + "; }>>]>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index ae89b69f48690..f635c7ba6c21b 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: 2023-03-02 +date: 2023-03-06 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 d1526b7f60044..60deb92356cb0 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: 2023-03-02 +date: 2023-03-06 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 c2ecb1dbe34d5..548efb03d2058 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: 2023-03-02 +date: 2023-03-06 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 6788608bcb84e..bcbdab8cab012 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: 2023-03-02 +date: 2023-03-06 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 2ec3f8381831f..78445e2b49f41 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: 2023-03-02 +date: 2023-03-06 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 0ca59b9fe847c..9193f23315a77 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: 2023-03-02 +date: 2023-03-06 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 3beb7403b600b..c88fee744295d 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: 2023-03-02 +date: 2023-03-06 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 0ee158f6baaf6..72e39ff5afae3 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: 2023-03-02 +date: 2023-03-06 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 a2d1484550fc9..e85ce98a2a803 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: 2023-03-02 +date: 2023-03-06 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 a8005a4385573..0f8ba0e6a041d 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: 2023-03-02 +date: 2023-03-06 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 063dd41fd98ff..d27e52d43774f 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: 2023-03-02 +date: 2023-03-06 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 737057e8c0e05..efb02f34519d1 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index b29158d647065..86aa56a3dbe05 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: 2023-03-02 +date: 2023-03-06 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 a3a55240b0af9..49a307abf7b04 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: 2023-03-02 +date: 2023-03-06 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_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index a56cf6c0bfbc3..a58272efa2d1d 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.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 6819d2c072e27..f8a48097cfee2 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: 2023-03-02 +date: 2023-03-06 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_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 8ab84fc256c3c..faa396a32ef15 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 95898936e597e..776ee833c0f91 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 7c89c2313936f..a99550f334e9d 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: 2023-03-02 +date: 2023-03-06 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 409920c862e2f..d01917282f0bb 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: 2023-03-02 +date: 2023-03-06 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_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index c2e953437d99f..296253d39ca26 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: 2023-03-02 +date: 2023-03-06 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 5d7124ba4df40..1c0c148a1886a 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: 2023-03-02 +date: 2023-03-06 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 349b4336f58e2..77395553fe48c 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: 2023-03-02 +date: 2023-03-06 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 e0989c1f51cec..eaf6ea6651f52 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: 2023-03-02 +date: 2023-03-06 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 8d407169060fc..bdcb3b3d31688 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: 2023-03-02 +date: 2023-03-06 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 09dd4674a2d1f..8c72b124aea00 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: 2023-03-02 +date: 2023-03-06 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 4ea964c495788..db965074e0a21 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: 2023-03-02 +date: 2023-03-06 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 f5103df1642ea..126a90b0138c0 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: 2023-03-02 +date: 2023-03-06 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 97f45e6f83b2c..dfb7420456562 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: 2023-03-02 +date: 2023-03-06 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 f67da8f76056e..18aafaef26d63 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: 2023-03-02 +date: 2023-03-06 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 5de34430503ce..5317c3ea7ea6e 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: 2023-03-02 +date: 2023-03-06 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 b9c09753d8c3c..5fc4f57d29394 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 925939b7b3b14..d5552f3871a81 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; 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 aead1c8075be1..6a817184730f6 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: 2023-03-02 +date: 2023-03-06 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 467752087fbd1..2feb61cd40bb2 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: 2023-03-02 +date: 2023-03-06 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 b8e9b22f1f1e7..b5db61e3c7a53 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: 2023-03-02 +date: 2023-03-06 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 18e62b3d81c71..8b3c9392153f6 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: 2023-03-02 +date: 2023-03-06 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 129bdc8d51894..7826a6f575257 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: 2023-03-02 +date: 2023-03-06 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 09ae4255ca89b..460131cdca455 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: 2023-03-02 +date: 2023-03-06 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 1fbeb1e9d68db..9089e2600e2e6 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: 2023-03-02 +date: 2023-03-06 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 8caedf2cd62ba..cd47867e60301 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: 2023-03-02 +date: 2023-03-06 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 c7bb81745e1b9..7d6057cf4b145 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: 2023-03-02 +date: 2023-03-06 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 5db172a4f79f4..f8b79231463d2 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index a26fb1bdd2f0f..214f317c962cd 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; 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 db19f5d6acdfe..2b371835720a8 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: 2023-03-02 +date: 2023-03-06 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 f9d52f03f61e1..9dd45a3056268 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: 2023-03-02 +date: 2023-03-06 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 3235db692a3da..855354f61aec4 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: 2023-03-02 +date: 2023-03-06 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 85372208f09f1..f90c5682e758e 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: 2023-03-02 +date: 2023-03-06 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 93ac6e208bfb2..e984dc4c62b31 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: 2023-03-02 +date: 2023-03-06 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 de7c54411e4da..84ff87797af7c 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: 2023-03-02 +date: 2023-03-06 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 167415f51c2a2..e218614ec5d0d 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: 2023-03-02 +date: 2023-03-06 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 c52546abcb1dd..044bfb7cf3396 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: 2023-03-02 +date: 2023-03-06 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 10c6b0eaa4a86..32081d60b7ab6 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: 2023-03-02 +date: 2023-03-06 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 cfa11b343e00c..69ccf7d0f1c6b 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: 2023-03-02 +date: 2023-03-06 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 81664623edf20..4fbe4cca94e2d 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: 2023-03-02 +date: 2023-03-06 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 dba39c49e42a7..02c80c4474171 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: 2023-03-02 +date: 2023-03-06 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 151f72a73b89f..8099f409043ec 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: 2023-03-02 +date: 2023-03-06 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 3751fd6bbc8e7..fbdd83ade4809 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: 2023-03-02 +date: 2023-03-06 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 a3f6b269e3d08..f8482148a71de 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: 2023-03-02 +date: 2023-03-06 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 76fa71100242c..40824b28e0ae6 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 9a28336a7b258..33c0c1138d1e6 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 5868864ad22d9..bef686985702a 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: 2023-03-02 +date: 2023-03-06 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 2cceab118c4e8..c91ee2bd7dbe5 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: 2023-03-02 +date: 2023-03-06 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 1119cd67540c1..16c5bd0d294ad 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: 2023-03-02 +date: 2023-03-06 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.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 0f7c8eaa8b238..aa18030812380 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 68900129865df..ffcb4a5f9bf86 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 768b70d4e2d81..dd016f5f64a64 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: 2023-03-02 +date: 2023-03-06 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 902a7bf6ef8f8..6cc5100729aeb 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: 2023-03-02 +date: 2023-03-06 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 001f3e5200b3d..c1b87ee584570 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: 2023-03-02 +date: 2023-03-06 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 fcfbba697a2d6..75c9121310fb8 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index f4a57359de52a..516de9bad2f70 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index b9ad74d6e1aa8..5707659a03c2b 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 5a3615f9f57d7..8adc67c9a31e6 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 81c6306fdfb45..479215657cada 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: 2023-03-02 +date: 2023-03-06 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 c3bd6e26c3d3e..4997ef5ea433c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 5ed7138b508e1..3f276970b799f 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 4e5cb6c23130f..919c0ac83f1e4 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: 2023-03-02 +date: 2023-03-06 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 5048d4ae336be..d37ef16a7e9a3 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: 2023-03-02 +date: 2023-03-06 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 e0af238c7a65f..4744ba9290ca5 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.devdocs.json b/api_docs/lists.devdocs.json index fe0cdc54cd46b..60eab49b1edaa 100644 --- a/api_docs/lists.devdocs.json +++ b/api_docs/lists.devdocs.json @@ -698,7 +698,7 @@ "\nThis is the same as \"createListItem\" except it applies specifically to the agnostic endpoint list and will\nauto-call the \"createEndpointList\" for you so that you have the best chance of the agnostic endpoint\nbeing there and existing before the item is inserted into the agnostic endpoint list." ], "signature": [ - "({ comments, description, entries, expireTime, itemId, meta, name, osTypes, tags, type, }: ", + "({ comments, description, entries, itemId, meta, name, osTypes, tags, type, }: ", "CreateEndpointListItemOptions", ") => Promise<{ _version: string | undefined; comments: ({ comment: string; created_at: string; created_by: string; id: string; } & { updated_at?: string | undefined; updated_by?: string | undefined; })[]; created_at: string; created_by: string; description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; expire_time: string | undefined; id: string; item_id: string; list_id: string; meta: object | undefined; name: string; namespace_type: \"single\" | \"agnostic\"; os_types: (\"windows\" | \"linux\" | \"macos\")[]; tags: string[]; tie_breaker_id: string; type: \"simple\"; updated_at: string; updated_by: string; }>" ], @@ -711,7 +711,7 @@ "id": "def-server.ExceptionListClient.createEndpointListItem.$1", "type": "Object", "tags": [], - "label": "{\n comments,\n description,\n entries,\n expireTime,\n itemId,\n meta,\n name,\n osTypes,\n tags,\n type,\n }", + "label": "{\n comments,\n description,\n entries,\n itemId,\n meta,\n name,\n osTypes,\n tags,\n type,\n }", "description": [], "signature": [ "CreateEndpointListItemOptions" @@ -774,7 +774,7 @@ "\nThis is the same as \"updateExceptionListItem\" except it applies specifically to the endpoint list and will\nauto-call the \"createEndpointList\" for you so that you have the best chance of the endpoint\nbeing there if it did not exist before. If the list did not exist before, then creating it here will still cause a\nreturn of null but at least the list exists again." ], "signature": [ - "({ _version, comments, description, entries, expireTime, id, itemId, meta, name, osTypes, tags, type, }: ", + "({ _version, comments, description, entries, id, itemId, meta, name, osTypes, tags, type, }: ", "UpdateEndpointListItemOptions", ") => Promise<{ _version: string | undefined; comments: ({ comment: string; created_at: string; created_by: string; id: string; } & { updated_at?: string | undefined; updated_by?: string | undefined; })[]; created_at: string; created_by: string; description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; expire_time: string | undefined; id: string; item_id: string; list_id: string; meta: object | undefined; name: string; namespace_type: \"single\" | \"agnostic\"; os_types: (\"windows\" | \"linux\" | \"macos\")[]; tags: string[]; tie_breaker_id: string; type: \"simple\"; updated_at: string; updated_by: string; } | null>" ], @@ -787,7 +787,7 @@ "id": "def-server.ExceptionListClient.updateEndpointListItem.$1", "type": "Object", "tags": [], - "label": "{\n _version,\n comments,\n description,\n entries,\n expireTime,\n id,\n itemId,\n meta,\n name,\n osTypes,\n tags,\n type,\n }", + "label": "{\n _version,\n comments,\n description,\n entries,\n id,\n itemId,\n meta,\n name,\n osTypes,\n tags,\n type,\n }", "description": [], "signature": [ "UpdateEndpointListItemOptions" @@ -1011,7 +1011,7 @@ "tags": [], "label": "updateExceptionListItem", "description": [ - "\nUpdate an existing exception list item" + "\nUpdate an existing exception list item\n\nNOTE: This method will PATCH the targeted exception list item, not fully overwrite it.\nAny undefined fields passed in will not be changed in the existing record. To unset any\nfields use the `updateOverwriteExceptionListItem` method\n" ], "signature": [ "({ _version, comments, description, entries, expireTime, id, itemId, meta, name, namespaceType, osTypes, tags, type, }: ", @@ -1054,6 +1054,56 @@ "the updated exception list item or null if none exists" ] }, + { + "parentPluginId": "lists", + "id": "def-server.ExceptionListClient.updateOverwriteExceptionListItem", + "type": "Function", + "tags": [], + "label": "updateOverwriteExceptionListItem", + "description": [ + "\nUpdate an existing exception list item using the overwrite method in order to behave\nmore like a PUT request rather than a PATCH request.\n\nThis was done in order to correctly unset types via update which cannot be accomplished\nusing the regular `updateExceptionItem` method. All other results of the methods are identical\n" + ], + "signature": [ + "({ _version, comments, description, entries, expireTime, id, itemId, meta, name, namespaceType, osTypes, tags, type, }: ", + { + "pluginId": "lists", + "scope": "server", + "docId": "kibListsPluginApi", + "section": "def-server.UpdateExceptionListItemOptions", + "text": "UpdateExceptionListItemOptions" + }, + ") => Promise<{ _version: string | undefined; comments: ({ comment: string; created_at: string; created_by: string; id: string; } & { updated_at?: string | undefined; updated_by?: string | undefined; })[]; created_at: string; created_by: string; description: string; entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; list: { id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; }; operator: \"excluded\" | \"included\"; type: \"list\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; } | { entries: ({ field: string; operator: \"excluded\" | \"included\"; type: \"match\"; value: string; } | { field: string; operator: \"excluded\" | \"included\"; type: \"match_any\"; value: string[]; } | { field: string; operator: \"excluded\" | \"included\"; type: \"exists\"; })[]; field: string; type: \"nested\"; } | { field: string; operator: \"excluded\" | \"included\"; type: \"wildcard\"; value: string; })[]; expire_time: string | undefined; id: string; item_id: string; list_id: string; meta: object | undefined; name: string; namespace_type: \"single\" | \"agnostic\"; os_types: (\"windows\" | \"linux\" | \"macos\")[]; tags: string[]; tie_breaker_id: string; type: \"simple\"; updated_at: string; updated_by: string; } | null>" + ], + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lists", + "id": "def-server.ExceptionListClient.updateOverwriteExceptionListItem.$1", + "type": "Object", + "tags": [], + "label": "{\n _version,\n comments,\n description,\n entries,\n expireTime,\n id,\n itemId,\n meta,\n name,\n namespaceType,\n osTypes,\n tags,\n type,\n }", + "description": [], + "signature": [ + { + "pluginId": "lists", + "scope": "server", + "docId": "kibListsPluginApi", + "section": "def-server.UpdateExceptionListItemOptions", + "text": "UpdateExceptionListItemOptions" + } + ], + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "the updated exception list item or null if none exists" + ] + }, { "parentPluginId": "lists", "id": "def-server.ExceptionListClient.deleteExceptionListItem", diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index b680dd963f29d..67ba5541755ee 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-solution-platform](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 208 | 0 | 93 | 51 | +| 210 | 0 | 94 | 51 | ## Client diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 4221afac3fc65..cd8e01d9c84ab 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: 2023-03-02 +date: 2023-03-06 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 0135d2c83b89c..ea2d35817d07f 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: 2023-03-02 +date: 2023-03-06 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 2ddeb72c315bd..3fd5097befc64 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index e49b1eb30ea03..f4575ed364ef7 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 3873c26812adc..52f3a8bcc3e58 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: 2023-03-02 +date: 2023-03-06 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 d40a6cb637bff..3ea14465f3b8b 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: 2023-03-02 +date: 2023-03-06 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 53d6138aedc32..a07221cc776e2 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: 2023-03-02 +date: 2023-03-06 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 dc6e65ab31771..f559c31f6cde2 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index f91125db2e4b1..fa71093027187 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: 2023-03-02 +date: 2023-03-06 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 0bc9d3113ffee..300eaaab7770e 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -2275,6 +2275,45 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.ChartData", + "type": "Interface", + "tags": [], + "label": "ChartData", + "description": [], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.ChartData.key", + "type": "number", + "tags": [], + "label": "key", + "description": [], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ChartData.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.ConfigProps", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index e8133c325a091..618d97790f52c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 625 | 43 | 619 | 34 | +| 628 | 43 | 622 | 34 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 4fb5bf0000472..af127f06dd2c0 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 329f8fa2a3f3e..22a1c83117223 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: 2023-03-02 +date: 2023-03-06 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 | |--------------|----------|------------------------| -| 576 | 472 | 38 | +| 577 | 473 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 67884 | 515 | 58602 | 1234 | +| 67915 | 515 | 58627 | 1240 | ## Plugin Directory @@ -35,7 +35,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 89 | 1 | 74 | 2 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | The Case management system in Kibana | 92 | 0 | 75 | 28 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | The Case management system in Kibana | 94 | 0 | 77 | 28 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 270 | 16 | 255 | 9 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 41 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Chat available on Elastic Cloud deployments for quicker assistance. | 1 | 0 | 0 | 0 | @@ -58,7 +58,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1028 | 0 | 243 | 2 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1031 | 0 | 245 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 28 | 3 | 24 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 10 | 0 | 8 | 2 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 97 | 0 | 78 | 7 | @@ -116,7 +116,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@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) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | -| | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 208 | 0 | 93 | 51 | +| | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 210 | 0 | 94 | 51 | | logstash | [@elastic/logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 41 | 0 | 41 | 6 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 267 | 0 | 266 | 27 | @@ -127,7 +127,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 34 | 2 | | | [@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) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 625 | 43 | 619 | 34 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 628 | 43 | 622 | 34 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | painlessLab | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 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). | 202 | 7 | 146 | 12 | @@ -169,7 +169,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 206 | 0 | 140 | 9 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 267 | 0 | 242 | 7 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | The `unifiedHistogram` plugin provides UI components to create a layout including a resizable histogram and a main display. | 61 | 0 | 23 | 1 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 134 | 2 | 99 | 20 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 135 | 2 | 100 | 20 | | upgradeAssistant | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | urlDrilldown | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds drilldown implementations to Kibana | 0 | 0 | 0 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 12 | 0 | 12 | 0 | @@ -210,7 +210,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 18 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 27 | 0 | 27 | 3 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 152 | 0 | 152 | 16 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 154 | 0 | 154 | 17 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 11 | 0 | 11 | 0 | | | [@elastic/kibana-qa](https://github.com/orgs/elastic/teams/kibana-qa) | - | 10 | 0 | 10 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 19 | 0 | 17 | 0 | @@ -298,7 +298,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 6 | 26 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 411 | 1 | 160 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 413 | 1 | 161 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 55 | 0 | 49 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 41 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 2 | 0 | @@ -429,7 +429,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 1 | 1 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 534 | 1 | 1 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 83 | 2 | 59 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 50 | 0 | 4 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 52 | 0 | 4 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 3 | 0 | 2 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 3 | 0 | @@ -455,6 +455,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 341 | 1 | 337 | 32 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 67 | 0 | 61 | 1 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 104 | 0 | 93 | 1 | +| | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 14 | 0 | 13 | 5 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 15 | 0 | 7 | 0 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 140 | 0 | 121 | 0 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 516 | 1 | 503 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index bd3fea040e1e2..906a26347cc0c 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: 2023-03-02 +date: 2023-03-06 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 55a72a326e1a1..b4da74f97f3f9 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 27991d6f57a32..a0816e2b57797 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: 2023-03-02 +date: 2023-03-06 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 85cd473879d34..68b53cb7cc2e0 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: 2023-03-02 +date: 2023-03-06 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 8acc1623aadc8..b6cbdb841f18a 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: 2023-03-02 +date: 2023-03-06 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 f1367bb632c47..9f147212a1e5e 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: 2023-03-02 +date: 2023-03-06 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 40cbcf1dc389a..dd37ca1773244 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: 2023-03-02 +date: 2023-03-06 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 0d20d5d2b96d1..0c839180055cf 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: 2023-03-02 +date: 2023-03-06 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 a925f9e7e8d1a..01ac5241b7496 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: 2023-03-02 +date: 2023-03-06 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 93eec3c8e2134..2dba3826fc2de 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: 2023-03-02 +date: 2023-03-06 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 92bed3afdacfe..5a478a5d72d05 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: 2023-03-02 +date: 2023-03-06 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 5275c2ba2daf3..3b7fbf4c34c30 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: 2023-03-02 +date: 2023-03-06 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 c31edc8a13b0e..0d73b05144331 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: 2023-03-02 +date: 2023-03-06 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 3010e7478cb21..6e95730e6ddb6 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: 2023-03-02 +date: 2023-03-06 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 3a4777e421cca..a9eefc59769f8 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: 2023-03-02 +date: 2023-03-06 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 2b741f7ba9044..c8960791d4c27 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: 2023-03-02 +date: 2023-03-06 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 d51910f728a32..c84504aa211ee 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 0636e41382b77..aa708b39f85ae 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: 2023-03-02 +date: 2023-03-06 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 c3d6c6539e557..aae4d8df611ca 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: 2023-03-02 +date: 2023-03-06 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 7f6a877f69e9c..bca4705c39339 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: 2023-03-02 +date: 2023-03-06 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 beb404bc7432d..28c13cf146473 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: 2023-03-02 +date: 2023-03-06 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 55a98d19c1ede..0020dd50e5400 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: 2023-03-02 +date: 2023-03-06 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 f779c26c75c72..c0b544d6196a0 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: 2023-03-02 +date: 2023-03-06 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 c22042c62aa79..dbc2a0c30c002 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: 2023-03-02 +date: 2023-03-06 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 970b83513b7af..96c649851eaab 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: 2023-03-02 +date: 2023-03-06 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 35caf129235d2..bcbd4fbac39a2 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: 2023-03-02 +date: 2023-03-06 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 801e3c0b78b96..51080e003eaf0 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: 2023-03-02 +date: 2023-03-06 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 29a9a59dbc554..8b91983a210c3 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index a8f10c08b35ac..b07b22045478d 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: 2023-03-02 +date: 2023-03-06 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 4d78358b839ff..622fcd5977d56 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: 2023-03-02 +date: 2023-03-06 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 e5cc4d27c7c71..a12892036cbf4 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: 2023-03-02 +date: 2023-03-06 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 dd5bbd23bd1c1..630e7e1e54c35 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: 2023-03-02 +date: 2023-03-06 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 cb576491e68f8..4fa0c00b40575 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: 2023-03-02 +date: 2023-03-06 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 a0acb8cefb267..ec8ee2c5788ab 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index e80bd4f23b3f1..cd419843b33df 100644 --- a/api_docs/unified_field_list.mdx +++ b/api_docs/unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedFieldList title: "unifiedFieldList" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedFieldList plugin -date: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 2d968671567c2..9acc91d6f0b5c 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.devdocs.json b/api_docs/unified_search.devdocs.json index d0f779daec6fb..5ae3455e2cbad 100644 --- a/api_docs/unified_search.devdocs.json +++ b/api_docs/unified_search.devdocs.json @@ -1396,6 +1396,26 @@ "path": "src/plugins/unified_search/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "unifiedSearch", + "id": "def-public.IUnifiedSearchPluginServices.savedObjectsManagement", + "type": "Object", + "tags": [], + "label": "savedObjectsManagement", + "description": [], + "signature": [ + { + "pluginId": "savedObjectsManagement", + "scope": "public", + "docId": "kibSavedObjectsManagementPluginApi", + "section": "def-public.SavedObjectsManagementPluginStart", + "text": "SavedObjectsManagementPluginStart" + } + ], + "path": "src/plugins/unified_search/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 7ce7f9776a0df..78e4d72b93292 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.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 | |-------------------|-----------|------------------------|-----------------| -| 134 | 2 | 99 | 20 | +| 135 | 2 | 100 | 20 | ## Client diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 11bf3eca20206..1c796f2d0c5da 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.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 | |-------------------|-----------|------------------------|-----------------| -| 134 | 2 | 99 | 20 | +| 135 | 2 | 100 | 20 | ## Client diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 00a2a9c375867..251c3976efaa3 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: 2023-03-02 +date: 2023-03-06 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 6ecd92065cad1..187056013faad 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: 2023-03-02 +date: 2023-03-06 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 a384f9f7367b6..4a50715f06f72 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: 2023-03-02 +date: 2023-03-06 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 edd9382b98348..9e20415e34457 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: 2023-03-02 +date: 2023-03-06 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 659f1fde7adde..b36acb49774ff 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: 2023-03-02 +date: 2023-03-06 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 205dc8e481f17..419596ef273d8 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: 2023-03-02 +date: 2023-03-06 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 6764e12e55a9b..085a92a1c350e 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: 2023-03-02 +date: 2023-03-06 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 cb488e139d52e..f0086b7a27760 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: 2023-03-02 +date: 2023-03-06 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 d962ffe6dec17..cdb467ab5639a 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: 2023-03-02 +date: 2023-03-06 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 09b5222b7d782..7dab9f090a3f4 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: 2023-03-02 +date: 2023-03-06 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 e2376c3a4225d..4ac80c6282e5c 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: 2023-03-02 +date: 2023-03-06 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 a503f4fa09f78..0839b6994e220 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: 2023-03-02 +date: 2023-03-06 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 a95ce8496e401..f4b497e28b586 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: 2023-03-02 +date: 2023-03-06 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 22c23857d5ec5..20ff6c3168e02 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: 2023-03-02 +date: 2023-03-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/package.json b/package.json index 508a6d1e2a1af..b621db022d92b 100644 --- a/package.json +++ b/package.json @@ -921,7 +921,7 @@ "usng.js": "^0.4.5", "utility-types": "^3.10.0", "uuid": "9.0.0", - "vega": "^5.22.1", + "vega": "^5.23.0", "vega-interpreter": "^1.0.4", "vega-lite": "^5.5.0", "vega-schema-url-parser": "^2.2.0", @@ -1252,7 +1252,7 @@ "@types/redux-logger": "^3.0.8", "@types/resolve": "^1.20.1", "@types/seedrandom": ">=2.0.0 <4.0.0", - "@types/selenium-webdriver": "^4.1.11", + "@types/selenium-webdriver": "^4.1.12", "@types/semver": "^7", "@types/set-value": "^2.0.0", "@types/sharp": "^0.30.4", diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/index.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/index.ts index 84ae0392ce1d6..9f50cdee84e3f 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/index.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/index.ts @@ -9,7 +9,7 @@ export { ScopedClusterClient } from './src/scoped_cluster_client'; export { ClusterClient } from './src/cluster_client'; export { configureClient } from './src/configure_client'; -export { type AgentStore, AgentManager, type NetworkAgent } from './src/agent_manager'; +export { type AgentStatsProvider, AgentManager, type NetworkAgent } from './src/agent_manager'; export { getRequestDebugMeta, getErrorMessage } from './src/log_query_and_deprecation'; export { PRODUCT_RESPONSE_HEADER, diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.test.ts index 0f374bd8311e5..448bfe2674e8f 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.test.ts @@ -6,9 +6,12 @@ * Side Public License, v 1. */ -import { AgentManager } from './agent_manager'; import { Agent as HttpAgent } from 'http'; import { Agent as HttpsAgent } from 'https'; +import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; +import { loggerMock, type MockedLogger } from '@kbn/logging-mocks'; +import { getAgentsSocketsStatsMock } from './get_agents_sockets_stats.test.mocks'; +import { AgentManager } from './agent_manager'; jest.mock('http'); jest.mock('https'); @@ -17,6 +20,12 @@ const HttpAgentMock = HttpAgent as jest.Mock; const HttpsAgentMock = HttpsAgent as jest.Mock; describe('AgentManager', () => { + let logger: MockedLogger; + + beforeEach(() => { + logger = loggerMock.create(); + }); + afterEach(() => { HttpAgentMock.mockClear(); HttpsAgentMock.mockClear(); @@ -24,7 +33,7 @@ describe('AgentManager', () => { describe('#getAgentFactory()', () => { it('provides factories which are different at each call', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory1 = agentManager.getAgentFactory(); const agentFactory2 = agentManager.getAgentFactory(); expect(agentFactory1).not.toEqual(agentFactory2); @@ -36,7 +45,7 @@ describe('AgentManager', () => { HttpAgentMock.mockImplementationOnce(() => mockedHttpAgent); const mockedHttpsAgent = new HttpsAgent(); HttpsAgentMock.mockImplementationOnce(() => mockedHttpsAgent); - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory = agentManager.getAgentFactory(); const httpAgent = agentFactory({ url: new URL('http://elastic-node-1:9200') }); const httpsAgent = agentFactory({ url: new URL('https://elastic-node-1:9200') }); @@ -45,7 +54,7 @@ describe('AgentManager', () => { }); it('takes into account the provided configurations', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory = agentManager.getAgentFactory({ maxTotalSockets: 1024, scheduling: 'fifo', @@ -68,7 +77,7 @@ describe('AgentManager', () => { }); it('provides Agents that match the URLs protocol', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory = agentManager.getAgentFactory(); agentFactory({ url: new URL('http://elastic-node-1:9200') }); expect(HttpAgent).toHaveBeenCalledTimes(1); @@ -79,7 +88,7 @@ describe('AgentManager', () => { }); it('provides the same Agent if URLs use the same protocol', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory = agentManager.getAgentFactory(); const agent1 = agentFactory({ url: new URL('http://elastic-node-1:9200') }); const agent2 = agentFactory({ url: new URL('http://elastic-node-2:9200') }); @@ -92,7 +101,7 @@ describe('AgentManager', () => { }); it('dereferences an agent instance when the agent is closed', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory = agentManager.getAgentFactory(); const agent = agentFactory({ url: new URL('http://elastic-node-1:9200') }); // eslint-disable-next-line dot-notation @@ -105,7 +114,7 @@ describe('AgentManager', () => { describe('two agent factories', () => { it('never provide the same Agent instance even if they use the same type', () => { - const agentManager = new AgentManager(); + const agentManager = new AgentManager(logger); const agentFactory1 = agentManager.getAgentFactory(); const agentFactory2 = agentManager.getAgentFactory(); const agent1 = agentFactory1({ url: new URL('http://elastic-node-1:9200') }); @@ -115,20 +124,34 @@ describe('AgentManager', () => { }); }); - describe('#getAgents()', () => { - it('returns the created HTTP and HTTPs Agent instances', () => { - const agentManager = new AgentManager(); - const agentFactory1 = agentManager.getAgentFactory(); - const agentFactory2 = agentManager.getAgentFactory(); - const agent1 = agentFactory1({ url: new URL('http://elastic-node-1:9200') }); - const agent2 = agentFactory2({ url: new URL('http://elastic-node-1:9200') }); - const agent3 = agentFactory1({ url: new URL('https://elastic-node-1:9200') }); - const agent4 = agentFactory2({ url: new URL('https://elastic-node-1:9200') }); + describe('#getAgentsStats()', () => { + it('returns the stats of the agents', () => { + const agentManager = new AgentManager(logger); + const metrics: ElasticsearchClientsMetrics = { + totalQueuedRequests: 0, + totalIdleSockets: 100, + totalActiveSockets: 400, + }; + getAgentsSocketsStatsMock.mockReturnValue(metrics); + + expect(agentManager.getAgentsStats()).toStrictEqual(metrics); + }); + + it('warns when there are queued requests (requests unassigned to any socket)', () => { + const agentManager = new AgentManager(logger); + const metrics: ElasticsearchClientsMetrics = { + totalQueuedRequests: 2, + totalIdleSockets: 100, // There may be idle sockets when many clients are initialized. It should not be taken as an indicator of health. + totalActiveSockets: 400, + }; + getAgentsSocketsStatsMock.mockReturnValue(metrics); - const agents = agentManager.getAgents(); + expect(agentManager.getAgentsStats()).toStrictEqual(metrics); - expect(agents.size).toEqual(4); - expect([...agents]).toEqual(expect.arrayContaining([agent1, agent2, agent3, agent4])); + expect(logger.warn).toHaveBeenCalledTimes(1); + expect(logger.warn).toHaveBeenCalledWith( + 'There are 2 queued requests. If this number is constantly high, consider scaling Kibana horizontally or increasing "elasticsearch.maxSockets" in the config.' + ); }); }); }); diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.ts index 9f654216bdce8..3e414728b069a 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/agent_manager.ts @@ -9,6 +9,9 @@ import { Agent as HttpAgent, type AgentOptions } from 'http'; import { Agent as HttpsAgent } from 'https'; import type { ConnectionOptions, HttpAgentOptions } from '@elastic/elasticsearch'; +import type { Logger } from '@kbn/logging'; +import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; +import { getAgentsSocketsStats } from './get_agents_sockets_stats'; const HTTPS = 'https:'; @@ -19,8 +22,14 @@ export interface AgentFactoryProvider { getAgentFactory(agentOptions?: HttpAgentOptions): AgentFactory; } -export interface AgentStore { - getAgents(): Set; +/** + * Exposes the APIs to fetch stats of the existing agents. + */ +export interface AgentStatsProvider { + /** + * Returns the {@link ElasticsearchClientsMetrics}, to understand the load on the Elasticsearch HTTP agents. + */ + getAgentsStats(): ElasticsearchClientsMetrics; } /** @@ -34,10 +43,10 @@ export interface AgentStore { * exposes methods that can modify the underlying pools, effectively impacting the connections of other Clients. * @internal **/ -export class AgentManager implements AgentFactoryProvider, AgentStore { - private agents: Set; +export class AgentManager implements AgentFactoryProvider, AgentStatsProvider { + private readonly agents: Set; - constructor() { + constructor(private readonly logger: Logger) { this.agents = new Set(); } @@ -69,8 +78,16 @@ export class AgentManager implements AgentFactoryProvider, AgentStore { }; } - public getAgents(): Set { - return this.agents; + public getAgentsStats(): ElasticsearchClientsMetrics { + const stats = getAgentsSocketsStats(this.agents); + + if (stats.totalQueuedRequests > 0) { + this.logger.warn( + `There are ${stats.totalQueuedRequests} queued requests. If this number is constantly high, consider scaling Kibana horizontally or increasing "elasticsearch.maxSockets" in the config.` + ); + } + + return stats; } } diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/cluster_client.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/cluster_client.test.ts index bcf5011395bf6..b64221b913c62 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/cluster_client.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/cluster_client.test.ts @@ -57,7 +57,7 @@ describe('ClusterClient', () => { logger = loggingSystemMock.createLogger(); internalClient = createClient(); scopedClient = createClient(); - agentFactoryProvider = new AgentManager(); + agentFactoryProvider = new AgentManager(logger); authHeaders = httpServiceMock.createAuthHeaderStorage(); authHeaders.get.mockImplementation(() => ({ diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/configure_client.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/configure_client.test.ts index fe511f46278d9..1784fa7a08662 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/configure_client.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/configure_client.test.ts @@ -54,7 +54,7 @@ describe('configureClient', () => { config = createFakeConfig(); parseClientOptionsMock.mockReturnValue({}); ClientMock.mockImplementation(() => createFakeClient()); - agentFactoryProvider = new AgentManager(); + agentFactoryProvider = new AgentManager(logger); }); afterEach(() => { diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.test.mocks.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.test.mocks.ts similarity index 100% rename from packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.test.mocks.ts rename to packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.test.mocks.ts diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.test.ts similarity index 100% rename from packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.test.ts rename to packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.test.ts diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.ts similarity index 95% rename from packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.ts rename to packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.ts index e513528c07697..5c8b61cafe7be 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/src/get_agents_sockets_stats.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/get_agents_sockets_stats.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { NetworkAgent } from '@kbn/core-elasticsearch-client-server-internal'; import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; +import type { NetworkAgent } from './agent_manager'; export const getAgentsSocketsStats = (agents: Set): ElasticsearchClientsMetrics => { const nodes = new Set(); diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json index d43e5bcbe630d..2288caa55dea8 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json @@ -21,6 +21,7 @@ "@kbn/logging-mocks", "@kbn/core-logging-server-mocks", "@kbn/core-http-server-mocks", + "@kbn/core-metrics-server", ], "exclude": [ "target/**/*", diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/index.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/index.ts index 0b66d449df013..86c9bbe6394fd 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/index.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/index.ts @@ -15,4 +15,4 @@ export type { DeeplyMockedApi, ElasticsearchClientMock, } from './src/mocks'; -export { createAgentStoreMock } from './src/agent_manager.mocks'; +export { createAgentStatsProviderMock } from './src/agent_manager.mocks'; diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/src/agent_manager.mocks.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/src/agent_manager.mocks.ts index 2fd8812b3aae0..2a43142477142 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/src/agent_manager.mocks.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/src/agent_manager.mocks.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import type { AgentStore, NetworkAgent } from '@kbn/core-elasticsearch-client-server-internal'; +import type { AgentStatsProvider } from '@kbn/core-elasticsearch-client-server-internal'; -export const createAgentStoreMock = (agents: Set = new Set()): AgentStore => ({ - getAgents: jest.fn(() => agents), +export const createAgentStatsProviderMock = (): jest.Mocked => ({ + getAgentsStats: jest.fn(), }); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts index 68a56ff28bc8d..d04b7dfda2b3e 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.mocks.ts @@ -10,7 +10,7 @@ import type { AgentManager } from '@kbn/core-elasticsearch-client-server-interna export const MockClusterClient = jest.fn(); export const MockAgentManager: jest.MockedClass = jest.fn().mockReturnValue({ - getAgents: jest.fn(), + getAgentsStats: jest.fn(), getAgentFactory: jest.fn(), }); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts index f523cfe8c4a8f..a145da71fab83 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts @@ -201,9 +201,9 @@ describe('#setup', () => { ); }); - it('returns an AgentStore as part of the contract', async () => { + it('returns an AgentStatsProvider as part of the contract', async () => { const setupContract = await elasticsearchService.setup(setupDeps); - expect(typeof setupContract.agentStore.getAgents).toEqual('function'); + expect(typeof setupContract.agentStatsProvider.getAgentsStats).toEqual('function'); }); it('esNodeVersionCompatibility$ only starts polling when subscribed to', async () => { diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts index fddff84293140..c1396daf1aa66 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts @@ -66,7 +66,7 @@ export class ElasticsearchService this.config$ = coreContext.configService .atPath('elasticsearch') .pipe(map((rawConfig) => new ElasticsearchConfig(rawConfig))); - this.agentManager = new AgentManager(); + this.agentManager = new AgentManager(this.log.get('agent-manager')); } public async preboot(): Promise { @@ -120,7 +120,9 @@ export class ElasticsearchService } this.unauthorizedErrorHandler = handler; }, - agentStore: this.agentManager, + agentStatsProvider: { + getAgentsStats: this.agentManager.getAgentsStats.bind(this.agentManager), + }, }; } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts index b03b86c7bdd1c..c026b93943df5 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts @@ -12,7 +12,7 @@ import type { ElasticsearchServiceStart, ElasticsearchServiceSetup, } from '@kbn/core-elasticsearch-server'; -import type { AgentStore } from '@kbn/core-elasticsearch-client-server-internal'; +import type { AgentStatsProvider } from '@kbn/core-elasticsearch-client-server-internal'; import type { ServiceStatus } from '@kbn/core-status-common'; import type { NodesVersionCompatibility, NodeInfo } from './version_check/ensure_es_version'; import type { ClusterInfo } from './get_cluster_info'; @@ -22,7 +22,7 @@ export type InternalElasticsearchServicePreboot = ElasticsearchServicePreboot; /** @internal */ export interface InternalElasticsearchServiceSetup extends ElasticsearchServiceSetup { - agentStore: AgentStore; + agentStatsProvider: AgentStatsProvider; clusterInfo$: Observable; esNodesCompatibility$: Observable; status$: Observable>; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts index 26d81da24318c..4cfb3ecc45c32 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts @@ -13,7 +13,7 @@ import { elasticsearchClientMock, type ClusterClientMock, type CustomClusterClientMock, - createAgentStoreMock, + createAgentStatsProviderMock, } from '@kbn/core-elasticsearch-client-server-mocks'; import type { ElasticsearchClientConfig, @@ -95,7 +95,7 @@ const createInternalSetupContractMock = () => { level: ServiceStatusLevels.available, summary: 'Elasticsearch is available', }), - agentStore: createAgentStoreMock(), + agentStatsProvider: createAgentStatsProviderMock(), }; return internalSetupContract; }; diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.test.ts b/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.test.ts index 49b5a4b71da53..5f75edc17235c 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.test.ts +++ b/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.test.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { Agent as HttpAgent } from 'http'; -import { Agent as HttpsAgent } from 'https'; import type { ElasticsearchClientsMetrics } from '@kbn/core-metrics-server'; -import { createAgentStoreMock } from '@kbn/core-elasticsearch-client-server-mocks'; -import { getAgentsSocketsStatsMock } from './get_agents_sockets_stats.test.mocks'; +import { createAgentStatsProviderMock } from '@kbn/core-elasticsearch-client-server-mocks'; import { ElasticsearchClientsMetricsCollector } from './elasticsearch_client'; -import { getAgentsSocketsStats } from './get_agents_sockets_stats'; jest.mock('@kbn/core-elasticsearch-client-server-internal'); @@ -24,16 +20,12 @@ export const sampleEsClientMetrics: ElasticsearchClientsMetrics = { describe('ElasticsearchClientsMetricsCollector', () => { test('#collect calls getAgentsSocketsStats with the Agents managed by the provided AgentManager', async () => { - const agents = new Set([new HttpAgent(), new HttpsAgent()]); - const agentStore = createAgentStoreMock(agents); - getAgentsSocketsStatsMock.mockReturnValueOnce(sampleEsClientMetrics); + const agentStatsProvider = createAgentStatsProviderMock(); + agentStatsProvider.getAgentsStats.mockReturnValue(sampleEsClientMetrics); - const esClientsMetricsCollector = new ElasticsearchClientsMetricsCollector(agentStore); + const esClientsMetricsCollector = new ElasticsearchClientsMetricsCollector(agentStatsProvider); const metrics = await esClientsMetricsCollector.collect(); - expect(agentStore.getAgents).toHaveBeenCalledTimes(1); - expect(getAgentsSocketsStats).toHaveBeenCalledTimes(1); - expect(getAgentsSocketsStats).toHaveBeenNthCalledWith(1, agents); expect(metrics).toEqual(sampleEsClientMetrics); }); }); diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.ts b/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.ts index 278fd0218f8c0..bd6a86f23b3ed 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.ts +++ b/packages/core/metrics/core-metrics-collectors-server-internal/src/elasticsearch_client.ts @@ -7,16 +7,15 @@ */ import type { ElasticsearchClientsMetrics, MetricsCollector } from '@kbn/core-metrics-server'; -import type { AgentStore } from '@kbn/core-elasticsearch-client-server-internal'; -import { getAgentsSocketsStats } from './get_agents_sockets_stats'; +import type { AgentStatsProvider } from '@kbn/core-elasticsearch-client-server-internal'; export class ElasticsearchClientsMetricsCollector implements MetricsCollector { - constructor(private readonly agentStore: AgentStore) {} + constructor(private readonly agentStatsProvider: AgentStatsProvider) {} public async collect(): Promise { - return await getAgentsSocketsStats(this.agentStore.getAgents()); + return await this.agentStatsProvider.getAgentsStats(); } public reset() { diff --git a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.test.ts b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.test.ts index b29572eb37624..e129991a3576d 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.test.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.test.ts @@ -52,7 +52,7 @@ describe('MetricsService', () => { expect(OpsMetricsCollector).toHaveBeenCalledTimes(1); expect(OpsMetricsCollector).toHaveBeenCalledWith( httpMock.server, - esServiceMock.agentStore, + esServiceMock.agentStatsProvider, expect.objectContaining({ logger: logger.get('metrics') }) ); diff --git a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts index 95a9dc09bba57..97a6111e96536 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts @@ -55,10 +55,14 @@ export class MetricsService this.coreContext.configService.atPath(OPS_CONFIG_PATH) ); - this.metricsCollector = new OpsMetricsCollector(http.server, elasticsearchService.agentStore, { - logger: this.logger, - ...config.cGroupOverrides, - }); + this.metricsCollector = new OpsMetricsCollector( + http.server, + elasticsearchService.agentStatsProvider, + { + logger: this.logger, + ...config.cGroupOverrides, + } + ); await this.refreshMetrics(); diff --git a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts index 7c4682e4c24c0..c1920e56ce879 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.test.ts @@ -29,7 +29,7 @@ describe('OpsMetricsCollector', () => { beforeEach(() => { const hapiServer = httpServiceMock.createInternalSetupContract().server; - const agentManager = new AgentManager(); + const agentManager = new AgentManager(loggerMock.create()); collector = new OpsMetricsCollector(hapiServer, agentManager, { logger: loggerMock.create() }); mockOsCollector.collect.mockResolvedValue('osMetrics'); diff --git a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts index 8a10f4071b11b..2e358fc121bce 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/ops_metrics_collector.ts @@ -8,7 +8,7 @@ import { Server as HapiServer } from '@hapi/hapi'; import type { OpsMetrics, MetricsCollector } from '@kbn/core-metrics-server'; -import type { AgentStore } from '@kbn/core-elasticsearch-client-server-internal'; +import type { AgentStatsProvider } from '@kbn/core-elasticsearch-client-server-internal'; import { ProcessMetricsCollector, OsMetricsCollector, @@ -23,11 +23,15 @@ export class OpsMetricsCollector implements MetricsCollector { private readonly serverCollector: ServerMetricsCollector; private readonly esClientCollector: ElasticsearchClientsMetricsCollector; - constructor(server: HapiServer, agentStore: AgentStore, opsOptions: OpsMetricsCollectorOptions) { + constructor( + server: HapiServer, + agentStatsProvider: AgentStatsProvider, + opsOptions: OpsMetricsCollectorOptions + ) { this.processCollector = new ProcessMetricsCollector(); this.osCollector = new OsMetricsCollector(opsOptions); this.serverCollector = new ServerMetricsCollector(server); - this.esClientCollector = new ElasticsearchClientsMetricsCollector(agentStore); + this.esClientCollector = new ElasticsearchClientsMetricsCollector(agentStatsProvider); } public async collect(): Promise { diff --git a/packages/kbn-optimizer/src/worker/webpack.config.ts b/packages/kbn-optimizer/src/worker/webpack.config.ts index 83b9882118b1c..986ec051637e4 100644 --- a/packages/kbn-optimizer/src/worker/webpack.config.ts +++ b/packages/kbn-optimizer/src/worker/webpack.config.ts @@ -91,7 +91,7 @@ export function getWebpackConfig( // already bundled with all its necessary dependencies noParse: [ /[\/\\]node_modules[\/\\]lodash[\/\\]index\.js$/, - /[\/\\]node_modules[\/\\]vega[\/\\]build[\/\\]vega\.js$/, + /[\/\\]node_modules[\/\\]vega[\/\\]build-es5[\/\\]vega\.js$/, ], rules: [ diff --git a/packages/kbn-securitysolution-autocomplete/src/translations/index.ts b/packages/kbn-securitysolution-autocomplete/src/translations/index.ts index 5267e213fa5c3..db4c144e5937c 100644 --- a/packages/kbn-securitysolution-autocomplete/src/translations/index.ts +++ b/packages/kbn-securitysolution-autocomplete/src/translations/index.ts @@ -53,7 +53,8 @@ export const FIELD_CONFLICT_INDICES_WARNING_TITLE = i18n.translate( export const FIELD_CONFLICT_INDICES_WARNING_DESCRIPTION = i18n.translate( 'autocomplete.conflictIndicesWarning.description', { - defaultMessage: 'This field is defined as several types across different indices.', + defaultMessage: + 'This field is defined as different types across the following indices or is unmapped. This can cause unexpected query results.', } ); diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts index 0262e16539e9f..8c8e1d3e0db4b 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/create_endpoint_list_item_schema/index.ts @@ -22,7 +22,6 @@ import { description } from '../../common/description'; import { name } from '../../common/name'; import { meta } from '../../common/meta'; import { tags } from '../../common/tags'; -import { ExpireTimeOrUndefined, expireTimeOrUndefined } from '../../common'; export const createEndpointListItemSchema = t.intersection([ t.exact( @@ -40,7 +39,6 @@ export const createEndpointListItemSchema = t.intersection([ meta, // defaults to undefined if not set during decode os_types: osTypeArrayOrUndefined, // defaults to empty array if not set during decode tags, // defaults to empty array if not set during decode - expire_time: expireTimeOrUndefined, // defaults to undefined if not set during decode }) ), ]); @@ -50,12 +48,11 @@ export type CreateEndpointListItemSchema = t.OutputOf>, - 'tags' | 'item_id' | 'entries' | 'comments' | 'os_types' | 'expire_time' + 'tags' | 'item_id' | 'entries' | 'comments' | 'os_types' > & { comments: CreateCommentsArray; tags: Tags; item_id: ItemId; entries: EntriesArray; os_types: OsTypeArray; - expire_time: ExpireTimeOrUndefined; }; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts index b0669b05463cf..8e5aa41e1fad2 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/update_endpoint_list_item_schema/index.ts @@ -21,7 +21,6 @@ import { Tags, tags } from '../../common/tags'; import { RequiredKeepUndefined } from '../../common/required_keep_undefined'; import { UpdateCommentsArray } from '../../common/update_comment'; import { EntriesArray } from '../../common/entries'; -import { ExpireTimeOrUndefined, expireTimeOrUndefined } from '../../common'; export const updateEndpointListItemSchema = t.intersection([ t.exact( @@ -41,7 +40,6 @@ export const updateEndpointListItemSchema = t.intersection([ meta, // defaults to undefined if not set during decode os_types: osTypeArrayOrUndefined, // defaults to empty array if not set during decode tags, // defaults to empty array if not set during decode - expire_time: expireTimeOrUndefined, }) ), ]); @@ -51,11 +49,10 @@ export type UpdateEndpointListItemSchema = t.OutputOf>, - 'tags' | 'entries' | 'comments' | 'expire_time' + 'tags' | 'entries' | 'comments' > & { comments: UpdateCommentsArray; tags: Tags; entries: EntriesArray; os_types: OsTypeArray; - expire_time: ExpireTimeOrUndefined; }; diff --git a/packages/kbn-storybook/src/webpack.config.ts b/packages/kbn-storybook/src/webpack.config.ts index a10de36a21348..35bda9718d7cb 100644 --- a/packages/kbn-storybook/src/webpack.config.ts +++ b/packages/kbn-storybook/src/webpack.config.ts @@ -75,6 +75,10 @@ export default ({ config: storybookConfig }: { config: Configuration }) => { }, externals, module: { + // no parse rules for a few known large packages which have no require() statements + // or which have require() statements that should be ignored because the file is + // already bundled with all its necessary dependencies + noParse: [/[\/\\]node_modules[\/\\]vega[\/\\]build-es5[\/\\]vega\.js$/], rules: [ { test: /\.(html|md|txt|tmpl)$/, @@ -128,6 +132,7 @@ export default ({ config: storybookConfig }: { config: Configuration }) => { alias: { core_app_image_assets: resolve(REPO_ROOT, 'src/core/public/styles/core_app/images'), core_styles: resolve(REPO_ROOT, 'src/core/public/index.scss'), + vega: resolve(REPO_ROOT, 'node_modules/vega/build-es5/vega.js'), }, }, stats, diff --git a/src/cli_setup/utils.ts b/src/cli_setup/utils.ts index 36c08de4d422a..8f31c9eee03f7 100644 --- a/src/cli_setup/utils.ts +++ b/src/cli_setup/utils.ts @@ -49,7 +49,7 @@ export const elasticsearch = new ElasticsearchService(logger, kibanaPackageJson. logger, type, // we use an independent AgentManager for cli_setup, no need to track performance of this one - agentFactoryProvider: new AgentManager(), + agentFactoryProvider: new AgentManager(logger.get('agent-manager')), kibanaVersion: kibanaPackageJson.version, }); }, diff --git a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts index f6760aa3264fc..346271affabf2 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/kibana_migrator_test_kit.ts @@ -233,7 +233,9 @@ const getElasticsearchClient = async ( return configureClient(esClientConfig, { logger: loggerFactory.get('elasticsearch'), type: 'data', - agentFactoryProvider: new AgentManager(), + agentFactoryProvider: new AgentManager( + loggerFactory.get('elasticsearch-service', 'agent-manager') + ), kibanaVersion, }); }; diff --git a/src/plugins/console/public/application/models/legacy_core_editor/legacy_core_editor.ts b/src/plugins/console/public/application/models/legacy_core_editor/legacy_core_editor.ts index f8e411fabbb55..7cb07fbd31ea7 100644 --- a/src/plugins/console/public/application/models/legacy_core_editor/legacy_core_editor.ts +++ b/src/plugins/console/public/application/models/legacy_core_editor/legacy_core_editor.ts @@ -500,7 +500,11 @@ export class LegacyCoreEditor implements CoreEditor { addFoldsAtRanges(foldRanges: Range[]) { const session = this.editor.getSession(); foldRanges.forEach((range) => { - session.addFold('...', _AceRange.fromPoints(range.start, range.end)); + try { + session.addFold('...', _AceRange.fromPoints(range.start, range.end)); + } catch (e) { + // ignore the error if a fold fails + } }); } } diff --git a/src/plugins/data_views/common/data_views/data_views.test.ts b/src/plugins/data_views/common/data_views/data_views.test.ts index 01e2b9b1d95f3..e5e9b2d83faf7 100644 --- a/src/plugins/data_views/common/data_views/data_views.test.ts +++ b/src/plugins/data_views/common/data_views/data_views.test.ts @@ -19,10 +19,11 @@ import { IDataViewsApiClient, } from '../types'; import { stubbedSavedObjectIndexPattern } from '../data_view.stub'; +import { DataViewMissingIndices } from '../lib'; const createFieldsFetcher = () => ({ - getFieldsForWildcard: jest.fn(async () => ({ fields: [], indices: [] })), + getFieldsForWildcard: jest.fn(async () => ({ fields: [], indices: ['test'] })), } as any as IDataViewsApiClient); const fieldFormats = fieldFormatsMock; @@ -71,6 +72,7 @@ describe('IndexPatterns', () => { const indexPatternObj = { id: 'id', version: 'a', attributes: { title: 'title' } }; beforeEach(() => { + jest.clearAllMocks(); savedObjectsClient = {} as SavedObjectsClientCommon; savedObjectsClient.find = jest.fn( () => Promise.resolve([indexPatternObj]) as Promise>> @@ -220,6 +222,35 @@ describe('IndexPatterns', () => { expect((await indexPatterns.get(id)).fields.length).toBe(1); }); + test('existing indices, so dataView.matchedIndices.length equals 1 ', async () => { + const id = '1'; + setDocsourcePayload(id, { + id: 'foo', + version: 'foo', + attributes: { + title: 'something', + }, + }); + const dataView = await indexPatterns.get(id); + expect(dataView.matchedIndices.length).toBe(1); + }); + + test('missing indices, so dataView.matchedIndices.length equals 0 ', async () => { + const id = '1'; + setDocsourcePayload(id, { + id: 'foo', + version: 'foo', + attributes: { + title: 'something', + }, + }); + apiClient.getFieldsForWildcard = jest.fn().mockImplementation(async () => { + throw new DataViewMissingIndices('Catch me if you can!'); + }); + const dataView = await indexPatterns.get(id); + expect(dataView.matchedIndices.length).toBe(0); + }); + test('savedObjectCache pre-fetches title, type, typeMeta', async () => { expect(await indexPatterns.getIds()).toEqual(['id']); expect(savedObjectsClient.find).toHaveBeenCalledWith({ diff --git a/src/plugins/data_views/common/data_views/data_views.ts b/src/plugins/data_views/common/data_views/data_views.ts index 13fbb9cec243e..afccfdcee79fc 100644 --- a/src/plugins/data_views/common/data_views/data_views.ts +++ b/src/plugins/data_views/common/data_views/data_views.ts @@ -569,8 +569,8 @@ export class DataViewsService { }; /** - * Refresh field list for a given index pattern. - * @param indexPattern + * Refresh field list for a given data view. + * @param dataView * @param displayErrors - If set false, API consumer is responsible for displaying and handling errors. */ refreshFields = async (dataView: DataView, displayErrors: boolean = true) => { @@ -582,22 +582,19 @@ export class DataViewsService { await this.refreshFieldsFn(dataView); } catch (err) { if (err instanceof DataViewMissingIndices) { - this.onNotification( - { title: err.message, color: 'danger', iconType: 'error' }, - `refreshFields:${dataView.getIndexPattern()}` + // not considered an error, check dataView.matchedIndices.length to be 0 + } else { + this.onError( + err, + { + title: i18n.translate('dataViews.fetchFieldErrorTitle', { + defaultMessage: 'Error fetching fields for data view {title} (ID: {id})', + values: { id: dataView.id, title: dataView.getIndexPattern() }, + }), + }, + dataView.getIndexPattern() ); } - - this.onError( - err, - { - title: i18n.translate('dataViews.fetchFieldErrorTitle', { - defaultMessage: 'Error fetching fields for data view {title} (ID: {id})', - values: { id: dataView.id, title: dataView.getIndexPattern() }, - }), - }, - dataView.getIndexPattern() - ); } }; @@ -635,14 +632,12 @@ export class DataViewsService { return { fields: this.fieldArrayToMap(updatedFieldList, fieldAttrs), indices }; } catch (err) { if (err instanceof DataViewMissingIndices) { - if (displayErrors) { - this.onNotification( - { title: err.message, color: 'danger', iconType: 'error' }, - `refreshFieldSpecMap:${title}` - ); - } + // not considered an error, check dataView.matchedIndices.length to be 0 return {}; } + if (!displayErrors) { + throw err; + } this.onError( err, @@ -798,19 +793,13 @@ export class DataViewsService { const fieldsAndIndices = await this.initFromSavedObjectLoadFields({ savedObjectId: savedObject.id, spec, + displayErrors, }); fields = fieldsAndIndices.fields; indices = fieldsAndIndices.indices; } catch (err) { if (err instanceof DataViewMissingIndices) { - this.onNotification( - { - title: err.message, - color: 'danger', - iconType: 'error', - }, - `initFromSavedObject:${spec.title}` - ); + // not considered an error, check dataView.matchedIndices.length to be 0 } else { this.onError( err, diff --git a/src/plugins/vis_types/vega/public/__snapshots__/vega_visualization.test.js.snap b/src/plugins/vis_types/vega/public/__snapshots__/vega_visualization.test.js.snap index f49b0bb75951f..a81418c79bb0b 100644 --- a/src/plugins/vis_types/vega/public/__snapshots__/vega_visualization.test.js.snap +++ b/src/plugins/vis_types/vega/public/__snapshots__/vega_visualization.test.js.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`VegaVisualizations VegaVisualization - basics should show vega graph (may fail in dev env) 1`] = `"
"`; +exports[`VegaVisualizations VegaVisualization - basics should show vega graph (may fail in dev env) 1`] = `"
"`; exports[`VegaVisualizations VegaVisualization - basics should show vegalite graph and update on resize (may fail in dev env) 1`] = `"
  • \\"width\\" and \\"height\\" params are ignored because \\"autosize\\" is enabled. Set \\"autosize\\": \\"none\\" to disable
"`; -exports[`VegaVisualizations VegaVisualization - basics should show vegalite graph and update on resize (may fail in dev env) 2`] = `"
  • \\"width\\" and \\"height\\" params are ignored because \\"autosize\\" is enabled. Set \\"autosize\\": \\"none\\" to disable
"`; +exports[`VegaVisualizations VegaVisualization - basics should show vegalite graph and update on resize (may fail in dev env) 2`] = `"
  • \\"width\\" and \\"height\\" params are ignored because \\"autosize\\" is enabled. Set \\"autosize\\": \\"none\\" to disable
"`; diff --git a/test/functional/apps/console/_console.ts b/test/functional/apps/console/_console.ts index d7a591efca014..091ad8ee5a2e8 100644 --- a/test/functional/apps/console/_console.ts +++ b/test/functional/apps/console/_console.ts @@ -36,14 +36,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { log.debug('navigateTo console'); await PageObjects.common.navigateToApp('console'); }); + beforeEach(async () => { + await PageObjects.console.closeHelpIfExists(); + }); it('should show the default request', async () => { - // collapse the help pane because we only get the VISIBLE TEXT, not the part that is scrolled - // on IE11, the dialog that says 'Your browser does not meet the security requirements for Kibana.' - // blocks the close help button for several seconds so just retry until we can click it. - await retry.try(async () => { - await PageObjects.console.collapseHelp(); - }); await retry.try(async () => { const actualRequest = await PageObjects.console.getRequest(); log.debug(actualRequest); @@ -182,6 +179,27 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); expect(await PageObjects.console.hasFolds()).to.be(false); }); + + it(`doesn't fail if a fold fails`, async () => { + // for more details, see https://github.com/elastic/kibana/issues/151563 + await browser.clearLocalStorage(); + await browser.setLocalStorageItem( + 'sense:folds', + '[{"start":{"row":1,"column":1},"end":{"row":82,"column":4}}]' + ); + await browser.setLocalStorageItem( + 'sense:console_local_text-object_95a511b6-b6e1-4ea6-9344-428bf5183d88', + '{"id":"95a511b6-b6e1-4ea6-9344-428bf5183d88","createdAt":1677592109975,"updatedAt":1677592148666,"text":"GET _cat/indices"}' + ); + await browser.refresh(); + + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.console.closeHelpIfExists(); + const request = await PageObjects.console.getRequest(); + // the request is restored from the local storage value + expect(request).to.eql('GET _cat/indices'); + await browser.clearLocalStorage(); + }); }); }); } diff --git a/test/functional/apps/context/_discover_navigation.ts b/test/functional/apps/context/_discover_navigation.ts index 9f8e86ad7352e..24da7da392190 100644 --- a/test/functional/apps/context/_discover_navigation.ts +++ b/test/functional/apps/context/_discover_navigation.ts @@ -48,6 +48,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { for (const [columnName, value] of TEST_FILTER_COLUMN_NAMES) { await filterBar.addFilter({ field: columnName, operation: 'is', value }); + await PageObjects.header.waitUntilLoadingHasFinished(); } }); @@ -82,7 +83,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await retry.waitFor('next anchor timestamp matches previous anchor timestamp', async () => { // get the timestamp of the first row const firstContextTimestamp = await getTimestamp(false); - await dataGrid.clickRowToggle({ isAnchorRow: true }); + await dataGrid.clickRowToggle({ rowIndex: 0 }); const rowActions = await dataGrid.getRowActions({ rowIndex: 0 }); await rowActions[1].click(); diff --git a/test/functional/services/filter_bar.ts b/test/functional/services/filter_bar.ts index 7e28176e764e7..656efa1b002f9 100644 --- a/test/functional/services/filter_bar.ts +++ b/test/functional/services/filter_bar.ts @@ -304,6 +304,7 @@ export class FilterBarService extends FtrService { await this.testSubjects.clickWhenNotDisabled('saveFilter'); }); + await this.testSubjects.waitForDeleted('saveFilter'); await this.header.awaitGlobalLoadingIndicatorHidden(); } diff --git a/x-pack/plugins/cases/common/api/cases/comment/files.ts b/x-pack/plugins/cases/common/api/cases/comment/files.ts new file mode 100644 index 0000000000000..58fee11997c74 --- /dev/null +++ b/x-pack/plugins/cases/common/api/cases/comment/files.ts @@ -0,0 +1,23 @@ +/* + * 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 * as rt from 'io-ts'; + +export const FileAttachmentMetadataRt = rt.type({ + files: rt.array( + rt.type({ + name: rt.string, + extension: rt.string, + mimeType: rt.string, + createdAt: rt.string, + }) + ), +}); + +export type FileAttachmentMetadata = rt.TypeOf; + +export const FILE_ATTACHMENT_TYPE = '.files'; diff --git a/x-pack/plugins/cases/common/api/cases/comment.ts b/x-pack/plugins/cases/common/api/cases/comment/index.ts similarity index 98% rename from x-pack/plugins/cases/common/api/cases/comment.ts rename to x-pack/plugins/cases/common/api/cases/comment/index.ts index 2788d1c4022d2..7729673410a71 100644 --- a/x-pack/plugins/cases/common/api/cases/comment.ts +++ b/x-pack/plugins/cases/common/api/cases/comment/index.ts @@ -6,10 +6,12 @@ */ import * as rt from 'io-ts'; -import { jsonValueRt } from '../runtime_types'; -import { SavedObjectFindOptionsRt } from '../saved_object'; +import { jsonValueRt } from '../../runtime_types'; +import { SavedObjectFindOptionsRt } from '../../saved_object'; -import { UserRt } from '../user'; +import { UserRt } from '../../user'; + +export * from './files'; export const CommentAttributesBasicRt = rt.type({ created_at: rt.string, diff --git a/x-pack/plugins/cases/common/constants/files.ts b/x-pack/plugins/cases/common/constants/files.ts index 7cd7109137976..a2cdd00651614 100644 --- a/x-pack/plugins/cases/common/constants/files.ts +++ b/x-pack/plugins/cases/common/constants/files.ts @@ -7,6 +7,7 @@ import type { HttpApiTagOperation, Owner } from './types'; +export const MAX_FILES_PER_CASE = 100; export const MAX_FILE_SIZE = 100 * 1024 * 1024; // 100 MiB export const constructFilesHttpOperationTag = (owner: Owner, operation: HttpApiTagOperation) => { diff --git a/x-pack/plugins/cases/public/components/all_cases/use_actions.tsx b/x-pack/plugins/cases/public/components/all_cases/use_actions.tsx index a06235d144a50..88d94f65f900c 100644 --- a/x-pack/plugins/cases/public/components/all_cases/use_actions.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/use_actions.tsx @@ -186,7 +186,12 @@ const ActionColumnComponent: React.FC<{ theCase: Case; disableActions: boolean } panelPaddingSize="none" anchorPosition="downLeft" > - + {deleteAction.isModalVisible ? ( void; } export interface AttachmentFramework { diff --git a/x-pack/plugins/cases/server/client/attachments/add.ts b/x-pack/plugins/cases/server/client/attachments/add.ts index 102e82df5c4c7..03b228333fcfb 100644 --- a/x-pack/plugins/cases/server/client/attachments/add.ts +++ b/x-pack/plugins/cases/server/client/attachments/add.ts @@ -49,7 +49,7 @@ export const addComment = async ( externalReferenceAttachmentTypeRegistry, } = clientArgs; - decodeCommentRequest(comment); + decodeCommentRequest(comment, externalReferenceAttachmentTypeRegistry); try { const savedObjectID = SavedObjectsUtils.generateId(); diff --git a/x-pack/plugins/cases/server/client/attachments/bulk_create.ts b/x-pack/plugins/cases/server/client/attachments/bulk_create.ts index 555a643a47e88..4087c2f071605 100644 --- a/x-pack/plugins/cases/server/client/attachments/bulk_create.ts +++ b/x-pack/plugins/cases/server/client/attachments/bulk_create.ts @@ -40,12 +40,12 @@ export const bulkCreate = async ( fold(throwErrors(Boom.badRequest), identity) ); + const { logger, authorization, externalReferenceAttachmentTypeRegistry } = clientArgs; + attachments.forEach((attachment) => { - decodeCommentRequest(attachment); + decodeCommentRequest(attachment, externalReferenceAttachmentTypeRegistry); }); - const { logger, authorization } = clientArgs; - try { const [attachmentsWithIds, entities]: [Array<{ id: string } & CommentRequest>, OwnerEntity[]] = attachments.reduce<[Array<{ id: string } & CommentRequest>, OwnerEntity[]]>( diff --git a/x-pack/plugins/cases/server/client/attachments/update.ts b/x-pack/plugins/cases/server/client/attachments/update.ts index f2ed100243b08..692e2f6b15204 100644 --- a/x-pack/plugins/cases/server/client/attachments/update.ts +++ b/x-pack/plugins/cases/server/client/attachments/update.ts @@ -30,6 +30,7 @@ export async function update( services: { attachmentService }, logger, authorization, + externalReferenceAttachmentTypeRegistry, } = clientArgs; try { @@ -39,7 +40,7 @@ export async function update( ...queryRestAttributes } = queryParams; - decodeCommentRequest(queryRestAttributes); + decodeCommentRequest(queryRestAttributes, externalReferenceAttachmentTypeRegistry); const myComment = await attachmentService.getter.get({ attachmentId: queryCommentId, diff --git a/x-pack/plugins/cases/server/client/utils.ts b/x-pack/plugins/cases/server/client/utils.ts index 80924c0df89de..a954dae4bb509 100644 --- a/x-pack/plugins/cases/server/client/utils.ts +++ b/x-pack/plugins/cases/server/client/utils.ts @@ -55,8 +55,12 @@ import { isCommentRequestTypeActions, assertUnreachable, } from '../common/utils'; +import type { ExternalReferenceAttachmentTypeRegistry } from '../attachment_framework/external_reference_registry'; -export const decodeCommentRequest = (comment: CommentRequest) => { +export const decodeCommentRequest = ( + comment: CommentRequest, + externalRefRegistry: ExternalReferenceAttachmentTypeRegistry +) => { if (isCommentRequestTypeUser(comment)) { pipe(excess(ContextTypeUserRt).decode(comment), fold(throwErrors(badRequest), identity)); } else if (isCommentRequestTypeActions(comment)) { @@ -106,7 +110,7 @@ export const decodeCommentRequest = (comment: CommentRequest) => { ); } } else if (isCommentRequestTypeExternalReference(comment)) { - decodeExternalReferenceAttachment(comment); + decodeExternalReferenceAttachment(comment, externalRefRegistry); } else if (isCommentRequestTypePersistableState(comment)) { pipe( excess(PersistableStateAttachmentRt).decode(comment), @@ -122,7 +126,10 @@ export const decodeCommentRequest = (comment: CommentRequest) => { } }; -const decodeExternalReferenceAttachment = (attachment: CommentRequestExternalReferenceType) => { +const decodeExternalReferenceAttachment = ( + attachment: CommentRequestExternalReferenceType, + externalRefRegistry: ExternalReferenceAttachmentTypeRegistry +) => { if (attachment.externalReferenceStorage.type === ExternalReferenceStorageType.savedObject) { pipe(excess(ExternalReferenceSORt).decode(attachment), fold(throwErrors(badRequest), identity)); } else { @@ -131,6 +138,13 @@ const decodeExternalReferenceAttachment = (attachment: CommentRequestExternalRef fold(throwErrors(badRequest), identity) ); } + + const metadata = attachment.externalReferenceMetadata; + if (externalRefRegistry.has(attachment.externalReferenceAttachmentTypeId)) { + const attachmentType = externalRefRegistry.get(attachment.externalReferenceAttachmentTypeId); + + attachmentType.schemaValidator?.(metadata); + } }; /** diff --git a/x-pack/plugins/cases/server/common/limiter_checker/base_limiter.ts b/x-pack/plugins/cases/server/common/limiter_checker/base_limiter.ts new file mode 100644 index 0000000000000..e71970d2d0c1f --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/base_limiter.ts @@ -0,0 +1,65 @@ +/* + * 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 * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { KueryNode } from '@kbn/es-query'; +import { CASE_COMMENT_SAVED_OBJECT } from '../../../common/constants'; +import type { CommentRequest, CommentType } from '../../../common/api'; +import type { AttachmentService } from '../../services'; +import type { Limiter } from './types'; + +interface LimiterParams { + limit: number; + attachmentType: CommentType; + field: string; + attachmentNoun: string; + filter?: KueryNode; +} + +export abstract class BaseLimiter implements Limiter { + public readonly limit: number; + public readonly errorMessage: string; + + private readonly limitAggregation: Record; + private readonly params: LimiterParams; + + constructor(params: LimiterParams) { + this.params = params; + this.limit = params.limit; + this.errorMessage = makeErrorMessage(this.limit, params.attachmentNoun); + + this.limitAggregation = { + limiter: { + value_count: { + field: `${CASE_COMMENT_SAVED_OBJECT}.attributes.${params.field}`, + }, + }, + }; + } + + public async countOfItemsWithinCase( + attachmentService: AttachmentService, + caseId: string + ): Promise { + const itemsAttachedToCase = await attachmentService.executeCaseAggregations<{ + limiter: { value: number }; + }>({ + caseId, + aggregations: this.limitAggregation, + attachmentType: this.params.attachmentType, + filter: this.params.filter, + }); + + return itemsAttachedToCase?.limiter?.value ?? 0; + } + + public abstract countOfItemsInRequest(requests: CommentRequest[]): number; +} + +const makeErrorMessage = (limit: number, noun: string) => { + return `Case has reached the maximum allowed number (${limit}) of attached ${noun}.`; +}; diff --git a/x-pack/plugins/cases/server/common/limiter_checker/index.test.ts b/x-pack/plugins/cases/server/common/limiter_checker/index.test.ts new file mode 100644 index 0000000000000..fce1cfe3ee781 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/index.test.ts @@ -0,0 +1,142 @@ +/* + * 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 { AttachmentLimitChecker } from '.'; +import { createAttachmentServiceMock } from '../../services/mocks'; +import { createAlertRequests, createFileRequests, createUserRequests } from './test_utils'; + +describe('AttachmentLimitChecker', () => { + const mockAttachmentService = createAttachmentServiceMock(); + const checker = new AttachmentLimitChecker(mockAttachmentService, 'id'); + + beforeEach(() => { + jest.clearAllMocks(); + + mockAttachmentService.executeCaseAggregations.mockImplementation(async () => { + return { + limiter: { + value: 5, + }, + }; + }); + }); + + describe('validate', () => { + it('does not throw when called with an empty array', async () => { + expect.assertions(1); + + await expect(checker.validate([])).resolves.not.toThrow(); + }); + + it('does not throw when none of the requests are alerts or files', async () => { + expect.assertions(1); + + await expect(checker.validate(createUserRequests(2))).resolves.not.toThrow(); + }); + + describe('files', () => { + it('throws when the files in a single request are greater than 100', async () => { + expect.assertions(1); + + await expect( + checker.validate(createFileRequests({ numRequests: 1, numFiles: 101 })) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (100) of attached files.]` + ); + }); + + it('throws when there are 101 requests with a single file', async () => { + expect.assertions(1); + + await expect( + checker.validate(createFileRequests({ numRequests: 101, numFiles: 1 })) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (100) of attached files.]` + ); + }); + + it('does not throw when the sum of the file requests and files within the case are only 100', async () => { + expect.assertions(1); + + await expect( + checker.validate(createFileRequests({ numFiles: 1, numRequests: 95 })) + ).resolves.not.toThrow(); + }); + + it('throws when the sum of the file requests and files within the case are 101', async () => { + expect.assertions(1); + + await expect( + checker.validate(createFileRequests({ numFiles: 1, numRequests: 96 })) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (100) of attached files.]` + ); + }); + + it('throws when the sum of the file requests and files within the case are 101 with a single file request', async () => { + expect.assertions(1); + + await expect( + checker.validate(createFileRequests({ numFiles: 96, numRequests: 1 })) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (100) of attached files.]` + ); + }); + }); + + describe('alerts', () => { + it('throws when the alerts in a single request are greater than 1000', async () => { + expect.assertions(1); + + const alertIds = [...Array(1001).keys()].map((key) => `${key}`); + await expect( + checker.validate(createAlertRequests(1, alertIds)) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (1000) of attached alerts.]` + ); + }); + + it('throws when there are 1001 requests with a single alert id', async () => { + expect.assertions(1); + + await expect( + checker.validate(createAlertRequests(1001, 'alertId')) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (1000) of attached alerts.]` + ); + }); + + it('does not throw when the sum of the alert requests and alerts within the case are only 1000', async () => { + expect.assertions(1); + + await expect(checker.validate(createAlertRequests(995, 'alertId'))).resolves.not.toThrow(); + }); + + it('throws when the sum of the alert requests and alerts within the case are 1001', async () => { + expect.assertions(1); + + await expect( + checker.validate(createAlertRequests(996, 'alertId')) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (1000) of attached alerts.]` + ); + }); + + it('throws when the sum of the alert requests and alerts within the case are 1001 with a single request', async () => { + expect.assertions(1); + + const alertIds = [...Array(996).keys()].map((key) => `${key}`); + + await expect( + checker.validate(createAlertRequests(1, alertIds)) + ).rejects.toMatchInlineSnapshot( + `[Error: Case has reached the maximum allowed number (1000) of attached alerts.]` + ); + }); + }); + }); +}); diff --git a/x-pack/plugins/cases/server/common/limiter_checker/index.ts b/x-pack/plugins/cases/server/common/limiter_checker/index.ts new file mode 100644 index 0000000000000..b65a9da69d678 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/index.ts @@ -0,0 +1,51 @@ +/* + * 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 Boom from '@hapi/boom'; + +import type { CommentRequest } from '../../../common/api'; +import type { AttachmentService } from '../../services'; +import type { Limiter } from './types'; +import { AlertLimiter } from './limiters/alerts'; +import { FileLimiter } from './limiters/files'; + +export class AttachmentLimitChecker { + private readonly limiters: Limiter[] = [new AlertLimiter(), new FileLimiter()]; + + constructor( + private readonly attachmentService: AttachmentService, + private readonly caseId: string + ) {} + + public async validate(requests: CommentRequest[]) { + for (const limiter of this.limiters) { + const itemsWithinRequests = limiter.countOfItemsInRequest(requests); + const hasItemsInRequests = itemsWithinRequests > 0; + + const totalAfterRequests = async () => { + const itemsWithinCase = await limiter.countOfItemsWithinCase( + this.attachmentService, + this.caseId + ); + + return itemsWithinRequests + itemsWithinCase; + }; + + /** + * The call to totalAfterRequests is intentionally performed after checking the limit. If the number in the + * requests is greater than the max then we can skip checking how many items exist within the case because it is + * guaranteed to exceed. + */ + if ( + hasItemsInRequests && + (itemsWithinRequests > limiter.limit || (await totalAfterRequests()) > limiter.limit) + ) { + throw Boom.badRequest(limiter.errorMessage); + } + } + } +} diff --git a/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.test.ts b/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.test.ts new file mode 100644 index 0000000000000..1cef61e02197b --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.test.ts @@ -0,0 +1,103 @@ +/* + * 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 { createAttachmentServiceMock } from '../../../services/mocks'; +import { AlertLimiter } from './alerts'; +import { createAlertRequests, createUserRequests } from '../test_utils'; + +describe('AlertLimiter', () => { + const alert = new AlertLimiter(); + + describe('public fields', () => { + it('sets the errorMessage to the 1k limit', () => { + expect(alert.errorMessage).toMatchInlineSnapshot( + `"Case has reached the maximum allowed number (1000) of attached alerts."` + ); + }); + + it('sets the limit to 1k', () => { + expect(alert.limit).toBe(1000); + }); + }); + + describe('countOfItemsInRequest', () => { + it('returns 0 when passed an empty array', () => { + expect(alert.countOfItemsInRequest([])).toBe(0); + }); + + it('returns 0 when the requests are not for alerts', () => { + expect(alert.countOfItemsInRequest(createUserRequests(2))).toBe(0); + }); + + it('returns 2 when there are 2 alert requests', () => { + expect(alert.countOfItemsInRequest(createAlertRequests(2, 'alert-id'))).toBe(2); + }); + + it('returns 2 when there is 1 request with 2 alert ids', () => { + expect(alert.countOfItemsInRequest(createAlertRequests(1, ['alert-id', 'alert-id2']))).toBe( + 2 + ); + }); + + it('returns 3 when there is 1 request with 2 alert ids and 1 request with 1 alert id', () => { + const requestWith2AlertIds = createAlertRequests(1, ['alert-id', 'alert-id2']); + const requestWith1AlertId = createAlertRequests(1, 'alert-id'); + expect(alert.countOfItemsInRequest([...requestWith2AlertIds, ...requestWith1AlertId])).toBe( + 3 + ); + }); + + it('returns 2 when there are 2 requests with an alert id and 1 user comment request', () => { + expect( + alert.countOfItemsInRequest([ + ...createUserRequests(1), + ...createAlertRequests(2, 'alert-id'), + ]) + ).toBe(2); + }); + }); + + describe('countOfItemsWithinCase', () => { + const attachmentService = createAttachmentServiceMock(); + attachmentService.executeCaseAggregations.mockImplementation(async () => { + return { + limiter: { + value: 5, + }, + }; + }); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('calls the aggregation function with the correct arguments', async () => { + await alert.countOfItemsWithinCase(attachmentService, 'id'); + + expect(attachmentService.executeCaseAggregations.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Object { + "aggregations": Object { + "limiter": Object { + "value_count": Object { + "field": "cases-comments.attributes.alertId", + }, + }, + }, + "attachmentType": "alert", + "caseId": "id", + "filter": undefined, + }, + ] + `); + }); + + it('returns 5', async () => { + expect(await alert.countOfItemsWithinCase(attachmentService, 'id')).toBe(5); + }); + }); +}); diff --git a/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.ts b/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.ts new file mode 100644 index 0000000000000..d7d90eb911011 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/limiters/alerts.ts @@ -0,0 +1,34 @@ +/* + * 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 { CommentType } from '../../../../common/api'; +import type { CommentRequest, CommentRequestAlertType } from '../../../../common/api'; +import { MAX_ALERTS_PER_CASE } from '../../../../common/constants'; +import { isCommentRequestTypeAlert } from '../../utils'; +import { BaseLimiter } from '../base_limiter'; + +export class AlertLimiter extends BaseLimiter { + constructor() { + super({ + limit: MAX_ALERTS_PER_CASE, + attachmentType: CommentType.alert, + attachmentNoun: 'alerts', + field: 'alertId', + }); + } + + public countOfItemsInRequest(requests: CommentRequest[]): number { + const totalAlertsInReq = requests + .filter(isCommentRequestTypeAlert) + .reduce((count, attachment) => { + const ids = Array.isArray(attachment.alertId) ? attachment.alertId : [attachment.alertId]; + return count + ids.length; + }, 0); + + return totalAlertsInReq; + } +} diff --git a/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.test.ts b/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.test.ts new file mode 100644 index 0000000000000..e081369fafe17 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.test.ts @@ -0,0 +1,118 @@ +/* + * 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 { createAttachmentServiceMock } from '../../../services/mocks'; +import { FileLimiter } from './files'; +import { createFileRequests, createUserRequests } from '../test_utils'; + +describe('FileLimiter', () => { + const file = new FileLimiter(); + + describe('public fields', () => { + it('sets the errorMessage to the 100 limit', () => { + expect(file.errorMessage).toMatchInlineSnapshot( + `"Case has reached the maximum allowed number (100) of attached files."` + ); + }); + + it('sets the limit to 100', () => { + expect(file.limit).toBe(100); + }); + }); + + describe('countOfItemsInRequest', () => { + it('returns 0 when passed an empty array', () => { + expect(file.countOfItemsInRequest([])).toBe(0); + }); + + it('returns 0 when the requests are not for files', () => { + expect(file.countOfItemsInRequest(createUserRequests(2))).toBe(0); + }); + + it('returns 2 when there are 2 file requests', () => { + expect(file.countOfItemsInRequest(createFileRequests({ numRequests: 2, numFiles: 1 }))).toBe( + 2 + ); + }); + + it('returns 2 when there is 1 request with 2 files', () => { + expect(file.countOfItemsInRequest(createFileRequests({ numRequests: 1, numFiles: 2 }))).toBe( + 2 + ); + }); + + it('returns 3 when there is 1 request with 2 files and 1 request with 1 file', () => { + const requestWith2Files = createFileRequests({ numRequests: 1, numFiles: 2 }); + const requestWith1File = createFileRequests({ numRequests: 1, numFiles: 1 }); + expect(file.countOfItemsInRequest([...requestWith2Files, ...requestWith1File])).toBe(3); + }); + + it('returns 2 when there are 2 requests with a file and 1 user comment request', () => { + expect( + file.countOfItemsInRequest([ + ...createUserRequests(1), + ...createFileRequests({ numRequests: 2, numFiles: 1 }), + ]) + ).toBe(2); + }); + }); + + describe('countOfItemsWithinCase', () => { + const attachmentService = createAttachmentServiceMock(); + attachmentService.executeCaseAggregations.mockImplementation(async () => { + return { + limiter: { + value: 5, + }, + }; + }); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('calls the aggregation function with the correct arguments', async () => { + await file.countOfItemsWithinCase(attachmentService, 'id'); + + expect(attachmentService.executeCaseAggregations.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Object { + "aggregations": Object { + "limiter": Object { + "value_count": Object { + "field": "cases-comments.attributes.externalReferenceAttachmentTypeId", + }, + }, + }, + "attachmentType": "externalReference", + "caseId": "id", + "filter": Object { + "arguments": Array [ + Object { + "isQuoted": false, + "type": "literal", + "value": "cases-comments.attributes.externalReferenceAttachmentTypeId", + }, + Object { + "isQuoted": false, + "type": "literal", + "value": ".files", + }, + ], + "function": "is", + "type": "function", + }, + }, + ] + `); + }); + + it('returns 5', async () => { + expect(await file.countOfItemsWithinCase(attachmentService, 'id')).toBe(5); + }); + }); +}); diff --git a/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.ts b/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.ts new file mode 100644 index 0000000000000..dac2e124b669a --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/limiters/files.ts @@ -0,0 +1,45 @@ +/* + * 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 { buildFilter } from '../../../client/utils'; +import { CommentType, FILE_ATTACHMENT_TYPE } from '../../../../common/api'; +import type { CommentRequest } from '../../../../common/api'; +import { CASE_COMMENT_SAVED_OBJECT, MAX_FILES_PER_CASE } from '../../../../common/constants'; +import { isFileAttachmentRequest } from '../../utils'; +import { BaseLimiter } from '../base_limiter'; + +export class FileLimiter extends BaseLimiter { + constructor() { + super({ + limit: MAX_FILES_PER_CASE, + attachmentType: CommentType.externalReference, + field: 'externalReferenceAttachmentTypeId', + filter: createFileFilter(), + attachmentNoun: 'files', + }); + } + + public countOfItemsInRequest(requests: CommentRequest[]): number { + let fileRequests = 0; + + for (const request of requests) { + if (isFileAttachmentRequest(request)) { + fileRequests += request.externalReferenceMetadata.files.length; + } + } + + return fileRequests; + } +} + +const createFileFilter = () => + buildFilter({ + filters: FILE_ATTACHMENT_TYPE, + field: 'externalReferenceAttachmentTypeId', + operator: 'or', + type: CASE_COMMENT_SAVED_OBJECT, + }); diff --git a/x-pack/plugins/cases/server/common/limiter_checker/test_utils.ts b/x-pack/plugins/cases/server/common/limiter_checker/test_utils.ts new file mode 100644 index 0000000000000..6fa5e0cbbe561 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/test_utils.ts @@ -0,0 +1,83 @@ +/* + * 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 { + CommentType, + ExternalReferenceStorageType, + FILE_ATTACHMENT_TYPE, +} from '../../../common/api'; +import type { + CommentRequestUserType, + CommentRequestAlertType, + FileAttachmentMetadata, +} from '../../../common/api'; +import type { FileAttachmentRequest } from '../types'; + +export const createUserRequests = (num: number): CommentRequestUserType[] => { + const requests = [...Array(num).keys()].map((value) => { + return { + comment: `${value}`, + type: CommentType.user as const, + owner: 'test', + }; + }); + + return requests; +}; + +export const createFileRequests = ({ + numRequests, + numFiles, +}: { + numRequests: number; + numFiles: number; +}): FileAttachmentRequest[] => { + const files: FileAttachmentMetadata['files'] = [...Array(numFiles).keys()].map((value) => { + return { + name: `${value}`, + createdAt: '2023-02-27T20:26:54.345Z', + extension: 'png', + mimeType: 'image/png', + }; + }); + + const requests: FileAttachmentRequest[] = [...Array(numRequests).keys()].map((value) => { + return { + type: CommentType.externalReference as const, + externalReferenceAttachmentTypeId: FILE_ATTACHMENT_TYPE, + externalReferenceId: 'so-id', + externalReferenceMetadata: { files }, + externalReferenceStorage: { + soType: `${value}`, + type: ExternalReferenceStorageType.savedObject, + }, + owner: 'test', + }; + }); + + return requests; +}; + +export const createAlertRequests = ( + numberOfRequests: number, + alertIds: string | string[] +): CommentRequestAlertType[] => { + const requests = [...Array(numberOfRequests).keys()].map((value) => { + return { + type: CommentType.alert as const, + alertId: alertIds, + index: alertIds, + rule: { + id: null, + name: null, + }, + owner: `${value}`, + }; + }); + + return requests; +}; diff --git a/x-pack/plugins/cases/server/common/limiter_checker/types.ts b/x-pack/plugins/cases/server/common/limiter_checker/types.ts new file mode 100644 index 0000000000000..7b7be0c12a5a5 --- /dev/null +++ b/x-pack/plugins/cases/server/common/limiter_checker/types.ts @@ -0,0 +1,16 @@ +/* + * 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 { CommentRequest } from '../../../common/api'; +import type { AttachmentService } from '../../services'; + +export interface Limiter { + readonly limit: number; + readonly errorMessage: string; + countOfItemsWithinCase(attachmentService: AttachmentService, caseId: string): Promise; + countOfItemsInRequest: (requests: CommentRequest[]) => number; +} diff --git a/x-pack/plugins/cases/server/common/models/case_with_comments.ts b/x-pack/plugins/cases/server/common/models/case_with_comments.ts index cba3d461af45d..7ffe35997ee67 100644 --- a/x-pack/plugins/cases/server/common/models/case_with_comments.ts +++ b/x-pack/plugins/cases/server/common/models/case_with_comments.ts @@ -27,14 +27,11 @@ import { ActionTypes, Actions, } from '../../../common/api'; -import { - CASE_SAVED_OBJECT, - MAX_ALERTS_PER_CASE, - MAX_DOCS_PER_PAGE, -} from '../../../common/constants'; +import { CASE_SAVED_OBJECT, MAX_DOCS_PER_PAGE } from '../../../common/constants'; import type { CasesClientArgs } from '../../client'; import type { RefreshSetting } from '../../services/types'; import { createCaseError } from '../error'; +import { AttachmentLimitChecker } from '../limiter_checker'; import type { AlertInfo, CaseSavedObject } from '../types'; import { countAlertsForID, @@ -47,8 +44,6 @@ import { type CaseCommentModelParams = Omit; -const ALERT_LIMIT_MSG = `Case has reached the maximum allowed number (${MAX_ALERTS_PER_CASE}) of attached alerts.`; - /** * This class represents a case that can have a comment attached to it. */ @@ -92,6 +87,13 @@ export class CaseCommentModel { const { id, version, ...queryRestAttributes } = updateRequest; const options: SavedObjectsUpdateOptions = { version, + /** + * This is to handle a scenario where an update occurs for an attachment framework style comment. + * The code that extracts the reference information from the attributes doesn't know about the reference to the case + * and therefore will accidentally remove that reference and we'll lose the connection between the comment and the + * case. + */ + references: [...this.buildRefsToCase()], refresh: false, }; @@ -105,6 +107,11 @@ export class CaseCommentModel { queryRestAttributes.comment, currentComment ); + + /** + * The call to getOrUpdateLensReferences already handles retrieving the reference to the case and ensuring that is + * also included here so it's ok to overwrite what was set before. + */ options.references = updatedReferences; } @@ -239,16 +246,9 @@ export class CaseCommentModel { } private async validateCreateCommentRequest(req: CommentRequest[]) { - const totalAlertsInReq = req - .filter(isCommentRequestTypeAlert) - .reduce((count, attachment) => { - const ids = Array.isArray(attachment.alertId) ? attachment.alertId : [attachment.alertId]; - return count + ids.length; - }, 0); - - const reqHasAlerts = totalAlertsInReq > 0; + const hasAlertsInRequest = req.some((request) => isCommentRequestTypeAlert(request)); - if (reqHasAlerts && this.caseInfo.attributes.status === CaseStatuses.closed) { + if (hasAlertsInRequest && this.caseInfo.attributes.status === CaseStatuses.closed) { throw Boom.badRequest('Alert cannot be attached to a closed case'); } @@ -256,30 +256,12 @@ export class CaseCommentModel { throw Boom.badRequest('The owner field of the comment must match the case'); } - if (reqHasAlerts) { - /** - * This check is for optimization reasons. - * It saves one aggregation if the total number - * of alerts of the request is already greater than - * MAX_ALERTS_PER_CASE - */ - if (totalAlertsInReq > MAX_ALERTS_PER_CASE) { - throw Boom.badRequest(ALERT_LIMIT_MSG); - } - - await this.validateAlertsLimitOnCase(totalAlertsInReq); - } - } - - private async validateAlertsLimitOnCase(totalAlertsInReq: number) { - const alertsValueCount = - await this.params.services.attachmentService.valueCountAlertsAttachedToCase({ - caseId: this.caseInfo.id, - }); + const limitChecker = new AttachmentLimitChecker( + this.params.services.attachmentService, + this.caseInfo.id + ); - if (alertsValueCount + totalAlertsInReq > MAX_ALERTS_PER_CASE) { - throw Boom.badRequest(ALERT_LIMIT_MSG); - } + await limitChecker.validate(req); } private buildRefsToCase(): SavedObjectReference[] { diff --git a/x-pack/plugins/cases/server/common/types.ts b/x-pack/plugins/cases/server/common/types.ts index 6a9eaed578a8f..8b43cc77480c5 100644 --- a/x-pack/plugins/cases/server/common/types.ts +++ b/x-pack/plugins/cases/server/common/types.ts @@ -7,7 +7,12 @@ import type { SavedObject } from '@kbn/core-saved-objects-server'; import type { KueryNode } from '@kbn/es-query'; -import type { CaseAttributes, SavedObjectFindOptions } from '../../common/api'; +import type { + CaseAttributes, + CommentRequestExternalReferenceSOType, + FileAttachmentMetadata, + SavedObjectFindOptions, +} from '../../common/api'; /** * This structure holds the alert ID and index from an alert comment @@ -22,3 +27,10 @@ export type SavedObjectFindOptionsKueryNode = Omit; + +export type FileAttachmentRequest = Omit< + CommentRequestExternalReferenceSOType, + 'externalReferenceMetadata' +> & { + externalReferenceMetadata: FileAttachmentMetadata; +}; diff --git a/x-pack/plugins/cases/server/common/utils.ts b/x-pack/plugins/cases/server/common/utils.ts index 2e8b0299ba5c5..8949e01aceca7 100644 --- a/x-pack/plugins/cases/server/common/utils.ts +++ b/x-pack/plugins/cases/server/common/utils.ts @@ -24,7 +24,7 @@ import { OWNER_INFO, } from '../../common/constants'; import type { CASE_VIEW_PAGE_TABS } from '../../common/types'; -import type { AlertInfo, CaseSavedObject } from './types'; +import type { AlertInfo, CaseSavedObject, FileAttachmentRequest } from './types'; import type { CaseAttributes, @@ -47,6 +47,8 @@ import { CommentType, ConnectorTypes, ExternalReferenceStorageType, + ExternalReferenceSORt, + FileAttachmentMetadataRt, } from '../../common/api'; import type { UpdateAlertStatusRequest } from '../client/alerts/types'; import { @@ -264,6 +266,18 @@ export const isCommentRequestTypeExternalReferenceSO = ( ); }; +/** + * A type narrowing function for file attachments. + */ +export const isFileAttachmentRequest = ( + context: Partial +): context is FileAttachmentRequest => { + return ( + ExternalReferenceSORt.is(context) && + FileAttachmentMetadataRt.is(context.externalReferenceMetadata) + ); +}; + /** * Adds the ids and indices to a map of statuses */ diff --git a/x-pack/plugins/cases/server/internal_attachments/index.ts b/x-pack/plugins/cases/server/internal_attachments/index.ts new file mode 100644 index 0000000000000..975e8fbad99f9 --- /dev/null +++ b/x-pack/plugins/cases/server/internal_attachments/index.ts @@ -0,0 +1,28 @@ +/* + * 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 { badRequest } from '@hapi/boom'; +import { fold } from 'fp-ts/lib/Either'; +import { identity } from 'fp-ts/lib/function'; +import { pipe } from 'fp-ts/lib/pipeable'; +import { + excess, + FileAttachmentMetadataRt, + FILE_ATTACHMENT_TYPE, + throwErrors, +} from '../../common/api'; +import type { ExternalReferenceAttachmentTypeRegistry } from '../attachment_framework/external_reference_registry'; + +export const registerInternalAttachments = ( + externalRefRegistry: ExternalReferenceAttachmentTypeRegistry +) => { + externalRefRegistry.register({ id: FILE_ATTACHMENT_TYPE, schemaValidator }); +}; + +const schemaValidator = (data: unknown): void => { + pipe(excess(FileAttachmentMetadataRt).decode(data), fold(throwErrors(badRequest), identity)); +}; diff --git a/x-pack/plugins/cases/server/plugin.ts b/x-pack/plugins/cases/server/plugin.ts index 8d2036921d84b..4f98d8604cefc 100644 --- a/x-pack/plugins/cases/server/plugin.ts +++ b/x-pack/plugins/cases/server/plugin.ts @@ -57,6 +57,7 @@ import { PersistableStateAttachmentTypeRegistry } from './attachment_framework/p import { ExternalReferenceAttachmentTypeRegistry } from './attachment_framework/external_reference_registry'; import { UserProfileService } from './services'; import { LICENSING_CASE_ASSIGNMENT_FEATURE } from './common/constants'; +import { registerInternalAttachments } from './internal_attachments'; import { registerCaseFileKinds } from './files'; export interface PluginsSetup { @@ -107,6 +108,7 @@ export class CasePlugin { )}] and plugins [${Object.keys(plugins)}]` ); + registerInternalAttachments(this.externalReferenceAttachmentTypeRegistry); registerCaseFileKinds(plugins.files); this.securityPluginSetup = plugins.security; diff --git a/x-pack/plugins/cases/server/services/attachments/index.ts b/x-pack/plugins/cases/server/services/attachments/index.ts index b0192e8b1b8ee..865a28d763e6c 100644 --- a/x-pack/plugins/cases/server/services/attachments/index.ts +++ b/x-pack/plugins/cases/server/services/attachments/index.ts @@ -94,7 +94,7 @@ export class AttachmentService { const res = await this.executeCaseAggregations<{ alerts: { value: number } }>({ ...params, attachmentType: CommentType.alert, - aggregations: this.buildAlertsAggs('cardinality'), + aggregations: this.buildAlertsAggs(), }); return res?.alerts?.value; @@ -104,34 +104,16 @@ export class AttachmentService { } } - private buildAlertsAggs(agg: string): Record { + private buildAlertsAggs(): Record { return { alerts: { - [agg]: { + cardinality: { field: `${CASE_COMMENT_SAVED_OBJECT}.attributes.alertId`, }, }, }; } - public async valueCountAlertsAttachedToCase(params: AlertsAttachedToCaseArgs): Promise { - try { - this.context.log.debug(`Attempting to value count alerts for case id ${params.caseId}`); - const res = await this.executeCaseAggregations<{ alerts: { value: number } }>({ - ...params, - attachmentType: CommentType.alert, - aggregations: this.buildAlertsAggs('value_count'), - }); - - return res?.alerts?.value ?? 0; - } catch (error) { - this.context.log.error( - `Error while value counting alerts for case id ${params.caseId}: ${error}` - ); - throw error; - } - } - /** * Executes the aggregations against a type of attachment attached to a case. */ diff --git a/x-pack/plugins/cases/server/services/mocks.ts b/x-pack/plugins/cases/server/services/mocks.ts index 59fdc9565fdd6..380e10745b903 100644 --- a/x-pack/plugins/cases/server/services/mocks.ts +++ b/x-pack/plugins/cases/server/services/mocks.ts @@ -170,7 +170,6 @@ export const createAttachmentServiceMock = (): AttachmentServiceMock => { find: jest.fn(), countAlertsAttachedToCase: jest.fn(), executeCaseActionsAggregations: jest.fn(), - valueCountAlertsAttachedToCase: jest.fn(), executeCaseAggregations: jest.fn(), }; diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts index 86e0a4ec1d054..2daa273185357 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/utils.ts @@ -16,6 +16,7 @@ import { CLOUDBEAT_VANILLA, CLOUDBEAT_GCP, CLOUDBEAT_AZURE, + CLOUDBEAT_VULN_MGMT_AWS, SUPPORTED_POLICY_TEMPLATES, SUPPORTED_CLOUDBEAT_INPUTS, } from '../../../common/constants'; @@ -52,6 +53,8 @@ const getPostureType = (policyTemplateInput: PostureInput) => { case CLOUDBEAT_VANILLA: case CLOUDBEAT_EKS: return 'kspm'; + case CLOUDBEAT_VULN_MGMT_AWS: + return 'vuln_mgmt'; default: return 'n/a'; } @@ -60,6 +63,7 @@ const getPostureType = (policyTemplateInput: PostureInput) => { const getDeploymentType = (policyTemplateInput: PostureInput) => { switch (policyTemplateInput) { case CLOUDBEAT_AWS: + case CLOUDBEAT_VULN_MGMT_AWS: return 'aws'; case CLOUDBEAT_AZURE: return 'azure'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx index f31fb2dd911a7..0d92ce8609807 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/engine_search_preview.tsx @@ -47,6 +47,7 @@ import { ResultView, ResultsPerPageView, ResultsView, + Sorting, } from './search_ui_components'; class InternalEngineTransporter implements Transporter { @@ -85,7 +86,7 @@ export const EngineSearchPreview: React.FC = () => { const [showAPICallFlyout, setShowAPICallFlyout] = useState(false); const [lastAPICall, setLastAPICall] = useState(null); const { engineName, isLoadingEngine } = useValues(EngineViewLogic); - const { resultFields, searchableFields } = useValues(EngineSearchPreviewLogic); + const { resultFields, searchableFields, sortableFields } = useValues(EngineSearchPreviewLogic); const { engineData } = useValues(EngineIndicesLogic); const config: SearchDriverOptions = useMemo(() => { @@ -141,6 +142,8 @@ export const EngineSearchPreview: React.FC = () => { + + ; searchableFields: Record; + sortableFields: string[]; } export const EngineSearchPreviewLogic = kea< @@ -86,5 +87,21 @@ export const EngineSearchPreviewLogic = kea< return searchableFields; }, ], + sortableFields: [ + () => [selectors.engineFieldCapabilitiesData], + (data: EngineSearchPreviewValues['engineFieldCapabilitiesData']) => { + if (!data) return []; + + return Object.entries(data.field_capabilities.fields) + .filter(([, mappings]) => + Object.entries(mappings).some( + ([, { metadata_field: isMeta, aggregatable }]) => + // Aggregatable are also _sortable_ + aggregatable && !isMeta + ) + ) + .map(([field]) => field); + }, + ], }), }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx index c685cf5898e3d..3ba57405ffe93 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_search_preview/search_ui_components.tsx @@ -14,16 +14,19 @@ import { EuiBasicTable, EuiBasicTableColumn, EuiButton, + EuiComboBox, EuiFieldSearch, EuiFlexGroup, EuiFlexItem, EuiIcon, EuiPanel, EuiSelect, + EuiSpacer, EuiText, EuiTextColor, EuiTitle, } from '@elastic/eui'; +import { withSearch } from '@elastic/react-search-ui'; import type { InputViewProps, PagingInfoViewProps, @@ -31,6 +34,7 @@ import type { ResultsPerPageViewProps, ResultsViewProps, } from '@elastic/react-search-ui-views'; +import type { SearchContextState } from '@elastic/search-ui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage, FormattedHTMLMessage } from '@kbn/i18n-react'; @@ -224,3 +228,85 @@ export const ResultsPerPageView: React.FC = ({ ); + +export const Sorting = withSearch< + { sortableFields: string[] }, + Pick +>(({ setSort, sortList }) => ({ setSort, sortList }))(({ sortableFields, sortList, setSort }) => { + const [{ direction, field }] = !sortList?.length ? [{ direction: '', field: '' }] : sortList; + const relevance = i18n.translate( + 'xpack.enterpriseSearch.content.engine.searchPreivew.sortingView.relevanceLabel', + { defaultMessage: 'Relevance' } + ); + + return ( + + + + + + ({ label: f, value: f })), + ]} + selectedOptions={[{ label: !!field ? field : relevance, value: field }]} + onChange={([{ value }]) => + setSort(value === '' ? [] : [{ direction: 'asc', field: value }], 'asc') + } + /> + + {field !== '' && ( + <> + + + + + + { + switch (evt.target.value) { + case 'asc': + return setSort([{ direction: 'asc', field }], 'asc'); + case 'desc': + return setSort([{ direction: 'desc', field }], 'desc'); + } + }} + value={direction} + options={[ + { + text: i18n.translate( + 'xpack.enterpriseSearch.content.engine.searchPreview.sortingView.ascLabel', + { defaultMessage: 'Ascending' } + ), + value: 'asc', + }, + { + text: i18n.translate( + 'xpack.enterpriseSearch.content.engine.searchPreview.sortingView.descLabel', + { defaultMessage: 'Descending' } + ), + value: 'desc', + }, + ]} + /> + + + )} + + ); +}); diff --git a/x-pack/plugins/fleet/common/experimental_features.ts b/x-pack/plugins/fleet/common/experimental_features.ts index b8861bfbb1caa..aae45e12c1ddd 100644 --- a/x-pack/plugins/fleet/common/experimental_features.ts +++ b/x-pack/plugins/fleet/common/experimental_features.ts @@ -22,6 +22,7 @@ export const allowedExperimentalValues = Object.freeze({ agentFqdnMode: false, showExperimentalShipperOptions: false, fleetServerStandalone: false, + agentTamperProtectionEnabled: false, }); type ExperimentalConfigKeys = Array; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts index 3363a307061f2..f0506433f514c 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts @@ -13,7 +13,6 @@ export const ALERT_STATUS_ALL = 'all'; export const ALL_ALERTS: AlertStatusFilter = { status: ALERT_STATUS_ALL, - query: '', label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.showAll', { defaultMessage: 'Show all', }), @@ -21,7 +20,13 @@ export const ALL_ALERTS: AlertStatusFilter = { export const ACTIVE_ALERTS: AlertStatusFilter = { status: ALERT_STATUS_ACTIVE, - query: `${ALERT_STATUS}: "${ALERT_STATUS_ACTIVE}"`, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_ACTIVE, + }, + }, + }, label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active', { defaultMessage: 'Active', }), @@ -29,7 +34,13 @@ export const ACTIVE_ALERTS: AlertStatusFilter = { export const RECOVERED_ALERTS: AlertStatusFilter = { status: ALERT_STATUS_RECOVERED, - query: `${ALERT_STATUS}: "${ALERT_STATUS_RECOVERED}"`, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_RECOVERED, + }, + }, + }, label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered', { defaultMessage: 'Recovered', }), diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts index 11dde6d4b666b..134991122f1c2 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts @@ -8,11 +8,11 @@ import { useCallback, useMemo, useState } from 'react'; import createContainer from 'constate'; import { getTime } from '@kbn/data-plugin/common'; import { TIMESTAMP } from '@kbn/rule-data-utils'; -import { BoolQuery, buildEsQuery, Filter, Query } from '@kbn/es-query'; +import { BoolQuery, buildEsQuery, Filter } from '@kbn/es-query'; import { SnapshotNode } from '../../../../../common/http_api'; import { useUnifiedSearchContext } from './use_unified_search'; import { HostsState } from './use_unified_search_url_state'; -import { useHostsView } from './use_hosts_view'; +import { useHostsViewContext } from './use_hosts_view'; import { AlertStatus } from '../types'; import { ALERT_STATUS_QUERY } from '../constants'; @@ -21,7 +21,7 @@ export interface AlertsEsQuery { } export const useAlertsQueryImpl = () => { - const { hostNodes } = useHostsView(); + const { hostNodes } = useHostsViewContext(); const { unifiedSearchDateRange } = useUnifiedSearchContext(); @@ -65,22 +65,21 @@ const createAlertsEsQuery = ({ hostNodes: SnapshotNode[]; status?: AlertStatus; }): AlertsEsQuery => { - const alertStatusQuery = createAlertStatusQuery(status); + const alertStatusFilter = createAlertStatusFilter(status); const dateFilter = createDateFilter(dateRange); const hostsFilter = createHostsFilter(hostNodes); - const queries = alertStatusQuery ? [alertStatusQuery] : []; - const filters = [hostsFilter, dateFilter].filter(Boolean) as Filter[]; + const filters = [alertStatusFilter, dateFilter, hostsFilter].filter(Boolean) as Filter[]; - return buildEsQuery(undefined, queries, filters); + return buildEsQuery(undefined, [], filters); }; const createDateFilter = (date: HostsState['dateRange']) => getTime(undefined, date, { fieldName: TIMESTAMP }); -const createAlertStatusQuery = (status: AlertStatus = 'all'): Query | null => - ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], language: 'kuery' } : null; +const createAlertStatusFilter = (status: AlertStatus = 'all'): Filter | null => + ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], meta: {} } : null; const createHostsFilter = (hosts: SnapshotNode[]): Filter => ({ query: { diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_unified_search_url_state.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_unified_search_url_state.ts index 41e476dbf12c5..2c7eb84dd43bf 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_unified_search_url_state.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_unified_search_url_state.ts @@ -79,7 +79,8 @@ export const useHostsUrlState = () => { const getDateRangeAsTimestamp = useCallback(() => { const from = DateMath.parse(state.dateRange.from)?.valueOf() ?? getDefaultFromTimestamp(); - const to = DateMath.parse(state.dateRange.to)?.valueOf() ?? getDefaultToTimestamp(); + const to = + DateMath.parse(state.dateRange.to, { roundUp: true })?.valueOf() ?? getDefaultToTimestamp(); return { from, to }; }, [state.dateRange]); diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts index b6b1407a0f5b6..6b948fb0da6c9 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { Filter } from '@kbn/es-query'; import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; import { ALERT_STATUS_ALL } from './constants'; @@ -15,6 +16,6 @@ export type AlertStatus = export interface AlertStatusFilter { status: AlertStatus; - query: string; + query?: Filter['query']; label: string; } diff --git a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx index 669bbae2e3167..f2b820fe71769 100644 --- a/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx +++ b/x-pack/plugins/lists/public/exceptions/components/builder/entry_renderer.test.tsx @@ -227,7 +227,7 @@ describe('BuilderEntryItem', () => { ); expect(wrapper.find('.euiFormHelpText.euiFormRow__text').text()).toMatch( - /This field is defined as several types across different indices./ + /This field is defined as different types across the following indices or is unmapped. This can cause unexpected query results./ ); }); diff --git a/x-pack/plugins/lists/public/exceptions/components/builder/translations.ts b/x-pack/plugins/lists/public/exceptions/components/builder/translations.ts index c394a9daf674c..f4f90d2366ed5 100644 --- a/x-pack/plugins/lists/public/exceptions/components/builder/translations.ts +++ b/x-pack/plugins/lists/public/exceptions/components/builder/translations.ts @@ -87,7 +87,8 @@ export const CUSTOM_COMBOBOX_OPTION_TEXT = i18n.translate( export const FIELD_CONFLICT_INDICES_WARNING_DESCRIPTION = i18n.translate( 'xpack.lists.exceptions.field.mappingConflict.description', { - defaultMessage: 'This field is defined as several types across different indices.', + defaultMessage: + 'This field is defined as different types across the following indices or is unmapped. This can cause unexpected query results.', } ); diff --git a/x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts b/x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts index f031b9d1e2882..d6272626618ec 100644 --- a/x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts +++ b/x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts @@ -43,7 +43,6 @@ export const createEndpointListItemRoute = (router: ListsPluginRouter): void => comments, description, entries, - expire_time: expireTime, item_id: itemId, os_types: osTypes, type, @@ -63,7 +62,6 @@ export const createEndpointListItemRoute = (router: ListsPluginRouter): void => comments, description, entries, - expireTime, itemId, meta, name, diff --git a/x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts b/x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts index a0a2c8f43f83f..e1e117f6c5604 100644 --- a/x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts +++ b/x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts @@ -49,7 +49,6 @@ export const updateEndpointListItemRoute = (router: ListsPluginRouter): void => entries, item_id: itemId, tags, - expire_time: expireTime, } = request.body; const exceptionLists = await getExceptionListClient(context); const exceptionListItem = await exceptionLists.updateEndpointListItem({ @@ -57,7 +56,6 @@ export const updateEndpointListItemRoute = (router: ListsPluginRouter): void => comments, description, entries, - expireTime, id, itemId, meta, diff --git a/x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts b/x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts index e4751662a1949..00ecb1a8e32a0 100644 --- a/x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts +++ b/x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts @@ -65,7 +65,7 @@ export const updateExceptionListItemRoute = (router: ListsPluginRouter): void => }); } else { const exceptionLists = await getExceptionListClient(context); - const exceptionListItem = await exceptionLists.updateExceptionListItem({ + const exceptionListItem = await exceptionLists.updateOverwriteExceptionListItem({ _version, comments, description, diff --git a/x-pack/plugins/lists/server/services/exception_lists/duplicate_exception_list.ts b/x-pack/plugins/lists/server/services/exception_lists/duplicate_exception_list.ts index 0395c36494d7d..4d4c8a07b455e 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/duplicate_exception_list.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/duplicate_exception_list.ts @@ -83,6 +83,7 @@ export const duplicateExceptionListAndItems = async ({ comments: [], description: item.description, entries: item.entries, + expire_time: item.expire_time, item_id: newItemId, list_id: newlyCreatedList.list_id, meta: item.meta, diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts index b8fbb35f29354..db9c62ae5b377 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts @@ -97,6 +97,7 @@ import { findExceptionListsItemPointInTimeFinder } from './find_exception_list_i import { findValueListExceptionListItemsPointInTimeFinder } from './find_value_list_exception_list_items_point_in_time_finder'; import { findExceptionListItemPointInTimeFinder } from './find_exception_list_item_point_in_time_finder'; import { duplicateExceptionListAndItems } from './duplicate_exception_list'; +import { updateOverwriteExceptionListItem } from './update_overwrite_exception_list_item'; /** * Class for use for exceptions that are with trusted applications or @@ -287,7 +288,6 @@ export class ExceptionListClient { comments, description, entries, - expireTime, itemId, meta, name, @@ -301,7 +301,7 @@ export class ExceptionListClient { comments, description, entries, - expireTime, + expireTime: undefined, // Not currently used with endpoint exceptions itemId, listId: ENDPOINT_LIST_ID, meta, @@ -358,7 +358,6 @@ export class ExceptionListClient { comments, description, entries, - expireTime, id, itemId, meta, @@ -374,7 +373,7 @@ export class ExceptionListClient { comments, description, entries, - expireTime, + expireTime: undefined, // Not currently used with endpoint exceptions id, itemId, meta, @@ -579,6 +578,11 @@ export class ExceptionListClient { /** * Update an existing exception list item + * + * NOTE: This method will PATCH the targeted exception list item, not fully overwrite it. + * Any undefined fields passed in will not be changed in the existing record. To unset any + * fields use the `updateOverwriteExceptionListItem` method + * * @param options * @param options._version document version * @param options.comments user comments attached to item @@ -647,6 +651,81 @@ export class ExceptionListClient { }); }; + /** + * Update an existing exception list item using the overwrite method in order to behave + * more like a PUT request rather than a PATCH request. + * + * This was done in order to correctly unset types via update which cannot be accomplished + * using the regular `updateExceptionItem` method. All other results of the methods are identical + * + * @param options + * @param options._version document version + * @param options.comments user comments attached to item + * @param options.entries item exception entries logic + * @param options.id the "id" of the exception list item + * @param options.description a description of the exception list + * @param options.itemId the "item_id" of the exception list item + * @param options.meta Optional meta data about the exception list item + * @param options.name the "name" of the exception list + * @param options.namespaceType saved object namespace (single | agnostic) + * @param options.osTypes item os types to apply + * @param options.tags user assigned tags of exception list + * @param options.type container type + * @returns the updated exception list item or null if none exists + */ + public updateOverwriteExceptionListItem = async ({ + _version, + comments, + description, + entries, + expireTime, + id, + itemId, + meta, + name, + namespaceType, + osTypes, + tags, + type, + }: UpdateExceptionListItemOptions): Promise => { + const { savedObjectsClient, user } = this; + let updatedItem: UpdateExceptionListItemOptions = { + _version, + comments, + description, + entries, + expireTime, + id, + itemId, + meta, + name, + namespaceType, + osTypes, + tags, + type, + }; + + if (this.enableServerExtensionPoints) { + updatedItem = await this.serverExtensionsClient.pipeRun( + 'exceptionsListPreUpdateItem', + updatedItem, + this.getServerExtensionCallbackContext(), + (data) => { + return validateData( + updateExceptionListItemSchema, + transformUpdateExceptionListItemOptionsToUpdateExceptionListItemSchema(data) + ); + } + ); + } + + return updateOverwriteExceptionListItem({ + ...updatedItem, + savedObjectsClient, + user, + }); + }; + /** * Delete an exception list item by either id or item_id * @param options diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts index b994919398a1c..b93de1413e4db 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts @@ -274,8 +274,6 @@ export interface CreateEndpointListItemOptions { comments: CreateCommentsArray; /** The entries of the endpoint list item */ entries: EntriesArray; - /** an optional datetime string with an expiration time */ - expireTime: ExpireTimeOrUndefined; /** The item id of the list item */ itemId: ItemId; /** The name of the list item */ @@ -347,8 +345,6 @@ export interface UpdateEndpointListItemOptions { comments: UpdateCommentsArray; /** The entries of the endpoint list item */ entries: EntriesArray; - /** an optional datetime string with an expiration time */ - expireTime: ExpireTimeOrUndefined; /** The id of the list item (Either this or itemId has to be defined) */ id: IdOrUndefined; /** The item id of the list item (Either this or id has to be defined) */ diff --git a/x-pack/plugins/lists/server/services/exception_lists/update_exception_list_item.ts b/x-pack/plugins/lists/server/services/exception_lists/update_exception_list_item.ts index e3fcb9d2461e4..4a680c7d2fb06 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/update_exception_list_item.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/update_exception_list_item.ts @@ -32,7 +32,7 @@ import { } from './utils'; import { getExceptionListItem } from './get_exception_list_item'; -interface UpdateExceptionListItemOptions { +export interface UpdateExceptionListItemOptions { id: IdOrUndefined; comments: UpdateCommentsArrayOrUndefined; _version: _VersionOrUndefined; diff --git a/x-pack/plugins/lists/server/services/exception_lists/update_overwrite_exception_list_item.ts b/x-pack/plugins/lists/server/services/exception_lists/update_overwrite_exception_list_item.ts new file mode 100644 index 0000000000000..ef1d470bf67a0 --- /dev/null +++ b/x-pack/plugins/lists/server/services/exception_lists/update_overwrite_exception_list_item.ts @@ -0,0 +1,85 @@ +/* + * 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 { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { getSavedObjectType } from '@kbn/securitysolution-list-utils'; + +import { ExceptionListSoSchema } from '../../schemas/saved_objects'; + +import { + transformSavedObjectUpdateToExceptionListItem, + transformUpdateCommentsToComments, +} from './utils'; +import { getExceptionListItem } from './get_exception_list_item'; +import { UpdateExceptionListItemOptions } from './update_exception_list_item'; + +export const updateOverwriteExceptionListItem = async ({ + _version, + comments, + entries, + expireTime, + id, + savedObjectsClient, + namespaceType, + name, + osTypes, + description, + itemId, + meta, + user, + tags, + type, +}: UpdateExceptionListItemOptions): Promise => { + const savedObjectType = getSavedObjectType({ namespaceType }); + const exceptionListItem = await getExceptionListItem({ + id, + itemId, + namespaceType, + savedObjectsClient, + }); + if (exceptionListItem == null) { + return null; + } else { + const transformedComments = transformUpdateCommentsToComments({ + comments, + existingComments: exceptionListItem.comments, + user, + }); + const savedObject = await savedObjectsClient.create( + savedObjectType, + { + comments: transformedComments, + created_at: exceptionListItem.created_at, + created_by: exceptionListItem.created_by, + description: description ?? exceptionListItem.description, + entries, + expire_time: expireTime, + immutable: undefined, + item_id: itemId, + list_id: exceptionListItem.list_id, + list_type: 'item', + meta, + name: name ?? exceptionListItem.name, + os_types: osTypes, + tags: tags ?? exceptionListItem.tags, + tie_breaker_id: exceptionListItem.tie_breaker_id, + type: type ?? exceptionListItem.type, + updated_by: user, + version: exceptionListItem._version ? parseInt(exceptionListItem._version, 10) : undefined, + }, + { + id, + overwrite: true, + version: _version, + } + ); + return transformSavedObjectUpdateToExceptionListItem({ + exceptionListItem, + savedObject, + }); + } +}; diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/index.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/index.ts index 8af2bfcfa7175..362d7e94072c1 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/index.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/index.ts @@ -228,7 +228,7 @@ export const transformSavedObjectUpdateToExceptionListItem = ({ created_by: exceptionListItem.created_by, description: description ?? exceptionListItem.description, entries: entries ?? exceptionListItem.entries, - expire_time: expireTime ?? exceptionListItem.expire_time, + expire_time: expireTime, id, item_id: exceptionListItem.item_id, list_id: exceptionListItem.list_id, diff --git a/x-pack/plugins/observability/e2e/journeys/exploratory_view.ts b/x-pack/plugins/observability/e2e/journeys/exploratory_view.ts index 9cb4da16765a3..877c13e93c373 100644 --- a/x-pack/plugins/observability/e2e/journeys/exploratory_view.ts +++ b/x-pack/plugins/observability/e2e/journeys/exploratory_view.ts @@ -42,7 +42,6 @@ journey('Exploratory view', async ({ page, params }) => { await loginToKibana({ page, user: { username: 'elastic', password: 'changeme' }, - dismissTour: false, }); }); diff --git a/x-pack/plugins/observability/e2e/journeys/single_metric.journey.ts b/x-pack/plugins/observability/e2e/journeys/single_metric.journey.ts index 37802127f402f..6fcdb71ccffa2 100644 --- a/x-pack/plugins/observability/e2e/journeys/single_metric.journey.ts +++ b/x-pack/plugins/observability/e2e/journeys/single_metric.journey.ts @@ -45,7 +45,6 @@ journey('SingleMetric', async ({ page, params }) => { await loginToKibana({ page, user: { username: 'elastic', password: 'changeme' }, - dismissTour: false, }); }); diff --git a/x-pack/plugins/observability/e2e/journeys/step_duration.journey.ts b/x-pack/plugins/observability/e2e/journeys/step_duration.journey.ts index 13cde8e940e13..5bd6d4c1222b1 100644 --- a/x-pack/plugins/observability/e2e/journeys/step_duration.journey.ts +++ b/x-pack/plugins/observability/e2e/journeys/step_duration.journey.ts @@ -51,7 +51,6 @@ journey('Exploratory view', async ({ page, params }) => { await loginToKibana({ page, user: { username: 'elastic', password: 'changeme' }, - dismissTour: false, }); }); diff --git a/x-pack/plugins/observability/e2e/utils.ts b/x-pack/plugins/observability/e2e/utils.ts index 0b570dc5cc5ac..f340ef8b78b3a 100644 --- a/x-pack/plugins/observability/e2e/utils.ts +++ b/x-pack/plugins/observability/e2e/utils.ts @@ -17,11 +17,9 @@ export async function waitForLoadingToFinish({ page }: { page: Page }) { export async function loginToKibana({ page, user, - dismissTour = true, }: { page: Page; user?: { username: string; password: string }; - dismissTour?: boolean; }) { await page.fill('[data-test-subj=loginUsername]', user?.username ?? 'elastic', { timeout: 60 * 1000, @@ -32,10 +30,6 @@ export async function loginToKibana({ await page.click('[data-test-subj=loginSubmit]'); await waitForLoadingToFinish({ page }); - if (dismissTour) { - // Close Monitor Management tour added in 8.2.0 - await page.click('[data-test-subj=syntheticsManagementTourDismiss]'); - } } export const byTestId = (testId: string) => { diff --git a/x-pack/plugins/observability/public/components/shared/field_value_suggestions/field_value_selection.tsx b/x-pack/plugins/observability/public/components/shared/field_value_suggestions/field_value_selection.tsx index 373b57e0e61af..eec23d6dcab78 100644 --- a/x-pack/plugins/observability/public/components/shared/field_value_suggestions/field_value_selection.tsx +++ b/x-pack/plugins/observability/public/components/shared/field_value_suggestions/field_value_selection.tsx @@ -95,7 +95,8 @@ export function FieldValueSelection({ useEffect(() => { setOptions(formatOptions(values, selectedValue, excludedValue, showCount)); - }, [values, selectedValue, showCount, excludedValue]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [JSON.stringify(values), JSON.stringify(selectedValue), showCount, excludedValue]); const onButtonClick = () => { setIsPopoverOpen(!isPopoverOpen); diff --git a/x-pack/plugins/osquery/public/live_queries/form/pack_queries_status_table.tsx b/x-pack/plugins/osquery/public/live_queries/form/pack_queries_status_table.tsx index d1e434915c890..35d64512b5ae1 100644 --- a/x-pack/plugins/osquery/public/live_queries/form/pack_queries_status_table.tsx +++ b/x-pack/plugins/osquery/public/live_queries/form/pack_queries_status_table.tsx @@ -346,7 +346,7 @@ const PackQueriesStatusTableComponent: React.FC = ( name: i18n.translate('xpack.osquery.pack.queriesTable.viewResultsColumnTitle', { defaultMessage: 'View results', }), - width: '90px', + width: '120px', render: renderResultActions, }, { diff --git a/x-pack/plugins/osquery/public/results/results_table.tsx b/x-pack/plugins/osquery/public/results/results_table.tsx index 3f1ca20f38eaf..71d383da44bd1 100644 --- a/x-pack/plugins/osquery/public/results/results_table.tsx +++ b/x-pack/plugins/osquery/public/results/results_table.tsx @@ -6,6 +6,7 @@ */ import { get, isEmpty, isArray, isObject, isEqual, keys, map, reduce } from 'lodash/fp'; +import { css } from '@emotion/react'; import type { EuiDataGridSorting, EuiDataGridProps, @@ -391,6 +392,10 @@ const ResultsTableComponent: React.FC = ({ ] ); + if (isLoading) { + return ; + } + if (!hasActionResultsPrivileges) { return ( = ({ ); } - if (isLoading) { - return ; - } - return ( <> - {isLive && } + {isLive && ( + + )} {!allResultsData?.edges.length ? ( diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx index e7f3bd47a181a..ec55c977a2e62 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx @@ -19,7 +19,6 @@ import type { OsqueryActionResultsProps } from './types'; import { OsqueryResult } from './osquery_result'; const OsqueryActionResultsComponent: React.FC = ({ - agentIds, ruleName, actionItems, ecsData, @@ -37,7 +36,6 @@ const OsqueryActionResultsComponent: React.FC = ({ queryId={queryId} startDate={startDate} ruleName={ruleName} - agentIds={agentIds} ecsData={ecsData} /> ); diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx index a726f7c9b9070..d89f878bf0142 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx @@ -6,7 +6,7 @@ */ import { EuiComment, EuiSpacer } from '@elastic/eui'; -import React from 'react'; +import React, { useLayoutEffect, useState } from 'react'; import { FormattedRelative } from '@kbn/i18n-react'; import type { OsqueryActionResultsProps } from './types'; @@ -22,11 +22,17 @@ interface OsqueryResultProps extends OsqueryActionResultsProps { } export const OsqueryResult = React.memo( - ({ actionId, ruleName, agentIds, startDate, ecsData }) => { + ({ actionId, ruleName, startDate, ecsData }) => { + const [isLive, setIsLive] = useState(false); const { data } = useLiveQueryDetails({ actionId, + isLive, }); + useLayoutEffect(() => { + setIsLive(() => !(data?.status === 'completed')); + }, [data?.status]); + return ( @@ -38,11 +44,10 @@ export const OsqueryResult = React.memo( > diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx index 5a8ac2a3b9846..3eb34cac08e8d 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx @@ -32,7 +32,6 @@ const enablePrivileges = () => { }; const defaultProps: OsqueryActionResultsProps = { - agentIds: ['agent1'], ruleName: ['Test-rule'], actionItems: [ { @@ -82,10 +81,6 @@ describe('Osquery Results', () => { .mockImplementation(() => defaultLiveQueryDetails); }); - it('should validate permissions', async () => { - const { queryByText } = renderWithContext(); - expect(queryByText(PERMISSION_DENIED)).toBeInTheDocument(); - }); it('return results table', async () => { enablePrivileges(); const { getByText, queryByText, getByTestId } = renderWithContext( diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts b/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts index 6cc918f936751..54ae88ddc6c9d 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts @@ -9,7 +9,6 @@ import type { Ecs } from '../../../common/ecs'; import type { ActionEdges } from '../../../common/search_strategy'; export interface OsqueryActionResultsProps { - agentIds?: string[]; ruleName?: string[]; ecsData: Ecs; actionItems?: ActionEdges; diff --git a/x-pack/plugins/security_solution/common/types/data_table/index.ts b/x-pack/plugins/security_solution/common/types/data_table/index.ts index 130f7aaf1765a..0a9c23aebf729 100644 --- a/x-pack/plugins/security_solution/common/types/data_table/index.ts +++ b/x-pack/plugins/security_solution/common/types/data_table/index.ts @@ -37,6 +37,26 @@ export enum TableId { alertsOnCasePage = 'alerts-case-page', } +export enum TableEntityType { + alert = 'alert', + event = 'event', + session = 'session', +} + +export const tableEntity: Record = { + [TableId.alertsOnAlertsPage]: TableEntityType.alert, + [TableId.alertsOnCasePage]: TableEntityType.alert, + [TableId.alertsOnRuleDetailsPage]: TableEntityType.alert, + [TableId.hostsPageEvents]: TableEntityType.event, + [TableId.networkPageEvents]: TableEntityType.event, + [TableId.usersPageEvents]: TableEntityType.event, + [TableId.test]: TableEntityType.event, + [TableId.alternateTest]: TableEntityType.event, + [TableId.rulePreview]: TableEntityType.event, + [TableId.hostsPageSessions]: TableEntityType.session, + [TableId.kubernetesPageSessions]: TableEntityType.session, +} as const; + const TableIdLiteralRt = runtimeTypes.union([ runtimeTypes.literal(TableId.usersPageEvents), runtimeTypes.literal(TableId.hostsPageEvents), diff --git a/x-pack/plugins/security_solution/cypress/e2e/timelines/creation.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/timelines/creation.cy.ts index 62d8fdb8f1b41..81e74661d1839 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/timelines/creation.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/timelines/creation.cy.ts @@ -22,6 +22,7 @@ import { TIMELINE_TAB_CONTENT_GRAPHS_NOTES, EDIT_TIMELINE_BTN, EDIT_TIMELINE_TOOLTIP, + TIMELINE_CORRELATION_INPUT, } from '../../screens/timeline'; import { createTimelineTemplate } from '../../tasks/api_calls/timelines'; @@ -41,9 +42,11 @@ import { goToQueryTab, pinFirstEvent, populateTimeline, + waitForTimelineChanges, } from '../../tasks/timeline'; import { OVERVIEW_URL, TIMELINE_TEMPLATES_URL } from '../../urls/navigation'; +import { EQL_QUERY_VALIDATION_ERROR } from '../../screens/create_new_rule'; describe('Create a timeline from a template', () => { before(() => { @@ -154,5 +157,67 @@ describe('Timelines', (): void => { .then(parseInt) .should('be.gt', 0); }); + + // Skipped in this PR until the underlying re-renders are fixed: https://github.com/elastic/kibana/pull/152284 + describe.skip('correlation tab', () => { + it('should update timeline after adding eql', () => { + cy.intercept('PATCH', '/api/timeline').as('updateTimeline'); + const eql = 'any where process.name == "zsh"'; + addEqlToTimeline(eql); + + cy.wait('@updateTimeline', { timeout: 10000 }).its('response.statusCode').should('eq', 200); + + cy.get(`${TIMELINE_TAB_CONTENT_EQL} ${SERVER_SIDE_EVENT_COUNT}`) + .invoke('text') + .then(parseInt) + .should('be.gt', 0); + }); + + describe.skip('updates', () => { + const eql = 'any where process.name == "zsh"'; + beforeEach(() => { + cy.intercept('PATCH', '/api/timeline').as('updateTimeline'); + addEqlToTimeline(eql); + // TODO: It may need a further refactor to handle the frequency with which react calls this api + // Since it's based on real time text changes...and real time query validation + // there's almost no guarantee on the number of calls, so a cypress.wait may actually be more appropriate + cy.wait('@updateTimeline'); + cy.wait('@updateTimeline'); + cy.reload(); + cy.get(TIMELINE_CORRELATION_INPUT).should('be.visible'); + cy.get(TIMELINE_CORRELATION_INPUT).should('have.text', eql); + }); + + it('should update timeline after removing eql', () => { + cy.intercept('PATCH', '/api/timeline').as('updateTimeline'); + cy.get(TIMELINE_CORRELATION_INPUT).should('be.visible'); + waitForTimelineChanges(); + cy.get(TIMELINE_CORRELATION_INPUT).type('{selectAll} {del}').clear(); + // TODO: It may need a further refactor to handle the frequency with which react calls this api + // Since it's based on real time text changes...and real time query validation + // there's almost no guarantee on the number of calls, so a cypress.wait may actually be more appropriate + cy.wait('@updateTimeline'); + cy.wait('@updateTimeline'); + cy.wait('@updateTimeline'); + cy.wait('@updateTimeline'); + waitForTimelineChanges(); + cy.reload(); + cy.get(TIMELINE_CORRELATION_INPUT).should('be.visible'); + + cy.get(TIMELINE_CORRELATION_INPUT).should('have.text', ''); + }); + + it('should NOT update timeline after adding wrong eql', () => { + cy.intercept('PATCH', '/api/timeline').as('updateTimeline'); + const nonFunctionalEql = 'this is not valid eql'; + addEqlToTimeline(nonFunctionalEql); + cy.get(EQL_QUERY_VALIDATION_ERROR).should('be.visible'); + cy.reload(); + cy.get(TIMELINE_CORRELATION_INPUT).should('be.visible'); + + cy.get(TIMELINE_CORRELATION_INPUT).should('have.text', eql); + }); + }); + }); }); }); diff --git a/x-pack/plugins/security_solution/cypress/screens/create_new_rule.ts b/x-pack/plugins/security_solution/cypress/screens/create_new_rule.ts index 80b53926ed720..61677bbd73b78 100644 --- a/x-pack/plugins/security_solution/cypress/screens/create_new_rule.ts +++ b/x-pack/plugins/security_solution/cypress/screens/create_new_rule.ts @@ -89,6 +89,8 @@ export const EQL_QUERY_INPUT = '[data-test-subj="eqlQueryBarTextInput"]'; export const EQL_QUERY_VALIDATION_SPINNER = '[data-test-subj="eql-validation-loading"]'; +export const EQL_QUERY_VALIDATION_ERROR = '[data-test-subj="eql-validation-errors-popover-button"]'; + export const IMPORT_QUERY_FROM_SAVED_TIMELINE_LINK = '[data-test-subj="importQueryFromSavedTimeline"]'; diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx index 46656b20cf9b8..919d2881ff909 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx @@ -117,7 +117,6 @@ export const useOsqueryTab = ({ const actionItems = actionsData?.data.items || []; const ruleName = expandedEventFieldsObject.kibana?.alert?.rule?.name; - const agentIds = expandedEventFieldsObject.agent?.id; return { id: EventsViewType.osqueryView, @@ -135,12 +134,7 @@ export const useOsqueryTab = ({ emptyPrompt ) : ( <> - + )} diff --git a/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx b/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx index 30ba9db8c033e..ce6db3c16bde7 100644 --- a/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx @@ -556,7 +556,7 @@ const StatefulEventsViewerComponent: React.FC - {!hasAlerts && !loading && !graphOverlay && } + {!hasAlerts && !loading && !graphOverlay && } {hasAlerts && ( = ({ height = 'tall' }) => { +export const EmptyTable: React.FC = () => { const { http } = useKibana().services; return ( - + diff --git a/x-pack/plugins/security_solution/public/common/components/events_viewer/use_alert_bulk_actions.tsx b/x-pack/plugins/security_solution/public/common/components/events_viewer/use_alert_bulk_actions.tsx index 9bad9efc190a0..bdc028d49a23d 100644 --- a/x-pack/plugins/security_solution/public/common/components/events_viewer/use_alert_bulk_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/components/events_viewer/use_alert_bulk_actions.tsx @@ -8,13 +8,14 @@ import { EuiLoadingSpinner } from '@elastic/eui'; import React, { lazy, Suspense, useMemo } from 'react'; import type { TimelineItem } from '../../../../common/search_strategy'; +import type { TableId } from '../../../../common/types'; import type { AlertWorkflowStatus } from '../../types'; import type { BulkActionsProp } from '../toolbar/bulk_actions/types'; const StatefulAlertBulkActions = lazy(() => import('../toolbar/bulk_actions/alert_bulk_actions')); interface OwnProps { - tableId: string; + tableId: TableId; data: TimelineItem[]; totalItems: number; indexNames: string[]; @@ -25,6 +26,7 @@ interface OwnProps { bulkActions?: BulkActionsProp; selectedCount?: number; } + export const useAlertBulkActions = ({ tableId, data, diff --git a/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.test.ts b/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.test.ts index 6b432edfb5bd1..376c7fbf66d39 100644 --- a/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.test.ts +++ b/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.test.ts @@ -306,7 +306,102 @@ describe('showToasterMessage', () => { expect(addSuccess).toHaveBeenNthCalledWith(2, 'Successfully imported 1 connector.'); expect(addError).not.toHaveBeenCalled(); }); + it('should display 1 error message has 2 invalid connectors in the title even when error array has one message but "id" field', () => { + const addError = jest.fn(); + const addSuccess = jest.fn(); + showToasterMessage({ + importResponse: { + success: false, + success_count: 1, + rules_count: 2, + action_connectors_success: false, + errors: [ + { + rule_id: 'rule_id', + error: { + status_code: 400, + message: 'an error message', + }, + }, + ], + action_connectors_errors: [ + { + rule_id: 'rule_id', + id: 'connector1,connector2', + error: { + status_code: 400, + message: 'an error message', + }, + }, + ], + exceptions_success: true, + exceptions_success_count: 0, + }, + exceptionsIncluded: false, + actionConnectorsIncluded: true, + successMessage: (msg) => `success: ${msg}`, + errorMessage: (msg) => `error: ${msg}`, + errorMessageDetailed: (msg) => `errorDetailed: ${msg}`, + addError, + addSuccess, + }); + + expect(addError).toHaveBeenCalledTimes(1); + + expect(addError).toHaveBeenCalledWith(new Error('errorDetailed: an error message'), { + title: 'Failed to import 2 connectors', + }); + expect(addSuccess).not.toHaveBeenCalled(); + }); + it('should display 1 error message has 1 invalid connectors in the title even when error array has one message but "id" field', () => { + const addError = jest.fn(); + const addSuccess = jest.fn(); + + showToasterMessage({ + importResponse: { + success: false, + success_count: 1, + rules_count: 2, + action_connectors_success: false, + errors: [ + { + rule_id: 'rule_id', + error: { + status_code: 400, + message: 'an error message', + }, + }, + ], + action_connectors_errors: [ + { + rule_id: 'rule_id', + id: 'connector1', + error: { + status_code: 400, + message: 'an error message', + }, + }, + ], + exceptions_success: true, + exceptions_success_count: 0, + }, + exceptionsIncluded: false, + actionConnectorsIncluded: true, + successMessage: (msg) => `success: ${msg}`, + errorMessage: (msg) => `error: ${msg}`, + errorMessageDetailed: (msg) => `errorDetailed: ${msg}`, + addError, + addSuccess, + }); + + expect(addError).toHaveBeenCalledTimes(1); + + expect(addError).toHaveBeenCalledWith(new Error('errorDetailed: an error message'), { + title: 'Failed to import 1 connector', + }); + expect(addSuccess).not.toHaveBeenCalled(); + }); it('should display 1 error message for rules and connectors even when both fail', () => { const addError = jest.fn(); const addSuccess = jest.fn(); diff --git a/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.ts b/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.ts index 92c6f9f666e4b..4ab30388168df 100644 --- a/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.ts +++ b/x-pack/plugins/security_solution/public/common/components/import_data_modal/utils.ts @@ -33,8 +33,14 @@ export const formatError = ( const mapErrorMessageToUserMessage = ( actionConnectorsErrors: Array ) => { - return actionConnectorsErrors.map((connectorError) => { - const { error } = connectorError; + let concatenatedActionIds: string = ''; + const mappedErrors = actionConnectorsErrors.map((connectorError) => { + // Using "as ImportResponseError" because the "id" field belongs only to + // "ImportResponseError" and if the connectorError has the id we use it to get the + // number of failing connectors by spliting the unique the connectors ids. + const { id, error } = connectorError as ImportResponseError; + concatenatedActionIds = + concatenatedActionIds && concatenatedActionIds !== id ? `${concatenatedActionIds},${id}` : id; const { status_code: statusCode, message: originalMessage } = error || {}; let message; switch (statusCode) { @@ -47,9 +53,12 @@ const mapErrorMessageToUserMessage = ( break; } - return { ...connectorError, error: { ...error, message } }; }); + const actionIds: Set = new Set( + concatenatedActionIds && [...concatenatedActionIds.split(',')] + ); + return { mappedErrors, numberOfActions: actionIds.size }; }; export const showToasterMessage = ({ @@ -100,13 +109,13 @@ export const showToasterMessage = ({ importResponse.action_connectors_errors != null && importResponse.action_connectors_errors.length > 0 ) { - const userErrorMessages = mapErrorMessageToUserMessage( + const { mappedErrors: userErrorMessages, numberOfActions } = mapErrorMessageToUserMessage( importResponse.action_connectors_errors ); const connectorError = formatError(errorMessageDetailed, importResponse, userErrorMessages); return addError(connectorError, { - title: i18n.IMPORT_CONNECTORS_FAILED(userErrorMessages.length), + title: i18n.IMPORT_CONNECTORS_FAILED(numberOfActions || userErrorMessages.length), }); } const ruleError = formatError(errorMessageDetailed, importResponse, importResponse.errors); diff --git a/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/alert_bulk_actions.tsx b/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/alert_bulk_actions.tsx index 23c07dc8e0a91..64d414c7cfcc5 100644 --- a/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/alert_bulk_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/alert_bulk_actions.tsx @@ -5,14 +5,20 @@ * 2.0. */ -import React, { useCallback, useEffect, useState } from 'react'; +import numeral from '@elastic/numeral'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; + import type { ConnectedProps } from 'react-redux'; import { connect, useDispatch } from 'react-redux'; +import { useUiSetting$ } from '@kbn/kibana-react-plugin/public'; +import { DEFAULT_NUMBER_FORMAT } from '../../../../../common/constants'; import type { CustomBulkActionProp, SetEventsDeleted, SetEventsLoading, + TableId, } from '../../../../../common/types'; +import { tableEntity } from '../../../../../common/types'; import { BulkActions } from '.'; import { useBulkActionItems } from './use_bulk_action_items'; import { dataTableActions, dataTableSelectors } from '../../../store/data_table'; @@ -23,9 +29,10 @@ import type { OnUpdateAlertStatusError, OnUpdateAlertStatusSuccess } from './typ import type { inputsModel } from '../../../store'; import { inputsSelectors } from '../../../store'; import { useDeepEqualSelector } from '../../../hooks/use_selector'; +import * as i18n from './translations'; interface OwnProps { - id: string; + id: TableId; totalItems: number; filterStatus?: AlertWorkflowStatus; query?: string; @@ -67,6 +74,41 @@ export const AlertBulkActionsComponent = React.memo q.refetch && (q.refetch as inputsModel.Refetch)()); }, [globalQueries]); + const [defaultNumberFormat] = useUiSetting$(DEFAULT_NUMBER_FORMAT); + const selectedCount = useMemo(() => Object.keys(selectedEventIds).length, [selectedEventIds]); + + const formattedTotalCount = useMemo( + () => numeral(totalItems).format(defaultNumberFormat), + [defaultNumberFormat, totalItems] + ); + const formattedSelectedCount = useMemo( + () => numeral(selectedCount).format(defaultNumberFormat), + [defaultNumberFormat, selectedCount] + ); + + const selectText = useMemo( + () => + showClearSelection + ? i18n.SELECTED_ENTITIES(tableEntity[id], formattedTotalCount, totalItems) + : i18n.SELECTED_ENTITIES(tableEntity[id], formattedSelectedCount, selectedCount), + [ + id, + showClearSelection, + formattedTotalCount, + formattedSelectedCount, + totalItems, + selectedCount, + ] + ); + + const selectClearAllText = useMemo( + () => + showClearSelection + ? i18n.CLEAR_SELECTION + : i18n.SELECT_ALL_ENTITIES(tableEntity[id], formattedTotalCount, totalItems), + [id, showClearSelection, formattedTotalCount, totalItems] + ); + // Catches state change isSelectAllChecked->false (page checkbox) upon user selection change to reset toolbar select all useEffect(() => { if (isSelectAllChecked) { @@ -148,9 +190,9 @@ export const AlertBulkActionsComponent = React.memo void; onClearSelection: () => void; @@ -33,24 +29,14 @@ BulkActionsContainer.displayName = 'BulkActionsContainer'; * Stateless component integrating the bulk actions menu and the select all button */ const BulkActionsComponent: React.FC = ({ - selectedCount, - totalItems, + selectText, + selectClearAllText, showClearSelection, onSelectAll, onClearSelection, bulkActionItems, }) => { const [isActionsPopoverOpen, setIsActionsPopoverOpen] = useState(false); - const [defaultNumberFormat] = useUiSetting$(DEFAULT_NUMBER_FORMAT); - - const formattedTotalCount = useMemo( - () => numeral(totalItems).format(defaultNumberFormat), - [defaultNumberFormat, totalItems] - ); - const formattedSelectedEventsCount = useMemo( - () => numeral(selectedCount).format(defaultNumberFormat), - [defaultNumberFormat, selectedCount] - ); const toggleIsActionOpen = useCallback(() => { setIsActionsPopoverOpen((currentIsOpen) => !currentIsOpen); @@ -74,28 +60,6 @@ const BulkActionsComponent: React.FC = ({ } }, [onClearSelection, onSelectAll, showClearSelection]); - const selectedAlertsText = useMemo( - () => - showClearSelection - ? i18n.SELECTED_ALERTS(formattedTotalCount, totalItems) - : i18n.SELECTED_ALERTS(formattedSelectedEventsCount, selectedCount), - [ - showClearSelection, - formattedTotalCount, - formattedSelectedEventsCount, - totalItems, - selectedCount, - ] - ); - - const selectClearAllAlertsText = useMemo( - () => - showClearSelection - ? i18n.CLEAR_SELECTION - : i18n.SELECT_ALL_ALERTS(formattedTotalCount, totalItems), - [showClearSelection, formattedTotalCount, totalItems] - ); - return ( = ({ color="primary" onClick={toggleIsActionOpen} > - {selectedAlertsText} + {selectText} } closePopover={closeActionPopover} @@ -130,7 +94,7 @@ const BulkActionsComponent: React.FC = ({ iconType={showClearSelection ? 'cross' : 'pagesSelect'} onClick={toggleSelectAll} > - {selectClearAllAlertsText} + {selectClearAllText} ); diff --git a/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/translations.ts b/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/translations.ts index 6fc3c49e65fc0..f386e4efcbffd 100644 --- a/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/translations.ts +++ b/x-pack/plugins/security_solution/public/common/components/toolbar/bulk_actions/translations.ts @@ -7,18 +7,49 @@ import { i18n } from '@kbn/i18n'; -export const SELECTED_ALERTS = (selectedAlertsFormatted: string, selectedAlerts: number) => - i18n.translate('xpack.securitySolution.toolbar.bulkActions.selectedAlertsTitle', { - values: { selectedAlertsFormatted, selectedAlerts }, - defaultMessage: - 'Selected {selectedAlertsFormatted} {selectedAlerts, plural, =1 {alert} other {alerts}}', +import { TableEntityType } from '../../../../../common/types'; + +const ENTITY_TYPE_PLURAL = (entityType: TableEntityType, count: number) => { + switch (entityType) { + case TableEntityType.alert: { + return i18n.translate('xpack.securitySolution.toolbar.bulkActions.entityAlerts', { + values: { count }, + defaultMessage: '{count, plural, =1 {alert} other {alerts}}', + }); + } + case TableEntityType.event: { + return i18n.translate('xpack.securitySolution.toolbar.bulkActions.entityEvents', { + values: { count }, + defaultMessage: '{count, plural, =1 {event} other {events}}', + }); + } + case TableEntityType.session: { + return i18n.translate('xpack.securitySolution.toolbar.bulkActions.entitySessions', { + values: { count }, + defaultMessage: '{count, plural, =1 {session} other {sessions}}', + }); + } + } +}; + +export const SELECT_ALL_ENTITIES = ( + entityType: TableEntityType, + totalFormatted: string, + total: number +) => + i18n.translate('xpack.securitySolution.toolbar.bulkActions.selectAllEntitiesTitle', { + values: { entityPlural: ENTITY_TYPE_PLURAL(entityType, total), totalFormatted, total }, + defaultMessage: 'Select {total, plural, =1 {} other {all}} {totalFormatted} {entityPlural}', }); -export const SELECT_ALL_ALERTS = (totalAlertsFormatted: string, totalAlerts: number) => - i18n.translate('xpack.securitySolution.toolbar.bulkActions.selectAllAlertsTitle', { - values: { totalAlertsFormatted, totalAlerts }, - defaultMessage: - 'Select all {totalAlertsFormatted} {totalAlerts, plural, =1 {alert} other {alerts}}', +export const SELECTED_ENTITIES = ( + entityType: TableEntityType, + totalFormatted: string, + total: number +) => + i18n.translate('xpack.securitySolution.toolbar.bulkActions.selectedEntitiesTitle', { + values: { entityPlural: ENTITY_TYPE_PLURAL(entityType, total), totalFormatted }, + defaultMessage: 'Selected {totalFormatted} {entityPlural}', }); export const CLEAR_SELECTION = i18n.translate( diff --git a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.test.tsx b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.test.tsx index d3faed1a28a6b..4004d0a1daee5 100644 --- a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.test.tsx @@ -68,9 +68,16 @@ jest.mock('../../utils/route/use_route_spy', () => ({ const mockSearch = jest.fn(); const mockAddWarning = jest.fn(); +const mockAddError = jest.fn(); +const mockCreateSourcererDataView = jest.fn(() => { + const errToReturn = new Error('fake error'); + errToReturn.name = 'AbortError'; + throw errToReturn; +}); + jest.mock('../../lib/kibana', () => ({ useToasts: () => ({ - addError: jest.fn(), + addError: mockAddError, addSuccess: jest.fn(), addWarning: mockAddWarning, remove: jest.fn(), @@ -276,6 +283,91 @@ describe('Sourcerer Hooks', () => { }); }); + it('does not call addError if updateSourcererDataView receives an AbortError', async () => { + // createSourcererDataView throws an 'AbortError' which + // puts us in the catch block, but the addError toast is not called + (createSourcererDataView as jest.Mock).mockImplementation(mockCreateSourcererDataView); + + store = createStore( + { + ...mockGlobalState, + sourcerer: { + ...mockGlobalState.sourcerer, + signalIndexName: null, + defaultDataView: { + ...mockGlobalState.sourcerer.defaultDataView, + title: DEFAULT_INDEX_PATTERN.join(','), + patternList: DEFAULT_INDEX_PATTERN, + }, + }, + }, + SUB_PLUGINS_REDUCER, + kibanaObservable, + storage + ); + await act(async () => { + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + loading: false, + signalIndexName: mockSourcererState.signalIndexName, + })); + const { rerender, waitForNextUpdate } = renderHook(() => useInitSourcerer(), { + wrapper: ({ children }) => {children}, + }); + + await waitForNextUpdate(); + rerender(); + + await waitFor(() => { + expect(mockCreateSourcererDataView).toHaveBeenCalled(); + expect(mockAddError).not.toHaveBeenCalled(); + }); + }); + }); + + it('does call addError if updateSourcererDataView receives a non-abort error', async () => { + // createSourcererDataView throws an 'AbortError' which + // puts us in the catch block, but the addError toast is not called + (createSourcererDataView as jest.Mock).mockImplementation(() => { + throw Error('fake error'); + }); + + store = createStore( + { + ...mockGlobalState, + sourcerer: { + ...mockGlobalState.sourcerer, + signalIndexName: null, + defaultDataView: { + ...mockGlobalState.sourcerer.defaultDataView, + title: DEFAULT_INDEX_PATTERN.join(','), + patternList: DEFAULT_INDEX_PATTERN, + }, + }, + }, + SUB_PLUGINS_REDUCER, + kibanaObservable, + storage + ); + await act(async () => { + mockUseUserInfo.mockImplementation(() => ({ + ...userInfoState, + loading: false, + signalIndexName: mockSourcererState.signalIndexName, + })); + const { rerender, waitForNextUpdate } = renderHook(() => useInitSourcerer(), { + wrapper: ({ children }) => {children}, + }); + + await waitForNextUpdate(); + rerender(); + + await waitFor(() => { + expect(mockAddError).toHaveBeenCalled(); + }); + }); + }); + it('handles detections page', async () => { await act(async () => { mockUseUserInfo.mockImplementation(() => ({ diff --git a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx index 1bf4b83608c66..e9348309e16fc 100644 --- a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx @@ -259,14 +259,18 @@ export const useInitSourcerer = ( } dispatch(sourcererActions.setSourcererScopeLoading({ loading: false })); } catch (err) { - addError(err, { - title: i18n.translate('xpack.securitySolution.sourcerer.error.title', { - defaultMessage: 'Error updating Security Data View', - }), - toastMessage: i18n.translate('xpack.securitySolution.sourcerer.error.toastMessage', { - defaultMessage: 'Refresh the page', - }), - }); + if (err.name === 'AbortError') { + // the fetch was canceled, we don't need to do anything about it + } else { + addError(err, { + title: i18n.translate('xpack.securitySolution.sourcerer.error.title', { + defaultMessage: 'Error updating Security Data View', + }), + toastMessage: i18n.translate('xpack.securitySolution.sourcerer.error.toastMessage', { + defaultMessage: 'Refresh the page', + }), + }); + } dispatch(sourcererActions.setSourcererScopeLoading({ loading: false })); } }; diff --git a/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.test.tsx b/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.test.tsx index 87b3d29310cab..b48d96a453aa5 100644 --- a/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.test.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.test.tsx @@ -17,6 +17,30 @@ import { act, renderHook } from '@testing-library/react-hooks'; import { useSignalHelpers } from './use_signal_helpers'; import type { State } from '../../store'; import { createStore } from '../../store'; +import { createSourcererDataView } from './create_sourcerer_data_view'; + +const mockCreateSourcererDataView = jest.fn(() => { + const errToReturn = new Error('fake error'); + errToReturn.name = 'AbortError'; + throw errToReturn; +}); + +jest.mock('./create_sourcerer_data_view'); + +const mockAddError = jest.fn(); + +jest.mock('../../lib/kibana', () => { + const orig = jest.requireActual('../../lib/kibana'); + return { + ...orig, + useToasts: () => ({ + addError: mockAddError, + addSuccess: jest.fn(), + addWarning: jest.fn(), + remove: jest.fn(), + }), + }; +}); describe('useSignalHelpers', () => { const wrapperContainer: React.FC<{ children?: React.ReactNode }> = ({ children }) => ( @@ -93,4 +117,73 @@ describe('useSignalHelpers', () => { expect(result.current.pollForSignalIndex).not.toEqual(undefined); }); }); + + test('Init happened and signal index does not have data yet, poll function becomes available but createSourcererDataView throws an abort error', async () => { + (createSourcererDataView as jest.Mock).mockImplementation(mockCreateSourcererDataView); + const state: State = { + ...mockGlobalState, + sourcerer: { + ...mockGlobalState.sourcerer, + defaultDataView: { + ...mockGlobalState.sourcerer.defaultDataView, + title: `auditbeat-*,packetbeat-*,${mockGlobalState.sourcerer.signalIndexName}`, + patternList: ['packetbeat-*', 'auditbeat-*'], + }, + kibanaDataViews: [ + { + ...mockGlobalState.sourcerer.defaultDataView, + title: `auditbeat-*,packetbeat-*,${mockGlobalState.sourcerer.signalIndexName}`, + patternList: ['packetbeat-*', 'auditbeat-*'], + }, + ], + }, + }; + const { storage } = createSecuritySolutionStorageMock(); + const store = createStore(state, SUB_PLUGINS_REDUCER, kibanaObservable, storage); + await act(async () => { + const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }) => {children}, + }); + await waitForNextUpdate(); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).not.toEqual(undefined); + expect(mockAddError).not.toHaveBeenCalled(); + }); + }); + + test('Init happened and signal index does not have data yet, poll function becomes available but createSourcererDataView throws a non-abort error', async () => { + (createSourcererDataView as jest.Mock).mockImplementation(() => { + throw Error('fake error'); + }); + const state: State = { + ...mockGlobalState, + sourcerer: { + ...mockGlobalState.sourcerer, + defaultDataView: { + ...mockGlobalState.sourcerer.defaultDataView, + title: `auditbeat-*,packetbeat-*,${mockGlobalState.sourcerer.signalIndexName}`, + patternList: ['packetbeat-*', 'auditbeat-*'], + }, + kibanaDataViews: [ + { + ...mockGlobalState.sourcerer.defaultDataView, + title: `auditbeat-*,packetbeat-*,${mockGlobalState.sourcerer.signalIndexName}`, + patternList: ['packetbeat-*', 'auditbeat-*'], + }, + ], + }, + }; + const { storage } = createSecuritySolutionStorageMock(); + const store = createStore(state, SUB_PLUGINS_REDUCER, kibanaObservable, storage); + await act(async () => { + const { result, waitForNextUpdate } = renderHook(() => useSignalHelpers(), { + wrapper: ({ children }) => {children}, + }); + await waitForNextUpdate(); + expect(result.current.signalIndexNeedsInit).toEqual(false); + expect(result.current.pollForSignalIndex).not.toEqual(undefined); + result.current.pollForSignalIndex?.(); + expect(mockAddError).toHaveBeenCalled(); + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.tsx b/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.tsx index 8aa9f11e87983..2da246ebf929c 100644 --- a/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/sourcerer/use_signal_helpers.tsx @@ -74,14 +74,18 @@ export const useSignalHelpers = (): { dispatch(sourcererActions.setSourcererDataViews(sourcererDataView)); } } catch (err) { - addError(err, { - title: i18n.translate('xpack.securitySolution.sourcerer.error.title', { - defaultMessage: 'Error updating Security Data View', - }), - toastMessage: i18n.translate('xpack.securitySolution.sourcerer.error.toastMessage', { - defaultMessage: 'Refresh the page', - }), - }); + if (err.name === 'AbortError') { + // the fetch was canceled, we don't need to do anything about it + } else { + addError(err, { + title: i18n.translate('xpack.securitySolution.sourcerer.error.title', { + defaultMessage: 'Error updating Security Data View', + }), + toastMessage: i18n.translate('xpack.securitySolution.sourcerer.error.toastMessage', { + defaultMessage: 'Refresh the page', + }), + }); + } } }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/add_exception_flyout/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/add_exception_flyout/index.tsx index fae192a479de4..41e0c8717a1fa 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/add_exception_flyout/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/add_exception_flyout/index.tsx @@ -535,12 +535,16 @@ export const AddExceptionFlyout = memo(function AddExceptionFlyout({ newCommentValue={newComment} newCommentOnChange={setComment} /> - - + {listType !== ExceptionListTypeEnum.ENDPOINT && ( + <> + + + + )} {showAlertCloseOptions && ( <> diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/index.tsx index adcbd7ac36b5f..c0cbe1ac5caf4 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/index.tsx @@ -229,7 +229,7 @@ const ExceptionsViewerComponent = ({ ); const exceptionListFilter = useMemo(() => { - if (exceptionsToShow.active && exceptionsToShow.expired) { + if (isEndpointSpecified || (exceptionsToShow.active && exceptionsToShow.expired)) { return undefined; } const savedObjectPrefixes = getSavedObjectTypes({ @@ -241,7 +241,7 @@ const ExceptionsViewerComponent = ({ if (exceptionsToShow.expired) { return buildShowExpiredExceptionsFilter(savedObjectPrefixes); } - }, [exceptionsToShow, namespaceTypes]); + }, [exceptionsToShow, namespaceTypes, isEndpointSpecified]); const handleFetchItems = useCallback( async (options?: GetExceptionItemProps) => { @@ -516,6 +516,7 @@ const ExceptionsViewerComponent = ({ exceptionsToShow={exceptionsToShow} onChangeExceptionsToShow={handleExceptionsToShow} lastUpdated={lastUpdated} + isEndpoint={isEndpointSpecified} /> { exceptionsToShow={{ active: true }} onChangeExceptionsToShow={(optionId: string) => {}} lastUpdated={1660534202} + isEndpoint={false} /> ); @@ -47,6 +48,7 @@ describe('ExceptionsViewerUtility', () => { exceptionsToShow={{ active: true }} onChangeExceptionsToShow={(optionId: string) => {}} lastUpdated={Date.now()} + isEndpoint={false} /> ); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/utility_bar.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/utility_bar.tsx index d7ea7acfd5f31..f1b909b050f87 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/utility_bar.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/all_exception_items_table/utility_bar.tsx @@ -42,6 +42,7 @@ interface ExceptionsViewerUtilityProps { lastUpdated: string | number; exceptionsToShow: { [id: string]: boolean }; onChangeExceptionsToShow: (optionId: string) => void; + isEndpoint: boolean; } /** @@ -52,6 +53,7 @@ const ExceptionsViewerUtilityComponent: React.FC = lastUpdated, exceptionsToShow, onChangeExceptionsToShow, + isEndpoint, }): JSX.Element => { return ( @@ -88,22 +90,24 @@ const ExceptionsViewerUtilityComponent: React.FC = /> - + {!isEndpoint && ( + + )} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/edit_exception_flyout/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/edit_exception_flyout/index.tsx index 04a350e328a26..1dd03d8bc9f9d 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/edit_exception_flyout/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/edit_exception_flyout/index.tsx @@ -400,12 +400,16 @@ const EditExceptionFlyoutComponent: React.FC = ({ newCommentValue={newComment} newCommentOnChange={setComment} /> - - + {listType !== ExceptionListTypeEnum.ENDPOINT && ( + <> + + + + )} {showAlertCloseOptions && ( <> diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx index e70844348c385..4d1570ba3b491 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx @@ -66,11 +66,8 @@ export const enrichItemWithName = */ export const enrichItemWithExpireTime = (expireTimeToAdd: Moment | undefined) => - (items: ExceptionsBuilderReturnExceptionItem[]): ExceptionsBuilderReturnExceptionItem[] => { - return expireTimeToAdd != null - ? enrichNewExceptionItemsWithExpireTime(items, expireTimeToAdd) - : items; - }; + (items: ExceptionsBuilderReturnExceptionItem[]): ExceptionsBuilderReturnExceptionItem[] => + enrichNewExceptionItemsWithExpireTime(items, expireTimeToAdd); /** * Modifies item entries to be in correct format and adds os selection to items diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.tsx index aaaffb0e70d2c..87d2e437baeed 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.tsx @@ -186,12 +186,13 @@ export const enrichNewExceptionItemsWithComments = ( */ export const enrichNewExceptionItemsWithExpireTime = ( exceptionItems: ExceptionsBuilderReturnExceptionItem[], - expireTime: Moment + expireTime: Moment | undefined ): ExceptionsBuilderReturnExceptionItem[] => { + const expireTimeDateString = expireTime !== undefined ? expireTime.toISOString() : undefined; return exceptionItems.map((item: ExceptionsBuilderReturnExceptionItem) => { return { ...item, - expire_time: expireTime.toISOString(), + expire_time: expireTimeDateString, }; }); }; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management/logic/types.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management/logic/types.ts index 1eadf14b02b8c..0f93d66efbf6f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management/logic/types.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management/logic/types.ts @@ -124,7 +124,6 @@ const MetaRule = t.intersection([ }), ]); -// TODO: make a ticket export const RuleSchema = t.intersection([ t.type({ author: RuleAuthorArray, diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx index 8c5760c20a70b..3c20f5603a0ee 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx @@ -391,7 +391,7 @@ export const AlertsHistogramPanel = memo( alignHeader={alignHeader} id={uniqueQueryId} inspectTitle={inspectTitle} - outerDirection="row" + outerDirection="column" title={titleText} titleSize={titleSize} toggleStatus={showHistogram} @@ -399,7 +399,6 @@ export const AlertsHistogramPanel = memo( showInspectButton={isChartEmbeddablesEnabled ? false : chartOptionsContextMenu == null} subtitle={!isInitialLoading && showTotalAlertsCount && totalAlerts} isInspectDisabled={isInspectDisabled} - hideSubtitle > diff --git a/x-pack/plugins/security_solution/public/detections/components/host_isolation/isolate.tsx b/x-pack/plugins/security_solution/public/detections/components/host_isolation/isolate.tsx index 044e893572151..76e0ef2750963 100644 --- a/x-pack/plugins/security_solution/public/detections/components/host_isolation/isolate.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/host_isolation/isolate.tsx @@ -41,7 +41,7 @@ export const IsolateHost = React.memo( const { loading, isolateHost } = useHostIsolation({ endpointId, comment, - caseIds: caseIds.length > 0 ? caseIds : undefined, + caseIds, }); const confirmHostIsolation = useCallback(async () => { diff --git a/x-pack/plugins/security_solution/public/detections/components/host_isolation/unisolate.tsx b/x-pack/plugins/security_solution/public/detections/components/host_isolation/unisolate.tsx index 214e288bc727b..0cfdffb559d31 100644 --- a/x-pack/plugins/security_solution/public/detections/components/host_isolation/unisolate.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/host_isolation/unisolate.tsx @@ -38,7 +38,11 @@ export const UnisolateHost = React.memo( return caseInfo.id; }); - const { loading, unIsolateHost } = useHostUnisolation({ endpointId, comment, caseIds }); + const { loading, unIsolateHost } = useHostUnisolation({ + endpointId, + comment, + caseIds, + }); const confirmHostUnIsolation = useCallback(async () => { const hostUnIsolated = await unIsolateHost(); diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation.tsx index 70d1d5ab5e194..64b6d4afb428f 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation.tsx +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation.tsx @@ -33,7 +33,11 @@ export const useHostIsolation = ({ const isolateHost = useCallback(async () => { try { setLoading(true); - const isolationStatus = await createHostIsolation({ endpointId, comment, caseIds }); + const isolationStatus = await createHostIsolation({ + endpointId, + comment, + caseIds: caseIds && caseIds.length > 0 ? caseIds : undefined, + }); setLoading(false); return isolationStatus.action ? true : false; } catch (error) { diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_unisolation.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_unisolation.tsx index 55119f7122e12..f630ccb13c38c 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_unisolation.tsx +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_unisolation.tsx @@ -32,7 +32,11 @@ export const useHostUnisolation = ({ const unIsolateHost = useCallback(async () => { try { setLoading(true); - const isolationStatus = await createHostUnIsolation({ endpointId, comment, caseIds }); + const isolationStatus = await createHostUnIsolation({ + endpointId, + comment, + caseIds: caseIds && caseIds.length > 0 ? caseIds : undefined, + }); setLoading(false); return isolationStatus.action ? true : false; } catch (error) { diff --git a/x-pack/plugins/security_solution/public/exceptions/hooks/use_exceptions_list.card/index.tsx b/x-pack/plugins/security_solution/public/exceptions/hooks/use_exceptions_list.card/index.tsx index 6443e7ef7db5a..27ce5f3604c2f 100644 --- a/x-pack/plugins/security_solution/public/exceptions/hooks/use_exceptions_list.card/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/hooks/use_exceptions_list.card/index.tsx @@ -125,7 +125,19 @@ export const useExceptionsListCard = ({ key: 'Export', icon: 'exportAction', label: i18n.EXPORT_EXCEPTION_LIST, - onClick: (e: React.MouseEvent) => setShowExportModal(true), + onClick: (e: React.MouseEvent) => { + if (listType === ExceptionListTypeEnum.ENDPOINT) { + handleExport({ + id: exceptionsList.id, + listId: exceptionsList.list_id, + name: exceptionsList.name, + namespaceType: exceptionsList.namespace_type, + includeExpiredExceptions: true, + })(); + } else { + setShowExportModal(true); + } + }, }, { key: 'Delete', @@ -153,11 +165,14 @@ export const useExceptionsListCard = ({ [ exceptionsList.id, exceptionsList.list_id, + exceptionsList.name, exceptionsList.namespace_type, handleDelete, setShowExportModal, listCannotBeEdited, handleManageRules, + handleExport, + listType, ] ); diff --git a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx index fc09a603b2e13..d4e2c8f4f0977 100644 --- a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx @@ -14,6 +14,7 @@ import { } from '@kbn/securitysolution-exception-list-components'; import { EuiLoadingContent } from '@elastic/eui'; import { useParams } from 'react-router-dom'; +import { ExceptionListTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; import { SecurityPageName } from '../../../../common/constants'; import { SpyRoute } from '../../../common/utils/route/spy_routes'; import { ReferenceErrorModal } from '../../../detections/components/value_lists_management_flyout/reference_error_modal'; @@ -67,6 +68,14 @@ export const ListsDetailViewComponent: FC = () => { const onModalOpen = useCallback(() => setShowExportModal(true), [setShowExportModal]); + const handleExportList = useCallback(() => { + if (list?.type === ExceptionListTypeEnum.ENDPOINT) { + onExportList(true); + } else { + onModalOpen(); + } + }, [onModalOpen, list, onExportList]); + const detailsViewContent = useMemo(() => { if (viewerStatus === ViewerStatus.ERROR) return ; @@ -87,7 +96,7 @@ export const ListsDetailViewComponent: FC = () => { backOptions={headerBackOptions} securityLinkAnchorComponent={ListDetailsLinkAnchor} onEditListDetails={onEditListDetails} - onExportList={onModalOpen} + onExportList={handleExportList} onDeleteList={handleDelete} onManageRules={onManageRules} /> @@ -155,7 +164,7 @@ export const ListsDetailViewComponent: FC = () => { handleDelete, handleReferenceDelete, onModalClose, - onModalOpen, + handleExportList, ]); return ( <> diff --git a/x-pack/plugins/security_solution/public/management/pages/integration_tests/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/integration_tests/index.test.tsx index 24076272f37ae..a6e98483a03a6 100644 --- a/x-pack/plugins/security_solution/public/management/pages/integration_tests/index.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/integration_tests/index.test.tsx @@ -13,6 +13,8 @@ import type { AppContextTestRender } from '../../../common/mock/endpoint'; import { createAppRootMockRenderer } from '../../../common/mock/endpoint'; import { useUserPrivileges } from '../../../common/components/user_privileges'; import { endpointPageHttpMock } from '../endpoint_hosts/mocks'; +import { ExperimentalFeaturesService } from '../../../common/experimental_features_service'; +import { allowedExperimentalValues } from '../../../../common/experimental_features'; jest.mock('../../../common/components/user_privileges'); @@ -22,6 +24,12 @@ describe('when in the Administration tab', () => { let render: () => ReturnType; const mockedContext = createAppRootMockRenderer(); + beforeAll(() => { + ExperimentalFeaturesService.init({ + experimentalFeatures: { ...allowedExperimentalValues }, + }); + }); + beforeEach(() => { endpointPageHttpMock(mockedContext.coreStart.http); render = () => mockedContext.render(); @@ -33,6 +41,13 @@ describe('when in the Administration tab', () => { }); describe('when the user has no permissions', () => { + // remove this beforeAll hook when feature flag is removed + beforeAll(() => { + ExperimentalFeaturesService.init({ + experimentalFeatures: { ...allowedExperimentalValues, endpointRbacEnabled: true }, + }); + }); + it('should display `no permission` if no `canAccessEndpointManagement`', async () => { useUserPrivilegesMock.mockReturnValue({ endpointPrivileges: { loading: false, canAccessEndpointManagement: false }, @@ -96,8 +111,14 @@ describe('when in the Administration tab', () => { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/145204 - describe.skip('when the user has permissions', () => { + describe('when the user has permissions', () => { + // remove this beforeAll hook when feature flag is removed + beforeAll(() => { + ExperimentalFeaturesService.init({ + experimentalFeatures: { ...allowedExperimentalValues, endpointRbacEnabled: true }, + }); + }); + it('should display the Management view if user has privileges', async () => { useUserPrivilegesMock.mockReturnValue({ endpointPrivileges: { loading: false, canReadEndpointList: true, canAccessFleet: true }, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.tsx index 87bd628ca48c6..8bcf48b869f3d 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.tsx @@ -69,11 +69,12 @@ const StyledEuiFlyoutHeader = styled(EuiFlyoutHeader)` box-shadow: none; display: flex; flex-direction: column; + margin-top: ${({ theme }) => theme.eui.euiSizeM} padding: 0; &.euiFlyoutHeader { ${({ theme }) => - `padding: 0 ${theme.eui.euiSizeS} ${theme.eui.euiSizeS} ${theme.eui.euiSizeS};`} + `padding: 0 ${theme.eui.euiSizeM} ${theme.eui.euiSizeS} ${theme.eui.euiSizeS};`} } `; 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 56969a288102c..f4b21265a7906 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 @@ -107,6 +107,8 @@ export const EqlQueryBarTimeline = memo(({ timelineId }: { timelineId: string }) watch: ['eqlQueryBar'], }); + const prevEqlQuery = useRef(''); + const optionsData = useMemo( () => isEmpty(indexPattern.fields) @@ -156,10 +158,11 @@ export const EqlQueryBarTimeline = memo(({ timelineId }: { timelineId: string }) useEffect(() => { if ( formEqlQueryBar != null && - !isEmpty(formEqlQueryBar.query.query) && + prevEqlQuery.current !== formEqlQueryBar.query.query && isQueryBarValid && !isQueryBarValidating ) { + prevEqlQuery.current = formEqlQueryBar.query.query; dispatch( timelineActions.updateEqlOptions({ id: timelineId, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts index 7d822733b4da5..a200afdd34199 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/utils.ts @@ -21,7 +21,9 @@ export interface OutputError { statusCode: number; } export interface BulkError { + // Id can be single id or stringified ids. id?: string; + // rule_id can be single rule_id or stringified rules ids. rule_id?: string; error: { status_code: number; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/import_rule_action_connectors.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/import_rule_action_connectors.test.ts index 2f81d1284eb53..54574c85f7036 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/import_rule_action_connectors.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/import_rule_action_connectors.test.ts @@ -174,6 +174,7 @@ describe('importRuleActionConnectors', () => { '1 connector is missing. Connector id missing is: cabc78e0-9031-11ed-b076-53cc4d57aaf1', status_code: 404, }, + id: 'cabc78e0-9031-11ed-b076-53cc4d57aaf1', rule_id: 'rule-1', }, ], @@ -220,6 +221,7 @@ describe('importRuleActionConnectors', () => { status_code: 404, }, rule_id: 'rule-1', + id: 'cabc78e0-9031-11ed-b076-53cc4d57aaf1,cabc78e0-9031-11ed-b076-53cc4d57aaf2', }, ], warnings: [], @@ -270,6 +272,7 @@ describe('importRuleActionConnectors', () => { status_code: 404, }, rule_id: 'rule-1,rule-2', + id: 'cabc78e0-9031-11ed-b076-53cc4d57aaf1,cabc78e0-9031-11ed-b076-53cc4d57aaf2', }, ], warnings: [], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/utils/index.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/utils/index.ts index caea8ad664f01..4ab122f6da94e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/utils/index.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/action_connectors/utils/index.ts @@ -43,6 +43,7 @@ export const handleActionsHaveNoConnectors = ( : 'connector is missing. Connector id missing is:'; errors.push( createBulkErrorObject({ + id: actionsIds.join(), statusCode: 404, message: `${actionsIds.length} ${errorMessage} ${actionsIds.join(', ')}`, ruleId: ruleIds, diff --git a/x-pack/plugins/synthetics/e2e/page_objects/login.tsx b/x-pack/plugins/synthetics/e2e/page_objects/login.tsx index a8a55aadab31d..92c4de21ff154 100644 --- a/x-pack/plugins/synthetics/e2e/page_objects/login.tsx +++ b/x-pack/plugins/synthetics/e2e/page_objects/login.tsx @@ -23,14 +23,6 @@ export function loginPageProvider({ await waitForLoadingToFinish({ page }); }, async loginToKibana(usernameT?: 'editor' | 'viewer', passwordT?: string) { - try { - // Close Monitor Management tour added in 8.2.0 - await page.addInitScript(() => { - window.localStorage.setItem('xpack.synthetics.monitorManagement.openTour', 'false'); - }); - } catch (e) { - // ignore - } if (isRemote) { await page.click('text="Log in with Elasticsearch"'); } diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/wrappers/service_allowed_wrapper.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/wrappers/service_allowed_wrapper.tsx index 163ed0d37b7c3..59474a8f618dc 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/wrappers/service_allowed_wrapper.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/wrappers/service_allowed_wrapper.tsx @@ -27,7 +27,7 @@ export const ServiceAllowedWrapper: React.FC = ({ children }) => { return ( {MONITOR_MANAGEMENT_LABEL}} - body={

{PUBLIC_BETA_DESCRIPTION}

} + body={

{ACCESS_RESTRICTED_MESSAGE}

} actions={[ {REQUEST_ACCESS_LABEL} @@ -55,10 +55,9 @@ const LOADING_MONITOR_MANAGEMENT_LABEL = i18n.translate( } ); -export const PUBLIC_BETA_DESCRIPTION = i18n.translate( - 'xpack.synthetics.monitorManagement.publicBetaDescription', +export const ACCESS_RESTRICTED_MESSAGE = i18n.translate( + 'xpack.synthetics.monitorManagement.accessRestricted', { - defaultMessage: - "We've got a brand new app on the way. In the meantime, we're excited to give you early access to our globally managed testing infrastructure. This will allow you to upload synthetic monitors using our new point and click script recorder and manage your monitors with a new UI.", + defaultMessage: 'Your access to globally managed testing infrastructure is restricted.', } ); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx index 4749e3c810116..7e19abbf758ce 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/filter_group.tsx @@ -9,16 +9,33 @@ import React from 'react'; import { EuiFilterGroup } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { useSelector } from 'react-redux'; +import { useGetUrlParams } from '../../../../hooks'; import { selectServiceLocationsState } from '../../../../state'; import { SyntheticsMonitorFilterItem, getSyntheticsFilterDisplayValues, SyntheticsMonitorFilterChangeHandler, + LabelWithCountValue, } from './filter_fields'; import { useFilters } from './use_filters'; import { FilterButton } from './filter_button'; +const mixUrlValues = ( + values?: LabelWithCountValue[], + urlLabels?: string[] +): LabelWithCountValue[] => { + const urlValues = urlLabels?.map((label) => ({ label, count: 0 })) ?? []; + const newValues = [...(values ?? [])]; + // add url values that are not in the values + urlValues.forEach((urlValue) => { + if (!newValues.find((value) => value.label === urlValue.label)) { + newValues.push(urlValue); + } + }); + return newValues; +}; + export const FilterGroup = ({ handleFilterChange, }: { @@ -28,26 +45,44 @@ export const FilterGroup = ({ const { locations } = useSelector(selectServiceLocationsState); + const urlParams = useGetUrlParams(); + const filters: SyntheticsMonitorFilterItem[] = [ { label: TYPE_LABEL, field: 'monitorTypes', - values: getSyntheticsFilterDisplayValues(data.monitorTypes, 'monitorTypes', locations), + values: getSyntheticsFilterDisplayValues( + mixUrlValues(data.monitorTypes, urlParams.monitorTypes), + 'monitorTypes', + locations + ), }, { label: LOCATION_LABEL, field: 'locations', - values: getSyntheticsFilterDisplayValues(data.locations, 'locations', locations), + values: getSyntheticsFilterDisplayValues( + mixUrlValues(data.locations, urlParams.locations), + 'locations', + locations + ), }, { label: TAGS_LABEL, field: 'tags', - values: getSyntheticsFilterDisplayValues(data.tags, 'tags', locations), + values: getSyntheticsFilterDisplayValues( + mixUrlValues(data.tags, urlParams.tags), + 'tags', + locations + ), }, { label: SCHEDULE_LABEL, field: 'schedules', - values: getSyntheticsFilterDisplayValues(data.schedules, 'schedules', locations), + values: getSyntheticsFilterDisplayValues( + mixUrlValues(data.schedules, urlParams.schedules), + 'schedules', + locations + ), }, ]; @@ -55,7 +90,11 @@ export const FilterGroup = ({ filters.push({ label: PROJECT_LABEL, field: 'projects', - values: getSyntheticsFilterDisplayValues(data.projects, 'projects', locations), + values: getSyntheticsFilterDisplayValues( + mixUrlValues(data.projects, urlParams.projects), + 'projects', + locations + ), }); } diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx index 4eec46469ca06..45de1899537ea 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/list_filters.tsx @@ -5,14 +5,14 @@ * 2.0. */ -import React, { memo } from 'react'; +import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { FilterGroup } from './filter_group'; import { SearchField } from '../search_field'; import { SyntheticsMonitorFilterChangeHandler } from './filter_fields'; -export const ListFilters = memo(function ({ +export const ListFilters = function ({ handleFilterChange, }: { handleFilterChange: SyntheticsMonitorFilterChangeHandler; @@ -27,4 +27,4 @@ export const ListFilters = memo(function ({
); -}); +}; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_service_allowed.ts b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_service_allowed.ts index 12a2ed7043973..2e2e0f1254acf 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_service_allowed.ts +++ b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_service_allowed.ts @@ -19,5 +19,5 @@ export const useSyntheticsServiceAllowed = () => { // return useSelector(syntheticsServiceAllowedSelector); // TODO Implement for Synthetics App - return { isAllowed: true, signupUrl: 'https://example.com', loading: false }; + return { isAllowed: true, signupUrl: undefined, loading: false }; }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts b/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts index 378855def3ef7..bbd0d70afd339 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts +++ b/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts @@ -118,8 +118,8 @@ export const monitorListReducer = createReducer(initialState, (builder) => { delete state.monitorUpsertStatuses[action.payload]; } }) - .addCase(cleanMonitorListState, () => { - return initialState; + .addCase(cleanMonitorListState, (state) => { + return { ...initialState, pageState: state.pageState }; }); }); diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx index f8447d1cb2741..627f89b718742 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/header/manage_monitors_btn.tsx @@ -5,89 +5,34 @@ * 2.0. */ -import { EuiButton, EuiHeaderLink, EuiLink, EuiSpacer, EuiTourStep, EuiText } from '@elastic/eui'; +import { EuiHeaderLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { useHistory } from 'react-router-dom'; -import useLocalStorage from 'react-use/lib/useLocalStorage'; import { MONITOR_MANAGEMENT_ROUTE } from '../../../../../common/constants'; -import { PUBLIC_BETA_DESCRIPTION } from '../../../pages/monitor_management/service_allowed_wrapper'; export const ManageMonitorsBtn = () => { - const [isOpen, setIsOpen] = useLocalStorage('xpack.synthetics.monitorManagement.openTour', true); - const history = useHistory(); return ( - - -

{PUBLIC_BETA_DESCRIPTION}

-
- - - {MONITOR_MANAGEMENT_LABEL} - - - } - isStepOpen={isOpen} - onFinish={() => setIsOpen(false)} - step={1} - stepsTotal={1} - subtitle={NEW_LABEL} - title={GETTING_STARTED_LABEL} - anchorPosition="upCenter" - maxWidth={416} - footerAction={ - setIsOpen(false)}> - {DISMISS_LABEL} - - } + - - - -
+ + ); }; -const GETTING_STARTED_LABEL = i18n.translate( - 'xpack.synthetics.monitorManagement.gettingStarted.label', - { - defaultMessage: 'Get started with Synthetic Monitoring', - } -); - -const MONITOR_MANAGEMENT_LABEL = i18n.translate('xpack.synthetics.monitorManagement.try.label', { - defaultMessage: 'Try Monitor Management', -}); -const DISMISS_LABEL = i18n.translate('xpack.synthetics.monitorManagement.try.dismiss', { - defaultMessage: 'Dismiss', -}); - const NAVIGATE_LABEL = i18n.translate('xpack.synthetics.page_header.manageLink.label', { defaultMessage: 'Navigate to the Uptime Monitor Management page', }); - -const NEW_LABEL = i18n.translate('xpack.synthetics.monitorManagement.new.label', { - defaultMessage: 'New', -}); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index aed7fe5ae463b..fbd6695963d91 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -33653,7 +33653,6 @@ "xpack.synthetics.monitorManagement.getAPIKeyLabel.label": "Clés d'API", "xpack.synthetics.monitorManagement.getAPIKeyLabel.loading": "Génération d’une clé d’API", "xpack.synthetics.monitorManagement.getAPIKeyReducedPermissions.description": "Utilisez une clé d’API pour transmettre des moniteurs à distance à partir d'un pipeline CLI ou CD. Pour générer une clé d’API, vous devez disposer des autorisations de gérer les clés d’API et d’un accès en écriture à Uptime. Veuillez contacter votre administrateur.", - "xpack.synthetics.monitorManagement.gettingStarted.label": "Lancez-vous avec Synthetic Monitoring", "xpack.synthetics.monitorManagement.heading": "Gestion des moniteurs", "xpack.synthetics.monitorManagement.hostFieldLabel": "Hôte", "xpack.synthetics.monitorManagement.inProgress": "EN COURS", @@ -33702,7 +33701,6 @@ "xpack.synthetics.monitorManagement.monitorSync.failure.title": "Impossible de synchroniser les moniteurs avec le service Synthetics", "xpack.synthetics.monitorManagement.nameRequired": "Le nom de l’emplacement est requis", "xpack.synthetics.monitorManagement.needPermissions": "Permissions requises", - "xpack.synthetics.monitorManagement.new.label": "Nouveauté", "xpack.synthetics.monitorManagement.noLabel": "Annuler", "xpack.synthetics.monitorManagement.overviewTab.title": "Aperçu", "xpack.synthetics.monitorManagement.pageHeader.title": "Gestion des moniteurs", @@ -33737,8 +33735,6 @@ "xpack.synthetics.monitorManagement.syntheticsEnableToolTip": "Activez la Gestion des moniteurs pour créer des moniteurs légers et basés sur un navigateur réel à partir d'emplacements du monde entier.", "xpack.synthetics.monitorManagement.techPreviewLabel": "Préversion technique", "xpack.synthetics.monitorManagement.testResult": "Résultat du test", - "xpack.synthetics.monitorManagement.try.dismiss": "Rejeter", - "xpack.synthetics.monitorManagement.try.label": "Essayer la Gestion des moniteurs", "xpack.synthetics.monitorManagement.updateMonitorLabel": "Mettre à jour le moniteur", "xpack.synthetics.monitorManagement.urlFieldLabel": "Url", "xpack.synthetics.monitorManagement.urlRequiredLabel": "L'URL est requise", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index efdd751897a6e..8ed17cfebea7a 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -33624,7 +33624,6 @@ "xpack.synthetics.monitorManagement.getAPIKeyLabel.label": "API キー", "xpack.synthetics.monitorManagement.getAPIKeyLabel.loading": "APIキーを生成しています", "xpack.synthetics.monitorManagement.getAPIKeyReducedPermissions.description": "APIキーを使用して、CLIまたはCDパイプラインからリモートでモニターをプッシュします。APIキーを生成するには、APIキーを管理する権限とアップタイム書き込み権限が必要です。管理者にお問い合わせください。", - "xpack.synthetics.monitorManagement.gettingStarted.label": "Synthetic Monitoringの基本", "xpack.synthetics.monitorManagement.heading": "モニター管理", "xpack.synthetics.monitorManagement.hostFieldLabel": "ホスト", "xpack.synthetics.monitorManagement.inProgress": "進行中", @@ -33673,7 +33672,6 @@ "xpack.synthetics.monitorManagement.monitorSync.failure.title": "モニターをSyntheticsサービスと同期できませんでした", "xpack.synthetics.monitorManagement.nameRequired": "場所名は必須です", "xpack.synthetics.monitorManagement.needPermissions": "権限が必要です", - "xpack.synthetics.monitorManagement.new.label": "新規", "xpack.synthetics.monitorManagement.noLabel": "キャンセル", "xpack.synthetics.monitorManagement.overviewTab.title": "概要", "xpack.synthetics.monitorManagement.pageHeader.title": "モニター管理", @@ -33708,8 +33706,6 @@ "xpack.synthetics.monitorManagement.syntheticsEnableToolTip": "モニター管理を有効にすると、世界中の場所から軽量でリアルなブラウザーモニターを作成できます。", "xpack.synthetics.monitorManagement.techPreviewLabel": "テクニカルプレビュー", "xpack.synthetics.monitorManagement.testResult": "テスト結果", - "xpack.synthetics.monitorManagement.try.dismiss": "閉じる", - "xpack.synthetics.monitorManagement.try.label": "モニター管理を試す", "xpack.synthetics.monitorManagement.updateMonitorLabel": "モニターの更新", "xpack.synthetics.monitorManagement.urlFieldLabel": "Url", "xpack.synthetics.monitorManagement.urlRequiredLabel": "URLが必要です", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 8213052dd50de..1fcfd93fc4142 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -33659,7 +33659,6 @@ "xpack.synthetics.monitorManagement.getAPIKeyLabel.label": "API 密钥", "xpack.synthetics.monitorManagement.getAPIKeyLabel.loading": "正在生成 API 密钥", "xpack.synthetics.monitorManagement.getAPIKeyReducedPermissions.description": "使用 API 密钥从 CLI 或 CD 管道远程推送监测。要生成 API 密钥,您必须有权管理 API 密钥并具有 Uptime 写入权限。请联系您的管理员。", - "xpack.synthetics.monitorManagement.gettingStarted.label": "开始使用 Synthetic 监测", "xpack.synthetics.monitorManagement.heading": "监测管理", "xpack.synthetics.monitorManagement.hostFieldLabel": "主机", "xpack.synthetics.monitorManagement.inProgress": "进行中", @@ -33708,7 +33707,6 @@ "xpack.synthetics.monitorManagement.monitorSync.failure.title": "监测无法与 Synthetics 服务同步", "xpack.synthetics.monitorManagement.nameRequired": "“位置名称”必填", "xpack.synthetics.monitorManagement.needPermissions": "需要权限", - "xpack.synthetics.monitorManagement.new.label": "新建", "xpack.synthetics.monitorManagement.noLabel": "取消", "xpack.synthetics.monitorManagement.overviewTab.title": "概览", "xpack.synthetics.monitorManagement.pageHeader.title": "监测管理", @@ -33743,8 +33741,6 @@ "xpack.synthetics.monitorManagement.syntheticsEnableToolTip": "启用监测管理以在全球各个地点创建轻量级、真正的浏览器监测。", "xpack.synthetics.monitorManagement.techPreviewLabel": "技术预览", "xpack.synthetics.monitorManagement.testResult": "测试结果", - "xpack.synthetics.monitorManagement.try.dismiss": "关闭", - "xpack.synthetics.monitorManagement.try.label": "尝试监测管理", "xpack.synthetics.monitorManagement.updateMonitorLabel": "更新监测", "xpack.synthetics.monitorManagement.urlFieldLabel": "URL", "xpack.synthetics.monitorManagement.urlRequiredLabel": "“URL”必填", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list_bulk_delete.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list_bulk_delete.test.tsx index d7737d3af99d8..6debb7fe561c1 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list_bulk_delete.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list_bulk_delete.test.tsx @@ -127,7 +127,8 @@ const renderWithProviders = (ui: any) => { return render(ui, { wrapper: AllTheProviders }); }; -describe('Rules list Bulk Delete', () => { +// FLAKY: https://github.com/elastic/kibana/issues/152521 +describe.skip('Rules list Bulk Delete', () => { beforeEach(async () => { (getIsExperimentalFeatureEnabled as jest.Mock).mockImplementation(() => false); loadRulesWithKueryFilter.mockResolvedValue({ diff --git a/x-pack/test/api_integration/apis/ml/config.ts b/x-pack/test/api_integration/apis/ml/config.ts index 925eda2a5bea8..0f467331cbf88 100644 --- a/x-pack/test/api_integration/apis/ml/config.ts +++ b/x-pack/test/api_integration/apis/ml/config.ts @@ -14,7 +14,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...baseIntegrationTestsConfig.getAll(), testFiles: [require.resolve('.')], junit: { - reportName: 'Chrome X-Pack UI Functional Tests - ml', + reportName: 'X-Pack API Integration Tests - ml', }, }; } diff --git a/x-pack/test/api_integration/apis/transform/config.ts b/x-pack/test/api_integration/apis/transform/config.ts index 7dac20656b8ea..3689c884d1000 100644 --- a/x-pack/test/api_integration/apis/transform/config.ts +++ b/x-pack/test/api_integration/apis/transform/config.ts @@ -14,7 +14,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...baseIntegrationTestsConfig.getAll(), testFiles: [require.resolve('.')], junit: { - reportName: 'Chrome X-Pack UI Functional Tests - transform', + reportName: 'X-Pack API Integration Tests - transform', }, }; } diff --git a/x-pack/test/cases_api_integration/common/lib/mock.ts b/x-pack/test/cases_api_integration/common/lib/mock.ts index f81d7e45cce9e..149db8b0e316a 100644 --- a/x-pack/test/cases_api_integration/common/lib/mock.ts +++ b/x-pack/test/cases_api_integration/common/lib/mock.ts @@ -22,6 +22,8 @@ import { CommentRequestExternalReferenceSOType, CommentRequestExternalReferenceNoSOType, CommentRequestPersistableStateType, + FILE_ATTACHMENT_TYPE, + FileAttachmentMetadata, } from '@kbn/cases-plugin/common/api'; export const defaultUser = { email: null, full_name: null, username: 'elastic' }; @@ -122,6 +124,28 @@ export const postExternalReferenceSOReq: CommentRequestExternalReferenceSOType = externalReferenceStorage: { type: ExternalReferenceStorageType.savedObject, soType: 'test-type' }, }; +export const fileMetadata = () => ({ + name: 'test_file', + extension: 'png', + mimeType: 'image/png', + createdAt: '2023-02-27T20:26:54.345Z', +}); + +export const fileAttachmentMetadata: FileAttachmentMetadata = { + files: [fileMetadata()], +}; + +export const getFilesAttachmentReq = ( + req?: Partial +): CommentRequestExternalReferenceSOType => { + return { + ...postExternalReferenceSOReq, + externalReferenceAttachmentTypeId: FILE_ATTACHMENT_TYPE, + externalReferenceMetadata: { ...fileAttachmentMetadata }, + ...req, + }; +}; + export const persistableStateAttachment: CommentRequestPersistableStateType = { type: CommentType.persistableState, owner: 'securitySolutionFixture', diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/patch_comment.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/patch_comment.ts index c682896af4442..fc7d86306fc41 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/patch_comment.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/patch_comment.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { set } from '@kbn/safer-lodash-set'; import { omit } from 'lodash/fp'; import expect from '@kbn/expect'; import { @@ -20,6 +21,8 @@ import { postCommentUserReq, postCommentAlertReq, getPostCaseRequest, + getFilesAttachmentReq, + fileAttachmentMetadata, } from '../../../../common/lib/mock'; import { deleteAllCaseItems, @@ -30,6 +33,7 @@ import { createComment, updateComment, superUserSpace1Auth, + removeServerGeneratedPropertiesFromSavedObject, } from '../../../../common/lib/api'; import { globalRead, @@ -328,6 +332,89 @@ export default ({ getService }: FtrProviderContext): void => { }); }); + describe('files', () => { + it('should update the file attachment name to superfile', async () => { + const postedCase = await createCase(supertest, postCaseReq); + const patchedCase = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + }); + + const attachmentWithUpdatedFileName = set( + getFilesAttachmentReq(), + 'externalReferenceMetadata.files[0].name', + 'superfile' + ); + + const updatedCase = await updateComment({ + supertest, + caseId: postedCase.id, + req: { + ...attachmentWithUpdatedFileName, + id: patchedCase.comments![0].id, + version: patchedCase.comments![0].version, + }, + }); + + const comparableAttachmentFields = removeServerGeneratedPropertiesFromSavedObject( + updatedCase.comments![0] + ); + + expect(comparableAttachmentFields).to.eql({ + ...attachmentWithUpdatedFileName, + pushed_at: null, + pushed_by: null, + updated_by: defaultUser, + created_by: defaultUser, + owner: 'securitySolutionFixture', + }); + }); + + it('should return a 400 when attempting to update a file attachment with empty metadata', async () => { + const postedCase = await createCase(supertest, postCaseReq); + const patchedCase = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + }); + + await updateComment({ + supertest, + caseId: postedCase.id, + req: { + ...getFilesAttachmentReq({ externalReferenceMetadata: {} }), + id: patchedCase.comments![0].id, + version: patchedCase.comments![0].version, + }, + expectedHttpCode: 400, + }); + }); + + it('should return a 400 when attempting to update a file attachment with invalid metadata', async () => { + const postedCase = await createCase(supertest, postCaseReq); + const patchedCase = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + }); + + await updateComment({ + supertest, + caseId: postedCase.id, + req: { + ...getFilesAttachmentReq({ + // intentionally creating an invalid format here by using foo instead of files + externalReferenceMetadata: { foo: fileAttachmentMetadata.files }, + }), + id: patchedCase.comments![0].id, + version: patchedCase.comments![0].version, + }, + expectedHttpCode: 400, + }); + }); + }); + describe('alert format', () => { type AlertComment = CommentType.alert; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/post_comment.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/post_comment.ts index b5a0ceb223375..d3e864374d31e 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/post_comment.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/comments/post_comment.ts @@ -14,6 +14,7 @@ import { AttributesTypeUser, AttributesTypeAlerts, CaseStatuses, + CommentRequestExternalReferenceSOType, } from '@kbn/cases-plugin/common/api'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { @@ -22,6 +23,9 @@ import { postCommentUserReq, postCommentAlertReq, getPostCaseRequest, + getFilesAttachmentReq, + fileAttachmentMetadata, + fileMetadata, } from '../../../../common/lib/mock'; import { deleteAllCaseItems, @@ -35,6 +39,7 @@ import { updateCase, getCaseUserActions, removeServerGeneratedPropertiesFromUserAction, + bulkCreateAttachments, } from '../../../../common/lib/api'; import { createSignalsIndex, @@ -158,9 +163,117 @@ export default ({ getService }: FtrProviderContext): void => { owner: 'securitySolutionFixture', }); }); + + describe('files', () => { + it('should create a file attachment', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + const caseWithAttachments = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + }); + + const fileAttachment = + caseWithAttachments.comments![0] as CommentRequestExternalReferenceSOType; + + expect(caseWithAttachments.totalComment).to.be(1); + expect(fileAttachment.externalReferenceMetadata).to.eql(fileAttachmentMetadata); + }); + + it('should create a single file attachment with multiple file objects within it', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + const files = [fileMetadata(), fileMetadata()]; + + const caseWithAttachments = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq({ + externalReferenceMetadata: { + files, + }, + }), + }); + + const firstFileAttachment = + caseWithAttachments.comments![0] as CommentRequestExternalReferenceSOType; + + expect(caseWithAttachments.totalComment).to.be(1); + expect(firstFileAttachment.externalReferenceMetadata).to.eql({ files }); + }); + + it('should create a file attachments when there are 99 attachments already within the case', async () => { + const fileRequests = [...Array(99).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + + const caseWith100Files = await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + }); + + expect(caseWith100Files.comments?.length).to.be(100); + }); + }); }); describe('unhappy path', () => { + describe('files', () => { + it('should return a 400 when attaching a file with metadata that is missing the file field', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq({ + externalReferenceMetadata: { + // intentionally structuring the data in a way that is invalid (using foo instead of files) + foo: fileAttachmentMetadata.files, + }, + }), + expectedHttpCode: 400, + }); + }); + + it('should return a 400 when attaching a file with an empty metadata', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq({ + externalReferenceMetadata: {}, + }), + expectedHttpCode: 400, + }); + }); + + it('should return a 400 when attempting to create a file attachment when the case already has 100 files attached', async () => { + const fileRequests = [...Array(100).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + + await createComment({ + supertest, + caseId: postedCase.id, + params: getFilesAttachmentReq(), + expectedHttpCode: 400, + }); + }); + }); + it('400s when attempting to create a comment with a different owner than the case', async () => { const postedCase = await createCase( supertest, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/internal/bulk_create_attachments.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/internal/bulk_create_attachments.ts index de39145878b6b..859f1922e375f 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/internal/bulk_create_attachments.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/internal/bulk_create_attachments.ts @@ -13,6 +13,7 @@ import { BulkCreateCommentRequest, CaseResponse, CaseStatuses, + CommentRequestExternalReferenceSOType, CommentType, } from '@kbn/cases-plugin/common/api'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -22,6 +23,10 @@ import { postCommentUserReq, postCommentAlertReq, getPostCaseRequest, + getFilesAttachmentReq, + fileAttachmentMetadata, + postExternalReferenceSOReq, + fileMetadata, } from '../../../../common/lib/mock'; import { deleteAllCaseItems, @@ -147,9 +152,175 @@ export default ({ getService }: FtrProviderContext): void => { }); }); }); + + describe('files', () => { + it('should bulk create multiple file attachments', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + const caseWithAttachments = await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [getFilesAttachmentReq(), getFilesAttachmentReq()], + }); + + const firstFileAttachment = + caseWithAttachments.comments![0] as CommentRequestExternalReferenceSOType; + const secondFileAttachment = + caseWithAttachments.comments![1] as CommentRequestExternalReferenceSOType; + + expect(caseWithAttachments.totalComment).to.be(2); + expect(firstFileAttachment.externalReferenceMetadata).to.eql(fileAttachmentMetadata); + expect(secondFileAttachment.externalReferenceMetadata).to.eql(fileAttachmentMetadata); + }); + + it('should create a single file attachment with multiple file objects within it', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + const files = [fileMetadata(), fileMetadata()]; + + const caseWithAttachments = await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [ + getFilesAttachmentReq({ + externalReferenceMetadata: { + files, + }, + }), + ], + }); + + const firstFileAttachment = + caseWithAttachments.comments![0] as CommentRequestExternalReferenceSOType; + + expect(caseWithAttachments.totalComment).to.be(1); + expect(firstFileAttachment.externalReferenceMetadata).to.eql({ files }); + }); + + it('should bulk create 100 file attachments', async () => { + const fileRequests = [...Array(100).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + }); + + it('should bulk create 100 file attachments when there is another attachment type already associated with the case', async () => { + const fileRequests = [...Array(100).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [postExternalReferenceSOReq], + }); + + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + }); + + it('should bulk create 100 file attachments when there is another attachment type in the request', async () => { + const fileRequests = [...Array(100).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [postExternalReferenceSOReq, ...fileRequests], + }); + }); + }); }); describe('errors', () => { + describe('files', () => { + it('400s when attaching a file with metadata that is missing the file field', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [ + postCommentUserReq, + getFilesAttachmentReq({ + externalReferenceMetadata: { + // intentionally structure the data in a way that is invalid + food: fileAttachmentMetadata.files, + }, + }), + ], + expectedHttpCode: 400, + }); + }); + + it('should return a 400 when attaching a file with an empty metadata', async () => { + const postedCase = await createCase(supertest, getPostCaseRequest()); + + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [ + getFilesAttachmentReq({ + externalReferenceMetadata: {}, + }), + ], + expectedHttpCode: 400, + }); + }); + + it('400s when attempting to add more than 100 files to a case', async () => { + const fileRequests = [...Array(101).keys()].map(() => getFilesAttachmentReq()); + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + expectedHttpCode: 400, + }); + }); + + it('400s when attempting to add a file to a case that already has 100 files', async () => { + const fileRequests = [...Array(100).keys()].map(() => getFilesAttachmentReq()); + + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: [getFilesAttachmentReq()], + expectedHttpCode: 400, + }); + }); + + it('400s when the case already has files and the sum of existing and new files exceed 100', async () => { + const fileRequests = [...Array(51).keys()].map(() => getFilesAttachmentReq()); + const postedCase = await createCase(supertest, postCaseReq); + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + }); + + await bulkCreateAttachments({ + supertest, + caseId: postedCase.id, + params: fileRequests, + expectedHttpCode: 400, + }); + }); + }); + it('400s when attempting to create a comment with a different owner than the case', async () => { const postedCase = await createCase( supertest, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts index 4987ab5b307ec..fb48391547b99 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts @@ -787,7 +787,7 @@ export default ({ getService }: FtrProviderContext): void => { } }); - it('should not get a case in a space the user does not have permissions to', async () => { + it('should not get connectors in a space the user does not have permissions to', async () => { const { postedCase } = await createCaseWithConnector({ supertest: supertestWithoutAuth, serviceNowSimulatorURL, diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/import_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/import_rules.ts index 123e7bdbed2e5..a15b6d799adea 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/import_rules.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/import_rules.ts @@ -866,6 +866,7 @@ export default ({ getService }: FtrProviderContext): void => { errors: [ { rule_id: 'rule-1', + id: '123', error: { status_code: 404, message: '1 connector is missing. Connector id missing is: 123', @@ -881,6 +882,7 @@ export default ({ getService }: FtrProviderContext): void => { action_connectors_errors: [ { rule_id: 'rule-1', + id: '123', error: { status_code: 404, message: '1 connector is missing. Connector id missing is: 123', @@ -1153,6 +1155,7 @@ export default ({ getService }: FtrProviderContext): void => { errors: [ { rule_id: 'rule-2', + id: 'cabc78e0-9031-11ed-b076-53cc4d57aa22', error: { status_code: 404, message: @@ -1173,6 +1176,7 @@ export default ({ getService }: FtrProviderContext): void => { '1 connector is missing. Connector id missing is: cabc78e0-9031-11ed-b076-53cc4d57aa22', }, rule_id: 'rule-2', + id: 'cabc78e0-9031-11ed-b076-53cc4d57aa22', }, ], action_connectors_warnings: [], diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/new_terms.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/new_terms.ts index ded6e5487dbe5..88976b8ad3b18 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/new_terms.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/new_terms.ts @@ -6,6 +6,7 @@ */ import expect from '@kbn/expect'; +import { v4 as uuidv4 } from 'uuid'; import { NewTermsRuleCreateProps } from '@kbn/security-solution-plugin/common/detection_engine/rule_schema'; import { orderBy } from 'lodash'; @@ -26,16 +27,54 @@ import { import { FtrProviderContext } from '../../common/ftr_provider_context'; import { previewRuleWithExceptionEntries } from '../../utils/preview_rule_with_exception_entries'; import { deleteAllExceptions } from '../../../lists_api_integration/utils'; +import { dataGeneratorFactory } from '../../utils/data_generator'; import { largeArraysBuckets } from './mocks/new_terms'; import { removeRandomValuedProperties } from './utils'; +const historicalWindowStart = '2022-10-13T05:00:04.000Z'; +const ruleExecutionStart = '2022-10-19T05:00:04.000Z'; + // eslint-disable-next-line import/no-default-export export default ({ getService }: FtrProviderContext) => { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); const es = getService('es'); const log = getService('log'); + const { indexEnhancedDocuments } = dataGeneratorFactory({ + es, + index: 'new_terms', + log, + }); + + /** + * indexes 2 sets of documents: + * - documents in historical window + * - documents in rule execution window + * @returns id of documents + */ + const newTermsTestExecutionSetup = async ({ + historicalDocuments, + ruleExecutionDocuments, + }: { + historicalDocuments: Array>; + ruleExecutionDocuments: Array>; + }) => { + const testId = uuidv4(); + + await indexEnhancedDocuments({ + interval: [historicalWindowStart, ruleExecutionStart], + id: testId, + documents: historicalDocuments, + }); + + await indexEnhancedDocuments({ + id: testId, + documents: ruleExecutionDocuments, + }); + + return testId; + }; describe('New terms type rules', () => { before(async () => { @@ -246,13 +285,36 @@ export default ({ getService }: FtrProviderContext) => { }); it('should generate 1 alert for unique combination of existing terms', async () => { + // historical window documents + const historicalDocuments = [ + { + host: { name: 'host-0', ip: '127.0.0.1' }, + }, + { + host: { name: 'host-1', ip: '127.0.0.2' }, + }, + ]; + + // rule execution documents + const ruleExecutionDocuments = [ + { + host: { name: 'host-0', ip: '127.0.0.2' }, + }, + ]; + + const testId = await newTermsTestExecutionSetup({ + historicalDocuments, + ruleExecutionDocuments, + }); + // ensure there are no alerts for single new terms fields, it means values are not new const rule: NewTermsRuleCreateProps = { ...getCreateNewTermsRulesSchemaMock('rule-1', true), index: ['new_terms'], new_terms_fields: ['host.name', 'host.ip'], - from: '2020-10-19T05:00:04.000Z', - history_window_start: '2020-10-13T05:00:04.000Z', + from: ruleExecutionStart, + history_window_start: historicalWindowStart, + query: `id: "${testId}"`, }; // shouldn't be terms for 'host.ip' const hostIpPreview = await previewRule({ @@ -285,12 +347,36 @@ export default ({ getService }: FtrProviderContext) => { }); it('should generate 5 alerts, 1 for each new unique combination in 2 fields', async () => { + const historicalDocuments = [ + { + 'source.ip': ['192.168.1.1'], + tags: ['tag-1', 'tag-2'], + }, + { + 'source.ip': ['192.168.1.1'], + tags: ['tag-1'], + }, + ]; + + const ruleExecutionDocuments = [ + { + 'source.ip': ['192.168.1.1', '192.168.1.2'], + tags: ['tag-new-1', 'tag-2', 'tag-new-3'], + }, + ]; + + const testId = await newTermsTestExecutionSetup({ + historicalDocuments, + ruleExecutionDocuments, + }); + const rule: NewTermsRuleCreateProps = { ...getCreateNewTermsRulesSchemaMock('rule-1', true), index: ['new_terms'], new_terms_fields: ['source.ip', 'tags'], - from: '2020-10-19T05:00:04.000Z', - history_window_start: '2020-10-13T05:00:04.000Z', + from: ruleExecutionStart, + history_window_start: historicalWindowStart, + query: `id: "${testId}"`, }; const { previewId } = await previewRule({ supertest, rule }); @@ -313,12 +399,24 @@ export default ({ getService }: FtrProviderContext) => { }); it('should generate 1 alert for unique combination of terms, one of which is a number', async () => { + const historicalDocuments = [ + { user: { name: 'user-0', id: 0 } }, + { user: { name: 'user-1', id: 1 } }, + ]; + const ruleExecutionDocuments = [{ user: { name: 'user-0', id: 1 } }]; + + const testId = await newTermsTestExecutionSetup({ + historicalDocuments, + ruleExecutionDocuments, + }); + const rule: NewTermsRuleCreateProps = { ...getCreateNewTermsRulesSchemaMock('rule-1', true), index: ['new_terms'], new_terms_fields: ['user.name', 'user.id'], - from: '2020-10-19T05:00:04.000Z', - history_window_start: '2020-10-13T05:00:04.000Z', + from: ruleExecutionStart, + history_window_start: historicalWindowStart, + query: `id: "${testId}"`, }; const { previewId } = await previewRule({ supertest, rule }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts index 0bcb05b5e1c40..a4b91a7002183 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts @@ -6,8 +6,6 @@ */ import expect from 'expect'; -import { v4 as uuidv4 } from 'uuid'; - import { deleteAllRules, deleteSignalsIndex, @@ -15,7 +13,7 @@ import { getRuleForSignalTesting, previewRule, } from '../../utils'; -import { indexDocumentsFactory } from '../../utils/data_generator'; +import { dataGeneratorFactory, enhanceDocument } from '../../utils/data_generator'; import { FtrProviderContext } from '../../common/ftr_provider_context'; const getQueryRule = (docIdToQuery: string) => ({ @@ -23,12 +21,6 @@ const getQueryRule = (docIdToQuery: string) => ({ query: `id: "${docIdToQuery}"`, }); -const getDocument = (id: string, doc: Record) => ({ - id, - '@timestamp': new Date().toISOString(), - ...doc, -}); - // eslint-disable-next-line import/no-default-export export default ({ getService }: FtrProviderContext) => { const supertest = getService('supertest'); @@ -36,7 +28,7 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); const log = getService('log'); - const indexDocuments = indexDocumentsFactory({ + const { indexListOfDocuments } = dataGeneratorFactory({ es, index: 'ecs_non_compliant', log, @@ -49,13 +41,12 @@ export default ({ getService }: FtrProviderContext) => { * 3. return created preview alert and errors logs */ const indexAndCreatePreviewAlert = async (document: Record) => { - const documentId = uuidv4(); - - await indexDocuments([getDocument(documentId, document)]); + const enhancedDocument = enhanceDocument({ document }); + await indexListOfDocuments([enhancedDocument]); const { previewId, logs } = await previewRule({ supertest, - rule: getQueryRule(documentId), + rule: getQueryRule(enhancedDocument.id), }); const previewAlerts = await getPreviewAlerts({ es, previewId }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/query.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/query.ts index c77ac2049fde5..2f769a1a1168f 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/query.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/query.ts @@ -49,7 +49,7 @@ import { setSignalStatus, } from '../../utils'; import { FtrProviderContext } from '../../common/ftr_provider_context'; -import { indexDocumentsFactory } from '../../utils/data_generator'; +import { dataGeneratorFactory } from '../../utils/data_generator'; import { patchRule } from '../../utils/patch_rule'; /** @@ -730,7 +730,7 @@ export default ({ getService }: FtrProviderContext) => { }); describe('with a suppression time window', async () => { - const indexDocuments = indexDocumentsFactory({ + const { indexListOfDocuments, indexGeneratedDocuments } = dataGeneratorFactory({ es, index: 'ecs_compliant', log, @@ -758,7 +758,7 @@ export default ({ getService }: FtrProviderContext) => { name: 'agent-1', }, }; - await indexDocuments([firstDocument, firstDocument]); + await indexListOfDocuments([firstDocument, firstDocument]); const rule: QueryRuleCreateProps = { ...getRuleForSignalTesting(['ecs_compliant']), @@ -799,7 +799,7 @@ export default ({ getService }: FtrProviderContext) => { }; // Add a new document, then disable and re-enable to trigger another rule run. The second doc should // trigger an update to the existing alert without changing the timestamp - await indexDocuments([secondDocument, secondDocument]); + await indexListOfDocuments([secondDocument, secondDocument]); await patchRule(supertest, log, { id: createdRule.id, enabled: false }); await patchRule(supertest, log, { id: createdRule.id, enabled: true }); const afterTimestamp = new Date(); @@ -839,7 +839,7 @@ export default ({ getService }: FtrProviderContext) => { name: 'agent-1', }, }; - await indexDocuments([firstDocument, firstDocument]); + await indexListOfDocuments([firstDocument, firstDocument]); const rule: QueryRuleCreateProps = { ...getRuleForSignalTesting(['ecs_compliant']), @@ -875,7 +875,7 @@ export default ({ getService }: FtrProviderContext) => { }; // Add new documents, then disable and re-enable to trigger another rule run. The second doc should // trigger a new alert since the first one is now closed. - await indexDocuments([secondDocument, secondDocument]); + await indexListOfDocuments([secondDocument, secondDocument]); await patchRule(supertest, log, { id: createdRule.id, enabled: false }); await patchRule(supertest, log, { id: createdRule.id, enabled: true }); const afterTimestamp = new Date(); @@ -1160,7 +1160,7 @@ export default ({ getService }: FtrProviderContext) => { ingested: '2020-10-28T06:10:00.000Z', }, }; - await indexDocuments([docWithoutOverride, docWithOverride]); + await indexListOfDocuments([docWithoutOverride, docWithOverride]); const rule: QueryRuleCreateProps = { ...getRuleForSignalTesting(['ecs_compliant']), @@ -1209,26 +1209,22 @@ export default ({ getService }: FtrProviderContext) => { it('should generate and update up to max_signals alerts', async () => { const id = uuidv4(); const timestamp = '2020-10-28T06:00:00.000Z'; - const docs = Array(150) - .fill({}) - .map((_, i) => ({ - id, - '@timestamp': timestamp, - agent: { - name: `agent-${i}`, - }, - })); const laterTimestamp = '2020-10-28T07:00:00.000Z'; - const laterDocs = Array(150) - .fill({}) - .map((_, i) => ({ - id, - '@timestamp': laterTimestamp, - agent: { - name: `agent-${i}`, - }, - })); - await indexDocuments([...docs, ...laterDocs]); + + await Promise.all( + [timestamp, laterTimestamp].map((t) => + indexGeneratedDocuments({ + docsCount: 150, + seed: (index) => ({ + id, + '@timestamp': t, + agent: { + name: `agent-${index}`, + }, + }), + }) + ) + ); const rule: QueryRuleCreateProps = { ...getRuleForSignalTesting(['ecs_compliant']), @@ -1315,7 +1311,7 @@ export default ({ getService }: FtrProviderContext) => { name: 'agent-2', }, }; - await indexDocuments([firstDoc, secondDoc, thirdDoc]); + await indexListOfDocuments([firstDoc, secondDoc, thirdDoc]); const rule: QueryRuleCreateProps = { ...getRuleForSignalTesting(['ecs_compliant']), diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/README.md b/x-pack/test/detection_engine_api_integration/utils/data_generator/README.md new file mode 100644 index 0000000000000..e737e7b133929 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/README.md @@ -0,0 +1,606 @@ +# Data Generator for functional tests + +Helper to generate and index documents for using in Kibana functional tests + +- [Data Generator for functional tests](#data-generator-for-functional-tests) + - [DataGenerator](#datagenerator) + - [Initialization](#initialization) + - [Prerequisites](#prerequisites) + - [dataGeneratorFactory](#datageneratorfactory) + - [methods](#methods) + - [**indexListOfDocuments**](#indexlistofdocuments) + - [**indexGeneratedDocuments**](#indexgenerateddocuments) + - [**indexEnhancedDocuments**](#indexenhanceddocuments) + - [Utils](#utils) + - [**generateDocuments**](#generatedocuments) + - [**enhanceDocument**](#enhancedocument) + - [**enhanceDocuments**](#enhancedocuments) + - [Usage](#usage) + - [create test query rule that queries indexed documents within a test](#create-test-query-rule-that-queries-indexed-documents-within-a-test) + +## DataGenerator + +### Initialization + + +#### Prerequisites +1. Create index mappings in `x-pack/test/functional/es_archives/security_solution` + - create folder for index `foo_bar` + - add mappings file `mappings.json` in it + +
+ x-pack/test/functional/es_archives/security_solution/foo_bar/mappings.json + + ```JSON + { + "type": "index", + "value": { + "index": "foo_bar", + "mappings": { + "properties": { + "id": { + "type": "keyword" + }, + "@timestamp": { + "type": "date" + }, + "foo": { + "type": "keyword" + }, + } + }, + "settings": { + "index": { + "number_of_replicas": "1", + "number_of_shards": "1" + } + } + } + } + ``` +
+2. Add in `before` of the test file index initialization + + ```ts + const esArchiver = getService('esArchiver'); + + before(async () => { + await esArchiver.load( + 'x-pack/test/functional/es_archives/security_solution/foo_bar' + ); + }); + + ``` + +3. Add in `after` of the test file index removal + + ```ts + const esArchiver = getService('esArchiver'); + + before(async () => { + await esArchiver.unload( + 'x-pack/test/functional/es_archives/security_solution/foo_bar' + ); + }); + + ``` + +#### dataGeneratorFactory + +`DataGeneratorParams` + +| Property | Description | Type | +| --------------- | ------------------------------------------------------ | ------ | +| es | ES client | `ESClient` | +| index | index where document will be added | `string` | +| log | log client | `LogClient`| + +1. import and initialize factory + + ```ts + import { dataGeneratorFactory } from '../../utils/data_generator'; + + const es = getService('es'); + const log = getService('log'); + + const { indexListOfDocuments, indexGeneratedDocuments } = dataGeneratorFactory({ + es, + index: 'foo_bar', + log, + }); + + ``` +2. Factory will return 2 methods which can be used to index documents into `foo_bar` + +where `getService` is method from `FtrProviderContext` + +### methods + +#### **indexListOfDocuments** + +| Property | Description | Type | +| --------------- | ------------------------------------------------------ | ------ | +| documents | list of documents to index | `Record` | + +Will index list of documents to `foo_bar` index as defined in `dataGeneratorFactory` params + +```ts + await indexListOfDocuments([{ foo: "bar" }, { id: "test-1" }]) + +``` + +#### **indexGeneratedDocuments** + +Will generate 10 documents in defined interval and index them in `foo_bar` index as defined in `dataGeneratorFactory` params +Method receives same parameters as [generateDocuments](#generateDocuments) util. + +```ts + await indexGeneratedDocuments({ + docsCount: 10, + interval: ['2020-10-28T07:30:00.000Z', '2020-10-30T07:30:00.000Z'], + seed: (i, id, timestamp) => ({ id, '@timestamp': timestamp, seq: i }) + }) + +``` + +#### **indexEnhancedDocuments** + +Will index list of enhanced documents to `foo_bar` index as defined in `dataGeneratorFactory` params +Method receives same parameters as [enhanceDocuments](#enhanceDocuments) util. + +```ts + await indexEnhancedDocuments({ + interval: ['1996-02-15T13:02:37.531Z', '2000-02-15T13:02:37.531Z'], + documents: [{ foo: 'bar' }, { foo: 'bar-1' }, { foo: 'bar-2' }] + }) + +``` + +## Utils + +### **generateDocuments** + +Util `generateDocuments` can generate list of documents based on basic seed function + + Seed callback will receive sequential number of document of document, generated id, timestamp. + Can be used to generate custom document with large set of options depends on needs. See examples below. + + | Property | Description | Type | + | --------------- | ------------------------------------------------------ | ------ | + | docsCount | number of documents to generate | `number` | + | seed | function that receives sequential number of document, generated id, timestamp as arguments and can used it create a document | `(index: number, id: string, timestamp: string) => Document` | + | interval | interval in which generate documents, defined by '@timestamp' field | `[string \| Date string \| Date]` _(optional)_ | + +Examples: + + 1. Generate 10 documents with random id, timestamp in interval between '2020-10-28T07:30:00.000Z', '2020-10-30T07:30:00.000Z', and field `seq` that represents sequential number of document + + ```ts + + const documents = generateDocuments({ + docsCount: 10, + interval: ['2020-10-28T07:30:00.000Z', '2020-10-30T07:30:00.000Z'], + seed: (i, id, timestamp) => ({ id, '@timestamp': timestamp, seq: i }) + }) + ``` + +
+Generated docs + + ```JSON + [ + { + "id": "87d3d231-13c8-4d03-9ae4-d40781b3b2d1", + "@timestamp": "2020-10-30T04:00:55.790Z", + "seq": 0 + }, + { + "id": "90b99797-d0da-460d-86fd-eca40bedff39", + "@timestamp": "2020-10-28T08:43:01.117Z", + "seq": 1 + }, + { + "id": "809c05be-f401-4e31-86e1-55be8af4fac4", + "@timestamp": "2020-10-29T15:06:23.054Z", + "seq": 2 + }, + { + "id": "a2720f82-5401-4eab-b2eb-444a8425c937", + "@timestamp": "2020-10-29T23:19:47.790Z", + "seq": 3 + }, + { + "id": "e36e4418-4e89-4388-97df-97085b3fca92", + "@timestamp": "2020-10-29T09:14:00.966Z", + "seq": 4 + }, + { + "id": "4747adb3-0603-4651-8c0f-0c7df037f779", + "@timestamp": "2020-10-28T14:23:50.500Z", + "seq": 5 + }, + { + "id": "1fbfd873-b0ca-4cda-9c96-9a044622e712", + "@timestamp": "2020-10-28T10:00:20.995Z", + "seq": 6 + }, + { + "id": "9173cf93-1f9f-4f91-be5e-1e6888cb3aae", + "@timestamp": "2020-10-28T08:52:27.830Z", + "seq": 7 + }, + { + "id": "53245337-e383-4b28-9975-acbd79901b7c", + "@timestamp": "2020-10-29T08:58:02.385Z", + "seq": 8 + }, + { + "id": "0c700d33-df10-426e-8f71-677f437923ec", + "@timestamp": "2020-10-29T16:33:10.240Z", + "seq": 9 + } + ] + ``` + +
+ + 2. Generate 3 identical documents `{foo: bar}` + + ```ts + + const documents = generateDocuments({ + docsCount: 3, + seed: () => ({ foo: 'bar' }) + }) + ``` + +
+Generated docs + + ```JSON + [ + { + "foo": "bar" + }, + { + "foo": "bar" + }, + { + "foo": "bar" + } + ] + ``` + +
+ + 3. Generate 5 documents with custom ingested timestamp, with no interval. If interval not defined, timestamp will be current time + + ```ts + + const documents = generateDocuments({ + docsCount: 5, + seed: (i, id, timestamp) => ({ foo: 'bar', event: { ingested: timestamp } }) + }) + ``` + +
+Generated docs + + ```JSON + [ + { + "foo": "bar", + "event": { + "ingested": "2023-02-15T13:02:37.531Z" + } + }, + { + "foo": "bar", + "event": { + "ingested": "2023-02-15T13:02:37.531Z" + } + }, + { + "foo": "bar", + "event": { + "ingested": "2023-02-15T13:02:37.531Z" + } + }, + { + "foo": "bar", + "event": { + "ingested": "2023-02-15T13:02:37.531Z" + } + }, + { + "foo": "bar", + "event": { + "ingested": "2023-02-15T13:02:37.531Z" + } + } + ] + ``` + +
+ + 4. Generate 4 documents with custom if based on sequential number id + + ```ts + + const documents = generateDocuments({ + docsCount: 4, + seed: (i) => ({ foo: 'bar', id: `id-${i}`}) + }) + ``` + +
+Generated docs + + ```JSON + [ + { + "foo": "bar", + "id": "id-0" + }, + { + "foo": "bar", + "id": "id-1" + }, + { + "foo": "bar", + "id": "id-2" + }, + { + "foo": "bar", + "id": "id-3" + } + ] + ``` + +
+ + +### **enhanceDocument** + +Adds generated `uuidv4` id and current time as `@timestamp` to document if `id`, `timestamp` params are not specified + + +`EnhanceDocumentOptions` + +| Property | Description | Type | +| --------------- | ------------------------------------------------------ | ------ | +| id | id for document | `string` _(optional)_ | +| timestamp | timestamp for document | `string` _(optional)_ | +| document | document to enhance | `Record` | + +Examples: + +1. Enhance document with generated `uuidv4` id and current time as `@timestamp` + + ```ts + const document = enhanceDocument({ + document: { foo: 'bar' }, + }); + ``` +
+ document + + ```JSON + { + "foo": "bar", + "id": "b501a64f-0dd4-4275-a38c-889be6a15a4d", + "@timestamp": "2023-02-15T17:21:21.429Z" + } + ``` + +
+ +2. Enhance document with generated `uuidv4` id and predefined timestamp + + + ```ts + const document = enhanceDocument({ + timestamp: '1996-02-15T13:02:37.531Z', + document: { foo: 'bar' }, + }); + ``` +
+ document + + ```JSON + { + "foo": "bar", + "id": "7b7460bf-e173-4744-af15-2c01ac52963b", + "@timestamp": "1996-02-15T13:02:37.531Z" + } + ``` + +
+ +3. Enhance document with predefined id and and current time as `@timestamp` + + + ```ts + const document = enhanceDocument({ + id: 'test-id', + document: { foo: 'bar' }, + }); + ``` +
+ document + + ```JSON + { + "foo": "bar", + "id": "test-id", + "@timestamp": "2023-02-15T17:21:21.429Z" + } + ``` +
+ +### **enhanceDocuments** + + + +Adds generated `uuidv4` `id` property to list of documents if `id` parameter is not specified. +Adds `@timestamp` in defined interval to list of documents. If it's not specified, `@timestamp` will be added as current time + +| Property | Description | Type | +| --------------- | ------------------------------------------------------ | ------ | +| documents | documents to enhance | `Record[]` | +| id | id for documents | `string` _(optional)_ | +| interval | interval in which generate documents, defined by '@timestamp' field | `[string \| Date string \| Date]` _(optional)_ | + +Examples: + +1. Enhance documents with generated `uuidv4` id and current time as `@timestamp` + + ```ts + const documents = enhanceDocuments({ + documents: [{ foo: 'bar' }, { foo: 'bar-1' }, { foo: 'bar-2' }] + }); + ``` +
+ documents + + ```JSON + [ + { + "foo": "bar", + "id": "c55ddd6b-3cf2-4ebf-94d6-4eeeb4e5b655", + "@timestamp": "2023-02-16T16:43:13.573Z" + }, + { + "foo": "bar-1", + "id": "61b157b9-5f1f-4d99-a5bf-072069f5139d", + "@timestamp": "2023-02-16T16:43:13.573Z" + }, + { + "foo": "bar-2", + "id": "04929927-6d9e-4ccc-b083-250e3fe2d7a7", + "@timestamp": "2023-02-16T16:43:13.573Z" + } + ] + ``` + +
+ +2. Enhance document with generated `uuidv4` id and timestamp in predefined interval + + ```ts + const documents = enhanceDocuments({ + interval: ['1996-02-15T13:02:37.531Z', '2000-02-15T13:02:37.531Z'], + documents: [{ foo: 'bar' }, { foo: 'bar-1' }, { foo: 'bar-2' }] + }); + ``` +
+ documents + + ```JSON + [ + { + "foo": "bar", + "id": "883a67cb-0a57-4711-bdf9-e8a394a52460", + "@timestamp": "1998-07-04T15:16:46.587Z" + }, + { + "foo": "bar-1", + "id": "70691d9e-1030-412f-8ae1-c6db50e90e91", + "@timestamp": "1998-05-15T07:00:52.339Z" + }, + { + "foo": "bar-2", + "id": "b2140328-5cc4-4532-947e-30b8fd830ed7", + "@timestamp": "1999-09-01T21:50:38.957Z" + } + ] + ``` + +
+ +3. Enhance documents with predefined id and and current time as `@timestamp` + + ```ts + const documents = enhanceDocuments({ + id: 'test-id', + documents: [{ foo: 'bar' }, { foo: 'bar-1' }, { foo: 'bar-2' }] + }); + ``` +
+ documents + + ```JSON + [ + { + "foo": "bar", + "id": "test-id", + "@timestamp": "2023-02-16T16:43:13.574Z" + }, + { + "foo": "bar-1", + "id": "test-id", + "@timestamp": "2023-02-16T16:43:13.574Z" + }, + { + "foo": "bar-2", + "id": "test-id", + "@timestamp": "2023-02-16T16:43:13.574Z" + } + ] + + ``` +
+ +## Usage + +### create test query rule that queries indexed documents within a test + +When documents generated and indexed, there might be a need to create a test rule that targets only these documents. So, documents generated in the test, will be used only in context of this test. + +There are few possible ways to do this + +1. Create new index every time for a new test. Thus, newly indexed documents, will be the only documents present in test index. It might be costly operation, as it will require to create new index for each test, that re-initialize dataGeneratorFactory, or delete index after rule's run + +2. Use the same id or specific field in documents. + For example: + + ```ts + + const id = uuidv4(); + const firstTimestamp = new Date().toISOString(); + const firstDocument = { + id, + '@timestamp': firstTimestamp, + agent: { + name: 'agent-1', + }, + }; + await indexListOfDocuments([firstDocument, firstDocument]); + + const rule: QueryRuleCreateProps = { + ...getRuleForSignalTesting(['ecs_compliant']), + query: `id:${id}`, + }; + + + ``` + + All documents will have the same `id` and can be queried by following `id:${id}` + +3. Use utility method `getKQLQueryFromDocumentList` that will create query from all ids in generated documents + + ```ts + const { documents } = await indexGeneratedDocuments({ + docsCount: 4, + document: { foo: 'bar' }, + enhance: true, + }); + + const query = getKQLQueryFromDocumentList(documents); + const rule = { + ...getRuleForSignalTesting(['ecs_non_compliant']), + query, + }; + ``` + + util will generate the following query: `(id: "f6ca3ee1-407c-4685-a94b-11ef4ed5136b" or id: "2a7358b2-8cad-47ce-83b7-e4418c266f3e" or id: "9daec569-0ba1-4c46-a0c6-e340cee1c5fb" or id: "b03c2fdf-0ca1-447c-b8c6-2cc5a663ffe2")`, that will include all generated documents \ No newline at end of file diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/data_generator_factory.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/data_generator_factory.ts new file mode 100644 index 0000000000000..7842d105e40b0 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/data_generator_factory.ts @@ -0,0 +1,75 @@ +/* + * 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 { Client } from '@elastic/elasticsearch'; +import { ToolingLog } from '@kbn/tooling-log'; +import type { BulkResponse } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { indexDocuments } from './index_documents'; +import { generateDocuments } from './generate_documents'; +import { enhanceDocuments, EnhanceDocumentsOptions } from './enhance_documents'; +import type { GenerateDocumentsParams } from './generate_documents'; +import type { Document } from './types'; + +interface DataGeneratorParams { + es: Client; + documents: Array>; + index: string; + log: ToolingLog; +} + +interface DataGeneratorResponse { + response: BulkResponse; + documents: Document[]; +} + +interface DataGenerator { + indexListOfDocuments: (docs: Document[]) => Promise; + indexGeneratedDocuments: (params: GenerateDocumentsParams) => Promise; + indexEnhancedDocuments: (params: EnhanceDocumentsOptions) => Promise; +} + +/** + * initialize {@link DataGenerator} + * @param param.es - ES client + * @param params.index - index where document will be added + * @param params.log - logClient + * @returns methods of {@link DataGenerator} + */ +export const dataGeneratorFactory = ({ + es, + index, + log, +}: Omit): DataGenerator => { + return { + indexListOfDocuments: async (documents: DataGeneratorParams['documents']) => { + const response = await indexDocuments({ es, index, documents, log }); + + return { + documents, + response, + }; + }, + indexGeneratedDocuments: async (params: GenerateDocumentsParams) => { + const documents = generateDocuments(params); + const response = await indexDocuments({ es, index, documents, log }); + + return { + documents, + response, + }; + }, + indexEnhancedDocuments: async (params: EnhanceDocumentsOptions) => { + const documents = enhanceDocuments(params); + const response = await indexDocuments({ es, index, documents, log }); + + return { + documents, + response, + }; + }, + }; +}; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_document.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_document.ts new file mode 100644 index 0000000000000..f2e244edb90b3 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_document.ts @@ -0,0 +1,29 @@ +/* + * 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 { v4 as uuidv4 } from 'uuid'; + +interface EnhanceDocumentOptions { + id?: string; + timestamp?: string; + document: Record; +} + +/** + * enhances document with generated id and timestamp + * @param {string} options.id - optional id, if not provided randomly generated + * @param {string} options.timestamp - optional timestamp of document, if not provided current time + * @param {Record} options.document - document that will be enhanced + */ +export const enhanceDocument = (options: EnhanceDocumentOptions) => { + const id = options?.id ?? uuidv4(); + const timestamp = options?.timestamp ?? new Date().toISOString(); + return { + ...options.document, + id, + '@timestamp': timestamp, + }; +}; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_documents.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_documents.ts new file mode 100644 index 0000000000000..6d5bce70b5432 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/enhance_documents.ts @@ -0,0 +1,32 @@ +/* + * 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 { IndexingInterval, Document } from './types'; +import { getTimestamp } from './utils'; +import { enhanceDocument } from './enhance_document'; + +export interface EnhanceDocumentsOptions { + interval?: IndexingInterval; + documents: Document[]; + id?: string; +} + +/** + * enhances documents with generated id and timestamp within interval + * @param {string} options.id - optional id, if not provided randomly generated + * @param {string} options.interval - optional interval of document, if not provided set as a current time + * @param {Record[]} options.documents - documents that will be enhanced + */ +export const enhanceDocuments = ({ documents, interval, id }: EnhanceDocumentsOptions) => { + return documents.map((document) => + enhanceDocument({ + document, + id, + timestamp: getTimestamp(interval), + }) + ); +}; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/generate_documents.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/generate_documents.ts new file mode 100644 index 0000000000000..8bb05d50bea89 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/generate_documents.ts @@ -0,0 +1,39 @@ +/* + * 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 { v4 as uuidv4 } from 'uuid'; +import { getTimestamp } from './utils'; + +import type { Document, IndexingInterval } from './types'; + +type DocumentSeedFunc = (index: number, id: string, timestamp: string) => Document; + +export interface GenerateDocumentsParams { + interval?: IndexingInterval; + docsCount: number; + seed: DocumentSeedFunc; +} + +/** + * + * @param param.interval - interval in which generate documents, defined by '@timestamp' field + * @param param.docsCount - number of document to generate + * @param param.seed - seed function. Function that receives index of document, generated id, timestamp as arguments and can used it create a document + * @returns generated Documents + */ +export const generateDocuments = ({ docsCount, interval, seed }: GenerateDocumentsParams) => { + const documents = []; + + for (let i = 0; i < docsCount; i++) { + const id = uuidv4(); + const timestamp = getTimestamp(interval); + + documents.push(seed(i, id, timestamp)); + } + + return documents; +}; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/get_kql_query_from_documents_list.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/get_kql_query_from_documents_list.ts new file mode 100644 index 0000000000000..3347c2120d4a4 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/get_kql_query_from_documents_list.ts @@ -0,0 +1,41 @@ +/* + * 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 { Document } from './types'; + +/** + * returns KQL query from a list documents that includes all documents by their ids. + * it can be used later to create test rules that will query only these documents + * ```ts + * const documents = [ + { + foo: 'bar', + id: 'f07df596-65ec-4ab1-b0b2-f3b69558ed26', + '@timestamp': '2020-10-29T07:10:51.989Z', + }, + { + foo: 'bar', + id: 'e07614f9-1dc5-4849-90c4-31362bbdf8d0', + '@timestamp': '2020-10-30T00:32:48.987Z', + }, + { + foo: 'test', + id: 'e03a5b12-77e6-4aa3-b0be-fbe5b0843f07', + '@timestamp': '2020-10-29T03:40:35.318Z', + }, + ]; + + const query = getKQLQueryFromDocumentList(documents); + + // query equals to + // (id: "f07df596-65ec-4ab1-b0b2-f3b69558ed26" or id: "e07614f9-1dc5-4849-90c4-31362bbdf8d0" or id: "e03a5b12-77e6-4aa3-b0be-fbe5b0843f07") + * ``` + */ +export const getKQLQueryFromDocumentList = (documents: Document[]) => { + const orClauses = documents.map(({ id }) => `id: "${id}"`).join(' or '); + + return `(${orClauses})`; +}; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/index.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/index.ts index 95c65cf5171eb..acc6307e62dcd 100644 --- a/x-pack/test/detection_engine_api_integration/utils/data_generator/index.ts +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/index.ts @@ -5,4 +5,8 @@ * 2.0. */ -export * from './index_documents'; +export * from './data_generator_factory'; +export * from './enhance_document'; +export * from './enhance_documents'; +export * from './generate_documents'; +export * from './get_kql_query_from_documents_list'; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/index_documents.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/index_documents.ts index 6e850ee54aefb..5408e11b25015 100644 --- a/x-pack/test/detection_engine_api_integration/utils/data_generator/index_documents.ts +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/index_documents.ts @@ -8,10 +8,12 @@ import type { Client } from '@elastic/elasticsearch'; import type { BulkResponse } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { ToolingLog } from '@kbn/tooling-log'; + interface IndexDocumentsParams { es: Client; documents: Array>; index: string; + log: ToolingLog; } type IndexDocuments = (params: IndexDocumentsParams) => Promise; @@ -19,28 +21,19 @@ type IndexDocuments = (params: IndexDocumentsParams) => Promise; /** * Indexes documents into provided index */ -export const indexDocuments: IndexDocuments = async ({ es, documents, index }) => { +export const indexDocuments: IndexDocuments = async ({ es, documents, index, log }) => { const operations = documents.flatMap((doc: object) => [{ index: { _index: index } }, doc]); - return es.bulk({ refresh: true, operations }); -}; + const response = await es.bulk({ refresh: true, operations }); -export const indexDocumentsFactory = ({ - es, - index, - log, -}: Omit & { log: ToolingLog }) => { - return async (documents: Array>) => { - const response = await indexDocuments({ es, index, documents }); - // throw error if document wasn't indexed, so test will be terminated earlier and no false positives can happen - response.items.some(({ index: responseIndex } = {}) => { - if (responseIndex?.error) { - log.error( - `Failed to index document in non_ecs_fields test suits: "${responseIndex.error?.reason}"` - ); - throw Error(responseIndex.error.message); - } - }); - return response; - }; + // throw error if document wasn't indexed, so test will be terminated earlier and no false positives can happen + response.items.some(({ index: responseIndex } = {}) => { + if (responseIndex?.error) { + log.error( + `Failed to index document in non_ecs_fields test suits: "${responseIndex.error?.reason}"` + ); + throw Error(responseIndex.error.message); + } + }); + return response; }; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/types.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/types.ts new file mode 100644 index 0000000000000..bbf54be68cfee --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/types.ts @@ -0,0 +1,10 @@ +/* + * 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. + */ + +export type IndexingInterval = [string | Date, string | Date]; + +export type Document = Record; diff --git a/x-pack/test/detection_engine_api_integration/utils/data_generator/utils.ts b/x-pack/test/detection_engine_api_integration/utils/data_generator/utils.ts new file mode 100644 index 0000000000000..e828767a39650 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/utils/data_generator/utils.ts @@ -0,0 +1,16 @@ +/* + * 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 faker from 'faker'; +import type { IndexingInterval } from './types'; + +export const getTimestamp = (interval?: IndexingInterval) => { + if (interval) { + return faker.date.between(...interval).toISOString(); + } + + return new Date().toISOString(); +}; diff --git a/x-pack/test/functional/apps/uptime/certificates.ts b/x-pack/test/functional/apps/uptime/certificates.ts index 9c3bde2768827..f6930c8580732 100644 --- a/x-pack/test/functional/apps/uptime/certificates.ts +++ b/x-pack/test/functional/apps/uptime/certificates.ts @@ -31,7 +31,6 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); it('go to certs page', async () => { - await uptime.dismissTour(); await uptimeService.common.waitUntilDataIsLoaded(); await uptimeService.cert.hasViewCertButton(); await uptimeService.navigation.goToCertificates(); diff --git a/x-pack/test/functional/page_objects/uptime_page.ts b/x-pack/test/functional/page_objects/uptime_page.ts index 315513c5c4c3b..531e0e5980255 100644 --- a/x-pack/test/functional/page_objects/uptime_page.ts +++ b/x-pack/test/functional/page_objects/uptime_page.ts @@ -16,7 +16,6 @@ export class UptimePageObject extends FtrService { private readonly monitor = this.ctx.getService('uptime').monitor; private readonly navigation = this.ctx.getService('uptime').navigation; private readonly retry = this.ctx.getService('retry'); - private readonly testSubjects = this.ctx.getService('testSubjects'); public async goToRoot(refresh?: boolean) { await this.navigation.goToUptime(); @@ -25,10 +24,6 @@ export class UptimePageObject extends FtrService { } } - public async dismissTour() { - await this.testSubjects.click('syntheticsManagementTourDismiss'); - } - public async setDateRange(start: string, end: string) { const { start: prevStart, end: prevEnd } = await this.timePicker.getTimeConfig(); if (start !== prevStart || prevEnd !== end) { @@ -44,10 +39,6 @@ export class UptimePageObject extends FtrService { monitorIdToCheck?: string ) { await this.navigation.goToUptime(); - const hasTour = await this.testSubjects.exists('syntheticsManagementTourDismiss'); - if (hasTour) { - await this.testSubjects.click('syntheticsManagementTourDismiss'); - } await this.setDateRange(dateStart, dateEnd); if (monitorIdToCheck) { await this.commonService.monitorIdExists(monitorIdToCheck); diff --git a/x-pack/test/functional/services/cases/list.ts b/x-pack/test/functional/services/cases/list.ts index ced5c5acedca2..492a25f1fa151 100644 --- a/x-pack/test/functional/services/cases/list.ts +++ b/x-pack/test/functional/services/cases/list.ts @@ -204,9 +204,10 @@ export function CasesTableServiceProvider( async changeStatus(status: CaseStatuses, index: number) { await this.openRowActions(index); - await testSubjects.existOrFail('cases-bulk-action-delete'); + await retry.waitFor('status panel exists', async () => { + return find.existsByCssSelector('[data-test-subj*="case-action-status-panel-"'); + }); - await find.existsByCssSelector('[data-test-subj*="case-action-status-panel-"'); const statusButton = await find.byCssSelector('[data-test-subj*="case-action-status-panel-"'); statusButton.click(); @@ -218,9 +219,10 @@ export function CasesTableServiceProvider( async changeSeverity(severity: CaseSeverity, index: number) { await this.openRowActions(index); - await testSubjects.existOrFail('cases-bulk-action-delete'); + await retry.waitFor('severity panel exists', async () => { + return find.existsByCssSelector('[data-test-subj*="case-action-severity-panel-"'); + }); - await find.existsByCssSelector('[data-test-subj*="case-action-severity-panel-"'); const statusButton = await find.byCssSelector( '[data-test-subj*="case-action-severity-panel-"' ); diff --git a/x-pack/test/functional/services/uptime/navigation.ts b/x-pack/test/functional/services/uptime/navigation.ts index b45f12eaee9be..57e39f6bf9d0e 100644 --- a/x-pack/test/functional/services/uptime/navigation.ts +++ b/x-pack/test/functional/services/uptime/navigation.ts @@ -82,10 +82,6 @@ export function UptimeNavigationProvider({ getService, getPageObjects }: FtrProv }, async loadDataAndGoToMonitorPage(dateStart: string, dateEnd: string, monitorId: string) { - const hasTour = await testSubjects.exists('syntheticsManagementTourDismiss'); - if (hasTour) { - await testSubjects.click('syntheticsManagementTourDismiss'); - } await PageObjects.timePicker.setAbsoluteRange(dateStart, dateEnd); await this.goToMonitor(monitorId); }, diff --git a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts index 485f99f4db94a..b7b5d892681c0 100644 --- a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts +++ b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts @@ -590,9 +590,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/148468 - // FLAKY: https://github.com/elastic/kibana/issues/148469 - describe.skip('Severity', () => { + describe('Severity', () => { before(async () => { await cases.api.createNthRandomCases(1); await header.waitUntilLoadingHasFinished(); diff --git a/x-pack/test/stack_functional_integration/apps/heartbeat/_heartbeat.ts b/x-pack/test/stack_functional_integration/apps/heartbeat/_heartbeat.ts index e1122125c8665..9f402c019d0a7 100644 --- a/x-pack/test/stack_functional_integration/apps/heartbeat/_heartbeat.ts +++ b/x-pack/test/stack_functional_integration/apps/heartbeat/_heartbeat.ts @@ -15,7 +15,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('check heartbeat overview page', function () { it('Uptime app should show 1 UP monitor', async function () { await PageObjects.common.navigateToApp('uptime', { insertTimestamp: false }); - await PageObjects.uptime.dismissTour(); await PageObjects.timePicker.setCommonlyUsedTime('Last_1 year'); await retry.try(async function () { diff --git a/yarn.lock b/yarn.lock index 373279a97253e..255d7125408c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4841,10 +4841,6 @@ version "0.0.0" uid "" -"@kbn/securitysolution-grouping@link:packages/kbn-securitysolution-grouping": - version "0.0.0" - uid "" - "@kbn/securitysolution-autocomplete@link:packages/kbn-securitysolution-autocomplete": version "0.0.0" uid "" @@ -4861,6 +4857,10 @@ version "0.0.0" uid "" +"@kbn/securitysolution-grouping@link:packages/kbn-securitysolution-grouping": + version "0.0.0" + uid "" + "@kbn/securitysolution-hook-utils@link:packages/kbn-securitysolution-hook-utils": version "0.0.0" uid "" @@ -8005,7 +8005,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": +"@types/estree@*": version "0.0.50" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== @@ -8015,6 +8015,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + "@types/expect@^1.20.4": version "1.20.4" resolved "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5" @@ -8955,10 +8960,10 @@ resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-2.4.28.tgz#9ce8fa048c1e8c85cb71d7fe4d704e000226036f" integrity sha512-SMA+fUwULwK7sd/ZJicUztiPs8F1yCPwF3O23Z9uQ32ME5Ha0NmDK9+QTsYE4O2tHXChzXomSWWeIhCnoN1LqA== -"@types/selenium-webdriver@^4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.11.tgz#29ad053d04bf07c148dae36ba09baa3af5323cb0" - integrity sha512-KQ+TIvSTdpkUoW+fCLO3XyxlpnoD1PSZc0TBbuSbD/6gltB6gZ9q/VxhDGR7svhwA23G35uCAb5guAlVUaQKeA== +"@types/selenium-webdriver@^4.1.12": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.1.12.tgz#a2042f6bef044c48ca7a8b4caede4928242271a9" + integrity sha512-3DxuYHEbzIyUtuICRtxXtJomdOOkBeCbkXAlAPm/h8ArIn/ArWNnVSC6tIj/ECZ/sdxBoI0F/wuwcpxBew3hGw== dependencies: "@types/ws" "*" @@ -13019,10 +13024,10 @@ d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0, d3-array@^1.2.4: resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== -"d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.1.1.tgz#7797eb53ead6b9083c75a45a681e93fc41bc468c" - integrity sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ== +"d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3.2.2, d3-array@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.2.tgz#f8ac4705c5b06914a7e0025bbf8d5f1513f6a86e" + integrity sha512-yEEyEAbDrF8C6Ob2myOBLjwBLck1Z89jMGFee0oPsn95GqjerpaOA4ch+vc2l0FNFFwMD5N7OCSEN5eAlsUbgQ== dependencies: internmap "1 - 2" @@ -13066,7 +13071,7 @@ d3-color@1, d3-color@^1.0.3: resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== -"d3-color@1 - 3", d3-color@^3.0.1: +"d3-color@1 - 3", d3-color@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== @@ -13154,10 +13159,10 @@ d3-geo-projection@^4.0.0: d3-array "1 - 3" d3-geo "1.12.0 - 3" -"d3-geo@1.12.0 - 3", d3-geo@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.0.1.tgz#4f92362fd8685d93e3b1fae0fd97dc8980b1ed7e" - integrity sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA== +"d3-geo@1.12.0 - 3", d3-geo@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.0.tgz#74fd54e1f4cebd5185ac2039217a98d39b0a4c0e" + integrity sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA== dependencies: d3-array "2.5.0 - 3" @@ -13173,10 +13178,10 @@ d3-hierarchy@^1.1.4: resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83" integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ== -d3-hierarchy@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz#9cbb0ffd2375137a351e6cfeed344a06d4ff4597" - integrity sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA== +d3-hierarchy@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== d3-interpolate@1, d3-interpolate@^1.1.4: version "1.4.0" @@ -13209,10 +13214,10 @@ d3-path@1: resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== -"d3-path@1 - 3", d3-path@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.0.1.tgz#f09dec0aaffd770b7995f1a399152bf93052321e" - integrity sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w== +d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== "d3-quadtree@1 - 3": version "2.0.0" @@ -13282,12 +13287,12 @@ d3-shape@^2.0.0, d3-shape@^2.1.0: dependencies: d3-path "1 - 2" -d3-shape@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.1.0.tgz#c8a495652d83ea6f524e482fca57aa3f8bc32556" - integrity sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ== +d3-shape@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== dependencies: - d3-path "1 - 3" + d3-path "^3.1.0" d3-time-format@2: version "2.2.3" @@ -13322,10 +13327,10 @@ d3-time@1: dependencies: d3-array "2" -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.0.0.tgz#65972cb98ae2d4954ef5c932e8704061335d4975" - integrity sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ== +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== dependencies: d3-array "2 - 3" @@ -28334,122 +28339,122 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vega-canvas@^1.2.5, vega-canvas@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/vega-canvas/-/vega-canvas-1.2.6.tgz#55e032ce9a62acd17229f6bac66d99db3d6879cd" - integrity sha512-rgeYUpslYn/amIfnuv3Sw6n4BGns94OjjZNtUc9IDji6b+K8LGS/kW+Lvay8JX/oFqtulBp8RLcHN6QjqPLA9Q== +vega-canvas@^1.2.6, vega-canvas@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/vega-canvas/-/vega-canvas-1.2.7.tgz#cf62169518f5dcd91d24ad352998c2248f8974fb" + integrity sha512-OkJ9CACVcN9R5Pi9uF6MZBF06pO6qFpDYHWSKBJsdHP5o724KrsgR6UvbnXFH82FdsiTOff/HqjuaG8C7FL+9Q== -vega-crossfilter@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vega-crossfilter/-/vega-crossfilter-4.1.0.tgz#b6c5a728ce987f2514074adb22cf86b9bc63e0c8" - integrity sha512-aiOJcvVpiEDIu5uNc4Kf1hakkkPaVOO5fw5T4RSFAw6GEDbdqcB6eZ1xePcsLVic1hxYD5SGiUPdiiIs0SMh2g== +vega-crossfilter@~4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/vega-crossfilter/-/vega-crossfilter-4.1.1.tgz#3ff3ca0574883706f7a399dc6d60f4a0f065ece4" + integrity sha512-yesvlMcwRwxrtAd9IYjuxWJJuAMI0sl7JvAFfYtuDkkGDtqfLXUcCzHIATqW6igVIE7tWwGxnbfvQLhLNgK44Q== dependencies: - d3-array "^3.1.1" - vega-dataflow "^5.7.3" - vega-util "^1.15.2" + d3-array "^3.2.2" + vega-dataflow "^5.7.5" + vega-util "^1.17.1" -vega-dataflow@^5.7.3, vega-dataflow@^5.7.4, vega-dataflow@~5.7.4: - version "5.7.4" - resolved "https://registry.yarnpkg.com/vega-dataflow/-/vega-dataflow-5.7.4.tgz#7cafc0a41b9d0b11dd2e34a513f8b7ca345dfd74" - integrity sha512-JGHTpUo8XGETH3b1V892we6hdjzCWB977ybycIu8DPqRoyrZuj6t1fCVImazfMgQD1LAfJlQybWP+alwKDpKig== +vega-dataflow@^5.7.3, vega-dataflow@^5.7.5, vega-dataflow@~5.7.5: + version "5.7.5" + resolved "https://registry.yarnpkg.com/vega-dataflow/-/vega-dataflow-5.7.5.tgz#0d559f3c3a968831f2995e099a2e270993ddfed9" + integrity sha512-EdsIl6gouH67+8B0f22Owr2tKDiMPNNR8lEvJDcxmFw02nXd8juimclpLvjPQriqn6ta+3Dn5txqfD117H04YA== dependencies: - vega-format "^1.0.4" - vega-loader "^4.3.2" - vega-util "^1.16.1" + vega-format "^1.1.1" + vega-loader "^4.5.1" + vega-util "^1.17.1" -vega-encode@~4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/vega-encode/-/vega-encode-4.9.0.tgz#3dd1031056bb8029f262afc4b4d58372c8f073a6" - integrity sha512-etv2BHuCn9bzEc0cxyA2TnbtcAFQGVFmsaqmB4sgBCaqTSEfXMoX68LK3yxBrsdm5LU+y3otJVoewi3qWYCx2g== +vega-encode@~4.9.1: + version "4.9.1" + resolved "https://registry.yarnpkg.com/vega-encode/-/vega-encode-4.9.1.tgz#bad0e99bebec86d42184bcb898576c8accd91e89" + integrity sha512-05JB47UZaqIBS9t6rtHI/aKjEuH4EsSIH+wJWItht4BFj33eIl4XRNtlXdE31uuQT2pXWz5ZWW3KboMuaFzKLw== dependencies: - d3-array "^3.1.1" + d3-array "^3.2.2" d3-interpolate "^3.0.1" - vega-dataflow "^5.7.3" - vega-scale "^7.0.3" - vega-util "^1.15.2" + vega-dataflow "^5.7.5" + vega-scale "^7.3.0" + vega-util "^1.17.1" -vega-event-selector@^3.0.0, vega-event-selector@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/vega-event-selector/-/vega-event-selector-3.0.0.tgz#7b855ac0c3ddb59bc5b5caa0d96dbbc9fbd33a4c" - integrity sha512-Gls93/+7tEJGE3kUuUnxrBIxtvaNeF01VIFB2Q2Of2hBIBvtHX74jcAdDtkh5UhhoYGD8Q1J30P5cqEBEwtPoQ== +vega-event-selector@^3.0.1, vega-event-selector@~3.0.0, vega-event-selector@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vega-event-selector/-/vega-event-selector-3.0.1.tgz#b99e92147b338158f8079d81b28b2e7199c2e259" + integrity sha512-K5zd7s5tjr1LiOOkjGpcVls8GsH/f2CWCrWcpKy74gTCp+llCdwz0Enqo013ZlGaRNjfgD/o1caJRt3GSaec4A== -vega-expression@^5.0.0, vega-expression@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/vega-expression/-/vega-expression-5.0.0.tgz#938f26689693a1e0d26716030cdaed43ca7abdfb" - integrity sha512-y5+c2frq0tGwJ7vYXzZcfVcIRF/QGfhf2e+bV1Z0iQs+M2lI1II1GPDdmOcMKimpoCVp/D61KUJDIGE1DSmk2w== +vega-expression@^5.0.1, vega-expression@~5.0.0, vega-expression@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/vega-expression/-/vega-expression-5.0.1.tgz#e6a6eff564d2a93496a9bf34cbc78d8942f236a8" + integrity sha512-atfzrMekrcsuyUgZCMklI5ki8cV763aeo1Y6YrfYU7FBwcQEoFhIV/KAJ1vae51aPDGtfzvwbtVIo3WShFCP2Q== dependencies: - "@types/estree" "^0.0.50" - vega-util "^1.16.0" + "@types/estree" "^1.0.0" + vega-util "^1.17.1" -vega-force@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vega-force/-/vega-force-4.1.0.tgz#cc8dea972baa52adc60840ff744ebb9e57d8f1f5" - integrity sha512-Sssf8iH48vYlz+E7/RpU+SUaJbuLoIL87U4tG2Av4gf/hRiImU49x2TI3EuhFWg1zpaCFxlz0CAaX++Oh/gjdw== +vega-force@~4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/vega-force/-/vega-force-4.1.1.tgz#27bffa96bda293f27d2a2492c2cbf99d49fec77e" + integrity sha512-T6fJAUz9zdXf2qj2Hz0VlmdtaY7eZfcKNazhUV8hza4R3F9ug6r/hSrdovfc9ExmbUjL5iyvDUsf63r8K3/wVQ== dependencies: d3-force "^3.0.0" - vega-dataflow "^5.7.3" - vega-util "^1.15.2" + vega-dataflow "^5.7.5" + vega-util "^1.17.1" -vega-format@^1.0.4, vega-format@^1.1.0, vega-format@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vega-format/-/vega-format-1.1.0.tgz#b9d81cf1bcf222ae5cbd94357ae70245d2c7b18d" - integrity sha512-6mgpeWw8yGdG0Zdi8aVkx5oUrpJGOpNxqazC2858RSDPvChM/jDFlgRMTYw52qk7cxU0L08ARp4BwmXaI75j0w== +vega-format@^1.1.1, vega-format@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/vega-format/-/vega-format-1.1.1.tgz#92e4876e18064e7ad54f39045f7b24dede0030b8" + integrity sha512-Rll7YgpYbsgaAa54AmtEWrxaJqgOh5fXlvM2wewO4trb9vwM53KBv4Q/uBWCLK3LLGeBXIF6gjDt2LFuJAUtkQ== dependencies: - d3-array "^3.1.1" + d3-array "^3.2.2" d3-format "^3.1.0" d3-time-format "^4.1.0" - vega-time "^2.0.3" - vega-util "^1.15.2" - -vega-functions@^5.12.1, vega-functions@^5.13.0, vega-functions@~5.13.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/vega-functions/-/vega-functions-5.13.0.tgz#c9ab8c6eedbf39f75b424cca6776b1d0b8c74b32" - integrity sha512-Mf53zNyx+c9fFqagEI0T8zc9nMlx0zozOngr8oOpG1tZDKOgwOnUgN99zQKbLHjyv+UzWrq3LYTnSLyVe0ZmhQ== - dependencies: - d3-array "^3.1.1" - d3-color "^3.0.1" - d3-geo "^3.0.1" - vega-dataflow "^5.7.3" - vega-expression "^5.0.0" - vega-scale "^7.2.0" - vega-scenegraph "^4.9.3" - vega-selections "^5.3.1" - vega-statistics "^1.7.9" - vega-time "^2.1.0" - vega-util "^1.16.0" - -vega-geo@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/vega-geo/-/vega-geo-4.4.0.tgz#ce792df57f8ca4c54a7a1a29467cfa24bc53f573" - integrity sha512-3YX41y+J5pu0PMjvBCASg0/lgvu9+QXWJZ+vl6FFKa8AlsIopQ67ZL7ObwqjZcoZMolJ4q0rc+ZO8aj1pXCYcw== - dependencies: - d3-array "^3.1.1" - d3-color "^3.0.1" - d3-geo "^3.0.1" - vega-canvas "^1.2.5" - vega-dataflow "^5.7.3" - vega-projection "^1.4.5" - vega-statistics "^1.7.9" - vega-util "^1.15.2" - -vega-hierarchy@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vega-hierarchy/-/vega-hierarchy-4.1.0.tgz#605edbe3a6232853f9e8b57e3b905471d33b1a48" - integrity sha512-DWBK39IEt4FiQru12twzKSFUvFFZ7KtlH9+lAaqrJnKuIZFCyQ1XOUfKScfbKIlk4KS+DuCTNLI/pxC/f7Sk9Q== + vega-time "^2.1.1" + vega-util "^1.17.1" + +vega-functions@^5.13.1, vega-functions@~5.13.1: + version "5.13.1" + resolved "https://registry.yarnpkg.com/vega-functions/-/vega-functions-5.13.1.tgz#504d672924495fe3ea844e6940c7f6e151cde151" + integrity sha512-0LhntimnvBl4VzRO/nkCwCTbtaP8bE552galKQbCg88GDxdmcmlsoTCwUzG0vZ/qmNM3IbqnP5k5/um3zwFqLw== + dependencies: + d3-array "^3.2.2" + d3-color "^3.1.0" + d3-geo "^3.1.0" + vega-dataflow "^5.7.5" + vega-expression "^5.0.1" + vega-scale "^7.3.0" + vega-scenegraph "^4.10.2" + vega-selections "^5.4.1" + vega-statistics "^1.8.1" + vega-time "^2.1.1" + vega-util "^1.17.1" + +vega-geo@~4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/vega-geo/-/vega-geo-4.4.1.tgz#3850232bf28c98fab5e26c5fb401acb6fb37b5e5" + integrity sha512-s4WeZAL5M3ZUV27/eqSD3v0FyJz3PlP31XNSLFy4AJXHxHUeXT3qLiDHoVQnW5Om+uBCPDtTT1ROx1smGIf2aA== + dependencies: + d3-array "^3.2.2" + d3-color "^3.1.0" + d3-geo "^3.1.0" + vega-canvas "^1.2.7" + vega-dataflow "^5.7.5" + vega-projection "^1.6.0" + vega-statistics "^1.8.1" + vega-util "^1.17.1" + +vega-hierarchy@~4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/vega-hierarchy/-/vega-hierarchy-4.1.1.tgz#897974a477dfa70cc0d4efab9465b6cc79a9071f" + integrity sha512-h5mbrDtPKHBBQ9TYbvEb/bCqmGTlUX97+4CENkyH21tJs7naza319B15KRK0NWOHuhbGhFmF8T0696tg+2c8XQ== dependencies: - d3-hierarchy "^3.1.0" - vega-dataflow "^5.7.3" - vega-util "^1.15.2" + d3-hierarchy "^3.1.2" + vega-dataflow "^5.7.5" + vega-util "^1.17.1" vega-interpreter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/vega-interpreter/-/vega-interpreter-1.0.4.tgz#291ebf85bc2d1c3550a3da22ff75b3ba0d326a39" integrity sha512-6tpYIa/pJz0cZo5fSxDSkZkAA51pID2LjOtQkOQvbzn+sJiCaWKPFhur8MBqbcmYZ9bnap1OYNwlrvpd2qBLvg== -vega-label@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vega-label/-/vega-label-1.2.0.tgz#bcb2659aec54f890f9debab3e41ab87a58292dce" - integrity sha512-1prOqkCAfXaUvMqavbGI0nbYGqV8UQR9qvuVwrPJ6Yxm3GIUIOA/JRqNY8eZR8USwMP/kzsqlfVEixj9+Y75VQ== +vega-label@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/vega-label/-/vega-label-1.2.1.tgz#ea45fa5a407991c44edfea9c4ca40874d544a3db" + integrity sha512-n/ackJ5lc0Xs9PInCaGumYn2awomPjJ87EMVT47xNgk2bHmJoZV1Ve/1PUM6Eh/KauY211wPMrNp/9Im+7Ripg== dependencies: vega-canvas "^1.2.6" vega-dataflow "^5.7.3" @@ -28473,110 +28478,112 @@ vega-lite@^5.5.0: vega-util "~1.17.0" yargs "~17.5.1" -vega-loader@^4.3.2, vega-loader@^4.4.0, vega-loader@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/vega-loader/-/vega-loader-4.5.0.tgz#b15acc4c8f84191f500e94d35ddfb9721ac943ad" - integrity sha512-EkAyzbx0pCYxH3v3wghGVCaKINWxHfgbQ2pYDiYv0yo8e04S8Mv/IlRGTt6BAe7cLhrk1WZ4zh20QOppnGG05w== +vega-loader@^4.5.1, vega-loader@~4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/vega-loader/-/vega-loader-4.5.1.tgz#b85262b3cb8376487db0c014a8a13c3a5e6d52ad" + integrity sha512-qy5x32SaT0YkEujQM2yKqvLGV9XWQ2aEDSugBFTdYzu/1u4bxdUSRDREOlrJ9Km3RWIOgFiCkobPmFxo47SKuA== dependencies: d3-dsv "^3.0.1" node-fetch "^2.6.7" topojson-client "^3.1.0" - vega-format "^1.1.0" - vega-util "^1.16.0" + vega-format "^1.1.1" + vega-util "^1.17.1" -vega-parser@~6.1.4: - version "6.1.4" - resolved "https://registry.yarnpkg.com/vega-parser/-/vega-parser-6.1.4.tgz#4868e41af2c9645b6d7daeeb205cfad06b9d465c" - integrity sha512-tORdpWXiH/kkXcpNdbSVEvtaxBuuDtgYp9rBunVW9oLsjFvFXbSWlM1wvJ9ZFSaTfx6CqyTyGMiJemmr1QnTjQ== +vega-parser@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/vega-parser/-/vega-parser-6.2.0.tgz#c982aff0a6409486cbbe743a5799412b8b897654" + integrity sha512-as+QnX8Qxe9q51L1C2sVBd+YYYctP848+zEvkBT2jlI2g30aZ6Uv7sKsq7QTL6DUbhXQKR0XQtzlanckSFdaOQ== dependencies: - vega-dataflow "^5.7.3" - vega-event-selector "^3.0.0" - vega-functions "^5.12.1" - vega-scale "^7.1.1" - vega-util "^1.16.0" + vega-dataflow "^5.7.5" + vega-event-selector "^3.0.1" + vega-functions "^5.13.1" + vega-scale "^7.3.0" + vega-util "^1.17.1" -vega-projection@^1.4.5, vega-projection@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/vega-projection/-/vega-projection-1.5.0.tgz#51c5f0455170cd35b3c5f3e653e99c3616520640" - integrity sha512-aob7qojh555x3hQWZ/tr8cIJNSWQbm6EoWTJaheZgFOY2x3cDa4Qrg3RJbGw6KwVj/IQk2p40paRzixKZ2kr+A== +vega-projection@^1.6.0, vega-projection@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/vega-projection/-/vega-projection-1.6.0.tgz#921acd3220e7d9d04ccd5ce0109433afb3236966" + integrity sha512-LGUaO/kpOEYuTlul+x+lBzyuL9qmMwP1yShdUWYLW+zXoeyGbs5OZW+NbPPwLYqJr5lpXDr/vGztFuA/6g2xvQ== dependencies: - d3-geo "^3.0.1" + d3-geo "^3.1.0" d3-geo-projection "^4.0.0" + vega-scale "^7.3.0" -vega-regression@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vega-regression/-/vega-regression-1.1.0.tgz#b4394db403ada93de52bb4536d04be336c983a8c" - integrity sha512-09K0RemY6cdaXBAyakDUNFfEkRcLkGjkDJyWQPAUqGK59hV2J+G3i4uxkZp18Vu0t8oqU7CgzwWim1s5uEpOcA== +vega-regression@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/vega-regression/-/vega-regression-1.1.1.tgz#b53a964152a2fec4847e31571f522bfda23089af" + integrity sha512-98i/z0vdDhOIEhJUdYoJ2nlfVdaHVp2CKB39Qa7G/XyRw0+QwDFFrp8ZRec2xHjHfb6bYLGNeh1pOsC13FelJg== dependencies: - d3-array "^3.1.1" + d3-array "^3.2.2" vega-dataflow "^5.7.3" vega-statistics "^1.7.9" vega-util "^1.15.2" -vega-runtime@^6.1.3, vega-runtime@~6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/vega-runtime/-/vega-runtime-6.1.3.tgz#01e18246f7a80cee034a96017ac30113b92c4034" - integrity sha512-gE+sO2IfxMUpV0RkFeQVnHdmPy3K7LjHakISZgUGsDI/ZFs9y+HhBf8KTGSL5pcZPtQsZh3GBQ0UonqL1mp9PA== +vega-runtime@^6.1.4, vega-runtime@~6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/vega-runtime/-/vega-runtime-6.1.4.tgz#98b67160cea9554e690bfd44719f9d17f90c4220" + integrity sha512-0dDYXyFLQcxPQ2OQU0WuBVYLRZnm+/CwVu6i6N4idS7R9VXIX5581EkCh3pZ20pQ/+oaA7oJ0pR9rJgJ6rukRQ== dependencies: - vega-dataflow "^5.7.3" - vega-util "^1.15.2" + vega-dataflow "^5.7.5" + vega-util "^1.17.1" -vega-scale@^7.0.3, vega-scale@^7.1.1, vega-scale@^7.2.0, vega-scale@~7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/vega-scale/-/vega-scale-7.2.0.tgz#9e298cc02ad340498cb56847436b19439911f0fc" - integrity sha512-QYltO/otrZHLrCGGf06Y99XtPtqWXITr6rw7rO9oL+l3d9o5RFl9sjHrVxiM7v+vGoZVWbBd5IPbFhPsXZ6+TA== +vega-scale@^7.3.0, vega-scale@~7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/vega-scale/-/vega-scale-7.3.0.tgz#02b83435a892c6d91a87ee7d3d350fac987f464b" + integrity sha512-pMOAI2h+e1z7lsqKG+gMfR6NKN2sTcyjZbdJwntooW0uFHwjLGjMSY7kSd3nSEquF0HQ8qF7zR6gs1eRwlGimw== dependencies: - d3-array "^3.1.1" + d3-array "^3.2.2" d3-interpolate "^3.0.1" d3-scale "^4.0.2" - vega-time "^2.1.0" - vega-util "^1.17.0" + vega-time "^2.1.1" + vega-util "^1.17.1" -vega-scenegraph@^4.10.0, vega-scenegraph@^4.9.2, vega-scenegraph@^4.9.3, vega-scenegraph@~4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/vega-scenegraph/-/vega-scenegraph-4.10.1.tgz#944da67b8a28758fab2e1306259fb7ff6be89f6b" - integrity sha512-takIpkmNxYHhJYALOYzhTin3EDzbys6U4g+l1yJZVlXG9YTdiCMuEVAdtaQOCqF9/7qytD6pCrMxJY2HaoN0qQ== - dependencies: - d3-path "^3.0.1" - d3-shape "^3.1.0" - vega-canvas "^1.2.5" - vega-loader "^4.4.0" - vega-scale "^7.2.0" - vega-util "^1.15.2" +vega-scenegraph@^4.10.2, vega-scenegraph@^4.9.2, vega-scenegraph@~4.10.2: + version "4.10.2" + resolved "https://registry.yarnpkg.com/vega-scenegraph/-/vega-scenegraph-4.10.2.tgz#3ae9ad8e99bbf75e2a4f3ebf2c1f9dee7562d245" + integrity sha512-R8m6voDZO5+etwNMcXf45afVM3XAtokMqxuDyddRl9l1YqSJfS+3u8hpolJ50c2q6ZN20BQiJwKT1o0bB7vKkA== + dependencies: + d3-path "^3.1.0" + d3-shape "^3.2.0" + vega-canvas "^1.2.7" + vega-loader "^4.5.1" + vega-scale "^7.3.0" + vega-util "^1.17.1" vega-schema-url-parser@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vega-schema-url-parser/-/vega-schema-url-parser-2.2.0.tgz#a0d1e02915adfbfcb1fd517c8c2ebe2419985c1e" integrity sha512-yAtdBnfYOhECv9YC70H2gEiqfIbVkq09aaE4y/9V/ovEFmH9gPKaEgzIZqgT7PSPQjKhsNkb6jk6XvSoboxOBw== -vega-selections@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/vega-selections/-/vega-selections-5.3.1.tgz#af5c3cc6532a55a5b692eb0fcc2a1d8d521605a4" - integrity sha512-cm4Srw1WHjcLGXX7GpxiUlfESv8XPu5b6Vh3mqMDPU94P2FO91SR9gei+EtRdt+KCFgIjr//MnRUjg/hAWwjkQ== +vega-selections@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/vega-selections/-/vega-selections-5.4.1.tgz#3233acb920703bfc323df8b960aa52e55ac08c70" + integrity sha512-EtYc4DvA+wXqBg9tq+kDomSoVUPCmQfS7hUxy2qskXEed79YTimt3Hcl1e1fW226I4AVDBEqTTKebmKMzbSgAA== dependencies: - vega-expression "^5.0.0" - vega-util "^1.16.0" + d3-array "3.2.2" + vega-expression "^5.0.1" + vega-util "^1.17.1" vega-spec-injector@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/vega-spec-injector/-/vega-spec-injector-0.0.2.tgz#f1d990109dd9d845c524738f818baa4b72a60ca6" integrity sha512-wOMMqmpssn0/ZFPW7wl1v26vbseRX7zHPWzEyS9TwNXTRCu1TcjIBIR+X23lCWocxhoBqFxmqyn8UowMhlGtAg== -vega-statistics@^1.7.9, vega-statistics@^1.8.0, vega-statistics@~1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/vega-statistics/-/vega-statistics-1.8.0.tgz#ad66f7461473d58bc96671588981a059ffd60b59" - integrity sha512-dl+LCRS6qS4jWDme/NEdPVt5r649uB4IK6Kyr2/czmGA5JqjuFmtQ9lHQOnRu8945XLkqLf+JIQQo7vnw+nslA== +vega-statistics@^1.7.9, vega-statistics@^1.8.1, vega-statistics@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/vega-statistics/-/vega-statistics-1.8.1.tgz#596fc3713ac68cc649bf28d0faf7def5ef34fef6" + integrity sha512-eRR3LZBusnTXUkc/uunAvWi1PjCJK+Ba4vFvEISc5Iv5xF4Aw2cBhEz1obEt6ID5fGVCTAl0E1LOSFxubS89hQ== dependencies: - d3-array "^3.1.1" + d3-array "^3.2.2" -vega-time@^2.0.3, vega-time@^2.1.0, vega-time@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/vega-time/-/vega-time-2.1.0.tgz#acfbab88d7798b87ff63913b0dce2ca5eb0d46ca" - integrity sha512-Q9/l3S6Br1RPX5HZvyLD/cQ4K6K8DtpR09/1y7D66gxNorg2+HGzYZINH9nUvN3mxoXcBWg4cCUh3+JvmkDaEg== +vega-time@^2.1.1, vega-time@~2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/vega-time/-/vega-time-2.1.1.tgz#0f1fb4e220dd5ed57401b58fb2293241f049ada0" + integrity sha512-z1qbgyX0Af2kQSGFbApwBbX2meenGvsoX8Nga8uyWN8VIbiySo/xqizz1KrP6NbB6R+x5egKmkjdnyNThPeEWA== dependencies: - d3-array "^3.1.1" - d3-time "^3.0.0" - vega-util "^1.15.2" + d3-array "^3.2.2" + d3-time "^3.1.0" + vega-util "^1.17.1" vega-tooltip@^0.28.0: version "0.28.0" @@ -28585,106 +28592,107 @@ vega-tooltip@^0.28.0: dependencies: vega-util "^1.17.0" -vega-transforms@~4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/vega-transforms/-/vega-transforms-4.10.0.tgz#a1017ede13cf4e25499f588610a3be4da615d82d" - integrity sha512-Yk6ByzVq5F2niFfPlSsrU5wi+NZhsF7IBpJCcTfms4U7eoyNepUXagdFEJ3VWBD/Lit6GorLXFgO17NYcyS5gg== - dependencies: - d3-array "^3.1.1" - vega-dataflow "^5.7.4" - vega-statistics "^1.8.0" - vega-time "^2.1.0" - vega-util "^1.16.1" - -vega-typings@~0.22.0: - version "0.22.1" - resolved "https://registry.yarnpkg.com/vega-typings/-/vega-typings-0.22.1.tgz#287c646cfa93b1822d0fb6ea11d5543632f8b56e" - integrity sha512-88cIrjmoTxo/0nWTf+GuitkFhirHWVWCfymADiCUXt6s9arpQ6XPP5xjrN5KDc0LZd9xr7p4FIiEgADghgLTgw== - dependencies: - vega-event-selector "^3.0.0" - vega-expression "^5.0.0" - vega-util "^1.15.2" - -vega-util@^1.15.2, vega-util@^1.16.0, vega-util@^1.16.1, vega-util@^1.17.0, vega-util@~1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/vega-util/-/vega-util-1.17.0.tgz#b72ae0baa97f943bf591f8f5bb27ceadf06834ac" - integrity sha512-HTaydZd9De3yf+8jH66zL4dXJ1d1p5OIFyoBzFiOli4IJbwkL1jrefCKz6AHDm1kYBzDJ0X4bN+CzZSCTvNk1w== - -vega-view-transforms@~4.5.8: - version "4.5.8" - resolved "https://registry.yarnpkg.com/vega-view-transforms/-/vega-view-transforms-4.5.8.tgz#c8dc42c3c7d4aa725d40b8775180c9f23bc98f4e" - integrity sha512-966m7zbzvItBL8rwmF2nKG14rBp7q+3sLCKWeMSUrxoG+M15Smg5gWEGgwTG3A/RwzrZ7rDX5M1sRaAngRH25g== +vega-transforms@~4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/vega-transforms/-/vega-transforms-4.10.1.tgz#5e51f4f3a745d43609e0d8ba1d74a7e53014030a" + integrity sha512-0uWrUZaYl8kjWrGbvPOQSKk6kcNXQFY9moME+bUmkADAvFptphCGbaEIn/nSsG6uCxj8E3rqKmKfjSWdU5yOqA== dependencies: - vega-dataflow "^5.7.3" - vega-scenegraph "^4.9.2" - vega-util "^1.15.2" + d3-array "^3.2.2" + vega-dataflow "^5.7.5" + vega-statistics "^1.8.1" + vega-time "^2.1.1" + vega-util "^1.17.1" -vega-view@~5.11.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/vega-view/-/vega-view-5.11.0.tgz#8a7b29a36776e43cc6599e087ed7f48a918b805d" - integrity sha512-MI9NTRFmtFX6ADk6KOHhi8bhHjC9pPm42Bj2+74c6l1d3NQZf9Jv7lkiGqKohdkQDNH9LPwz/6slhKwPU9JdkQ== +vega-typings@~0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/vega-typings/-/vega-typings-0.23.0.tgz#5b001f5b51a477e67d2446ef9b964e1dac48a20e" + integrity sha512-10ZRRGoUZoQLS5jMiIFhSZMDc3UkPhDP2VMUN/oHZXElvPCGjfjvgmiC6XzvvN4sRXdccMcZX1lZPoyYPERVkA== dependencies: - d3-array "^3.1.1" + "@types/geojson" "^7946.0.10" + vega-event-selector "^3.0.1" + vega-expression "^5.0.1" + vega-util "^1.17.1" + +vega-util@^1.15.2, vega-util@^1.17.0, vega-util@^1.17.1, vega-util@~1.17.0, vega-util@~1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/vega-util/-/vega-util-1.17.1.tgz#717865fc6b660ceb3ae16273d21166ed471c2db4" + integrity sha512-ToPkWoBdP6awoK+bnYaFhgdqZhsNwKxWbuMnFell+4K/Cb6Q1st5Pi9I7iI5Y6n5ZICDDsd6eL7/IhBjEg1NUQ== + +vega-view-transforms@~4.5.9: + version "4.5.9" + resolved "https://registry.yarnpkg.com/vega-view-transforms/-/vega-view-transforms-4.5.9.tgz#5f109555c08ee9ac23ff9183d578eb9cbac6fe61" + integrity sha512-NxEq4ZD4QwWGRrl2yDLnBRXM9FgCI+vvYb3ZC2+nVDtkUxOlEIKZsMMw31op5GZpfClWLbjCT3mVvzO2xaTF+g== + dependencies: + vega-dataflow "^5.7.5" + vega-scenegraph "^4.10.2" + vega-util "^1.17.1" + +vega-view@~5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/vega-view/-/vega-view-5.11.1.tgz#a703d7d6344489c6a6e9e9d9c7a732519bf4432c" + integrity sha512-RoWxuoEMI7xVQJhPqNeLEHCezudsf3QkVMhH5tCovBqwBADQGqq9iWyax3ZzdyX1+P3eBgm7cnLvpqtN2hU8kA== + dependencies: + d3-array "^3.2.2" d3-timer "^3.0.1" - vega-dataflow "^5.7.3" - vega-format "^1.1.0" - vega-functions "^5.13.0" - vega-runtime "^6.1.3" - vega-scenegraph "^4.10.0" - vega-util "^1.16.1" - -vega-voronoi@~4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/vega-voronoi/-/vega-voronoi-4.2.0.tgz#14c74c84f52d9a16be2facd1bede879d32d988f2" - integrity sha512-1iuNAVZgUHRlBpdq4gSga3KlQmrgFfwy+KpyDgPLQ8HbLkhcVeT7RDh2L6naluqD7Op0xVLms3clR920WsYryQ== + vega-dataflow "^5.7.5" + vega-format "^1.1.1" + vega-functions "^5.13.1" + vega-runtime "^6.1.4" + vega-scenegraph "^4.10.2" + vega-util "^1.17.1" + +vega-voronoi@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vega-voronoi/-/vega-voronoi-4.2.1.tgz#521a22d3d4c545fe1d5eea19eac0fd3ac5e58b1b" + integrity sha512-zzi+fxU/SBad4irdLLsG3yhZgXWZezraGYVQfZFWe8kl7W/EHUk+Eqk/eetn4bDeJ6ltQskX+UXH3OP5Vh0Q0Q== dependencies: d3-delaunay "^6.0.2" - vega-dataflow "^5.7.3" - vega-util "^1.15.2" - -vega-wordcloud@~4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/vega-wordcloud/-/vega-wordcloud-4.1.3.tgz#ce90900333f4e0d3ee706ba4f36bb0905f8b4a9f" - integrity sha512-is4zYn9FMAyp9T4SAcz2P/U/wqc0Lx3P5YtpWKCbOH02a05vHjUQrQ2TTPOuvmMfAEDCSKvbMSQIJMOE018lJA== - dependencies: - vega-canvas "^1.2.5" - vega-dataflow "^5.7.3" - vega-scale "^7.1.1" - vega-statistics "^1.7.9" - vega-util "^1.15.2" + vega-dataflow "^5.7.5" + vega-util "^1.17.1" -vega@^5.22.1: - version "5.22.1" - resolved "https://registry.yarnpkg.com/vega/-/vega-5.22.1.tgz#e028f3645de18e0070317bc04410282975549e1e" - integrity sha512-KJBI7OWSzpfCPbmWl3GQCqBqbf2TIdpWS0mzO6MmWbvdMhWHf74P9IVnx1B1mhg0ZTqWFualx9ZYhWzMMwudaQ== - dependencies: - vega-crossfilter "~4.1.0" - vega-dataflow "~5.7.4" - vega-encode "~4.9.0" - vega-event-selector "~3.0.0" - vega-expression "~5.0.0" - vega-force "~4.1.0" - vega-format "~1.1.0" - vega-functions "~5.13.0" - vega-geo "~4.4.0" - vega-hierarchy "~4.1.0" - vega-label "~1.2.0" - vega-loader "~4.5.0" - vega-parser "~6.1.4" - vega-projection "~1.5.0" - vega-regression "~1.1.0" - vega-runtime "~6.1.3" - vega-scale "~7.2.0" - vega-scenegraph "~4.10.1" - vega-statistics "~1.8.0" - vega-time "~2.1.0" - vega-transforms "~4.10.0" - vega-typings "~0.22.0" - vega-util "~1.17.0" - vega-view "~5.11.0" - vega-view-transforms "~4.5.8" - vega-voronoi "~4.2.0" - vega-wordcloud "~4.1.3" +vega-wordcloud@~4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/vega-wordcloud/-/vega-wordcloud-4.1.4.tgz#38584cf47ef52325d6a8dc38908b5d2378cc6e62" + integrity sha512-oeZLlnjiusLAU5vhk0IIdT5QEiJE0x6cYoGNq1th+EbwgQp153t4r026fcib9oq15glHFOzf81a8hHXHSJm1Jw== + dependencies: + vega-canvas "^1.2.7" + vega-dataflow "^5.7.5" + vega-scale "^7.3.0" + vega-statistics "^1.8.1" + vega-util "^1.17.1" + +vega@^5.23.0: + version "5.23.0" + resolved "https://registry.yarnpkg.com/vega/-/vega-5.23.0.tgz#7e3899b65f1a84095545b74dcf71289890844c49" + integrity sha512-FjgDD/VmL9yl36ByLq66mEusDF/wZGRktK4JA5MkF68hQqj3F8BFMDDVNwCASuwY97H6wr7kw/RFqNI6XocjJQ== + dependencies: + vega-crossfilter "~4.1.1" + vega-dataflow "~5.7.5" + vega-encode "~4.9.1" + vega-event-selector "~3.0.1" + vega-expression "~5.0.1" + vega-force "~4.1.1" + vega-format "~1.1.1" + vega-functions "~5.13.1" + vega-geo "~4.4.1" + vega-hierarchy "~4.1.1" + vega-label "~1.2.1" + vega-loader "~4.5.1" + vega-parser "~6.2.0" + vega-projection "~1.6.0" + vega-regression "~1.1.1" + vega-runtime "~6.1.4" + vega-scale "~7.3.0" + vega-scenegraph "~4.10.2" + vega-statistics "~1.8.1" + vega-time "~2.1.1" + vega-transforms "~4.10.1" + vega-typings "~0.23.0" + vega-util "~1.17.1" + vega-view "~5.11.1" + vega-view-transforms "~4.5.9" + vega-voronoi "~4.2.1" + vega-wordcloud "~4.1.4" verror@1.10.0: version "1.10.0"