diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index fd08ad5f2ede1..0c100d157ba58 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-05-31 +date: 2023-06-01 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 71c46f8a05f21..b44cbefbe003d 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-05-31 +date: 2023-06-01 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 06dfa670ca43c..970c618f3d1ca 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-05-31 +date: 2023-06-01 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 952ede1074ddd..eb03112af6205 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-05-31 +date: 2023-06-01 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 a42f53edbbe6e..79b49728fad06 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index b0e2a45028dec..6a7616fc7a0ce 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 4c50a3a423140..4b04e4dc641f6 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-05-31 +date: 2023-06-01 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 65602f29f29a2..c0fe927e72943 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-05-31 +date: 2023-06-01 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 32b0749282824..b03759f2a3328 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index efa33864a027b..1b2f87f9db24b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 46699dfefbb54..70c8bc9204045 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-05-31 +date: 2023-06-01 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 4449bde006e77..947f3e192f932 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-05-31 +date: 2023-06-01 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 709423b0f60bb..bdf4dcdf526e4 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-05-31 +date: 2023-06-01 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 42855dc9da61c..90e5828981c8a 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.devdocs.json b/api_docs/cloud_defend.devdocs.json index 96fff9bfacc8f..88ea58e59eb72 100644 --- a/api_docs/cloud_defend.devdocs.json +++ b/api_docs/cloud_defend.devdocs.json @@ -49,70 +49,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "cloudDefend", - "id": "def-public.getSecuritySolutionNavTab", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionNavTab", - "description": [ - "\nGets the link properties of a Cloud Defend page for navigation in the old security solution navigation." - ], - "signature": [ - "(cloudDefendPage: ", - "CloudDefendPage", - ", basePath: string) => CloudDefendNavTab" - ], - "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "cloudDefend", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "CompoundType", - "tags": [], - "label": "cloudDefendPage", - "description": [ - "the name of the cloud defend page." - ], - "signature": [ - "CloudDefendPage" - ], - "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "cloudDefend", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" - ], - "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 07bf7d9150ba7..848b4ce773674 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 15 | 0 | 4 | 2 | +| 12 | 0 | 4 | 2 | ## Client diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index fce19d3588933..e8443b61573bb 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.devdocs.json b/api_docs/cloud_security_posture.devdocs.json index 05494c188c5b3..5b7a964bf9526 100644 --- a/api_docs/cloud_security_posture.devdocs.json +++ b/api_docs/cloud_security_posture.devdocs.json @@ -49,70 +49,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionNavTab", - "description": [ - "\nGets the cloud security posture link properties of a CSP page for navigation in the old security solution navigation." - ], - "signature": [ - "(cloudSecurityPosturePage: ", - "CspPage", - ", basePath: string) => CloudSecurityPostureNavTab" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "CompoundType", - "tags": [], - "label": "cloudSecurityPosturePage", - "description": [ - "the name of the cloud posture page." - ], - "signature": [ - "CspPage" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 433dc21b32315..3eefdbaa5e892 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 0 | 2 | 2 | +| 14 | 0 | 2 | 2 | ## Client diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 548a5c841df0e..4a6a484b764f6 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-05-31 +date: 2023-06-01 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 ca77fa97dae69..9a8570a85e115 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.devdocs.json b/api_docs/controls.devdocs.json index 5422625608520..6f51cb684008b 100644 --- a/api_docs/controls.devdocs.json +++ b/api_docs/controls.devdocs.json @@ -1899,7 +1899,7 @@ "signature": [ "{ deselectOption: (payload: string) => void; setSearchString: (payload: string) => void; setAllowExpensiveQueries: (payload: boolean) => void; setPopoverOpen: (payload: boolean) => void; setSort: (payload: Partial<", "OptionsListSortingType", - ">) => void; selectExists: (payload: boolean) => void; selectOption: (payload: string) => void; replaceSelection: (payload: string) => void; clearSelections: (payload: unknown) => void; setExclude: (payload: boolean) => void; clearValidAndInvalidSelections: (payload: unknown) => void; setValidAndInvalidSelections: (payload: { validSelections: string[]; invalidSelections: string[]; }) => void; setLoading: (payload: boolean) => void; setField: (payload: ", + ">) => void; selectExists: (payload: boolean) => void; selectOption: (payload: string) => void; replaceSelection: (payload: string) => void; clearSelections: (payload: unknown) => void; setExclude: (payload: boolean) => void; clearValidAndInvalidSelections: (payload: unknown) => void; setValidAndInvalidSelections: (payload: { validSelections: string[]; invalidSelections: string[]; }) => void; setErrorMessage: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setField: (payload: ", { "pluginId": "dataViews", "scope": "common", @@ -2091,38 +2091,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddable.onFatalError", - "type": "Function", - "tags": [], - "label": "onFatalError", - "description": [], - "signature": [ - "(e: Error) => void" - ], - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddable.onFatalError.$1", - "type": "Object", - "tags": [], - "label": "e", - "description": [], - "signature": [ - "Error" - ], - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "controls", "id": "def-public.OptionsListEmbeddable.destroy", @@ -3026,7 +2994,7 @@ "section": "def-common.FieldSpec", "text": "FieldSpec" }, - " | undefined) => void; setDataViewId: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setMinMax: (payload: { min: string; max: string; }) => void; publishFilters: (payload: ", + " | undefined) => void; setDataViewId: (payload: string | undefined) => void; setErrorMessage: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setMinMax: (payload: { min: string; max: string; }) => void; publishFilters: (payload: ", { "pluginId": "@kbn/es-query", "scope": "common", diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 70dec2b5e5fc7..59450871347b1 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 306 | 0 | 299 | 14 | +| 304 | 0 | 297 | 14 | ## Client diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 27227ef008971..b4a58a719f428 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-05-31 +date: 2023-06-01 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 12f31b6486305..01cc2b3671e21 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-05-31 +date: 2023-06-01 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 5b84e8cbbbff4..4698fa014ebf1 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-05-31 +date: 2023-06-01 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 1938c5fbc5cfd..e57d0b4cf1fbd 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13490,7 +13490,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -13932,14 +13932,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -14012,10 +14004,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_views.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -21128,7 +21116,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -21570,14 +21558,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -21650,10 +21630,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_views.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 3fe933bdad641..9af7f765a5865 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-05-31 +date: 2023-06-01 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 56a4b82a8ee30..48548c4d26bc4 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-05-31 +date: 2023-06-01 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 e4ae53d3e2549..523d6facaf583 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-05-31 +date: 2023-06-01 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 610834967fe9a..d68a4ecca7ef1 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-05-31 +date: 2023-06-01 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 48f240e29162a..3f079fcc274a7 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-05-31 +date: 2023-06-01 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 c60aab9fb755b..10afee3f843a6 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-05-31 +date: 2023-06-01 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 3c4cfa5ab7f35..ffc640dbd60bc 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -329,7 +329,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -763,14 +763,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -871,10 +863,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -8613,7 +8601,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -9047,14 +9035,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -9155,10 +9135,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -15954,7 +15930,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -16388,14 +16364,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -16496,10 +16464,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index daa74e90d9a89..b00e17a4962fa 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 05eec42ea7ca2..2eebe14eeb8a3 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-05-31 +date: 2023-06-01 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 245711187f64c..3480b943678a9 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -17,17 +17,17 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| | | ml, stackAlerts | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, data, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, data, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | | | home, data, esUiShared, spaces, savedObjectsManagement, exploratoryView, fleet, observability, ml, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, ux, kibanaOverview | - | | | encryptedSavedObjects, actions, data, ml, logstash, securitySolution, cloudChat | - | | | actions, ml, savedObjectsTagging, enterpriseSearch | - | -| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, dataViews, home, data, savedObjects, unifiedSearch, presentationUtil, visualizations, dashboard, lens, discover, fileUpload, ml, fleet, canvas, dashboardEnhanced, monitoring, synthetics, transform, dataVisualizer, cloudSecurityPosture | - | -| | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, home, savedObjects, savedSearch, visualizations, dashboard, lens, ml, canvas, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core-saved-objects-browser-mocks, savedObjects, presentationUtil, savedSearch, dashboard, ml, cloudSecurityPosture, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, dashboard, ml, cloudSecurityPosture, dashboardEnhanced, monitoring, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, embeddable, presentationUtil, visualizations, dashboard, aiops, ml, dataVisualizer, fleet, cloudSecurityPosture, dashboardEnhanced, graph, synthetics, lens, securitySolution, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, dataViews, home, data, savedObjects, unifiedSearch, presentationUtil, visualizations, dashboard, eventAnnotation, lens, discover, fileUpload, ml, fleet, canvas, dashboardEnhanced, monitoring, synthetics, transform, dataVisualizer | - | +| | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, home, savedObjects, savedSearch, visualizations, dashboard, eventAnnotation, lens, ml, canvas, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-saved-objects-browser-mocks, savedObjects, presentationUtil, savedSearch, dashboard, eventAnnotation, ml, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, dashboard, eventAnnotation, ml, dashboardEnhanced, monitoring, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, embeddable, presentationUtil, visualizations, dashboard, aiops, ml, dataVisualizer, fleet, dashboardEnhanced, graph, synthetics, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core-lifecycle-browser-mocks, @kbn/core, ml, dashboard, dataViews, savedSearch, @kbn/core-plugins-browser-internal | - | | | @kbn/core, savedObjects, embeddable, visualizations, dashboard, fleet, canvas, graph, ml, @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, actions, alerting, savedSearch, enterpriseSearch, securitySolution, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | @@ -64,14 +64,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | monitoring | - | -| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjects, savedObjectsManagement, visualizations, savedObjectsTagging, lens, fleet, graph, dashboard, savedObjectsTaggingOss, kibanaUtils, expressions, dataViews, data, embeddable, controls, uiActionsEnhanced, cases, maps, canvas, dashboardEnhanced, globalSearchProviders, infra | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, savedSearch, dashboard | - | -| | @kbn/core-saved-objects-browser-mocks, home, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjects, savedObjectsManagement, visualizations, eventAnnotation, savedObjectsTagging, lens, fleet, graph, dashboard, savedObjectsTaggingOss, kibanaUtils, expressions, dataViews, data, embeddable, controls, uiActionsEnhanced, cases, maps, canvas, dashboardEnhanced, globalSearchProviders, infra | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, savedSearch, dashboard, eventAnnotation | - | +| | @kbn/core-saved-objects-browser-mocks, home, eventAnnotation, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, visualizations, dashboard | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, dashboard, savedObjects, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, fleet, synthetics, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedSearch, savedObjects | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedSearch, eventAnnotation, savedObjects | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal | - | @@ -80,7 +80,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server-internal, canvas | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, cloudSecurityPosture | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, spaces, savedSearch, visualizations, dashboard, lens, cases, maps, fleet, canvas, graph | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | @@ -135,7 +135,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | security, licenseManagement, ml, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher, profiling | 8.8.0 | | | spaces, security, actions, alerting, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, osquery, painlessLab, rollup, searchprofiler, securitySolution, snapshotRestore, transform, upgradeAssistant | 8.8.0 | | | spaces, security, alerting | 8.8.0 | -| | embeddable, presentationUtil, dashboard, discover, graph | 8.8.0 | +| | embeddable, presentationUtil, dashboard, lens, discover, graph | 8.8.0 | | | apm, security, securitySolution | 8.8.0 | | | apm, security, securitySolution | 8.8.0 | | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, management, fleet, security, kibanaOverview, @kbn/core | 8.8.0 | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index e9d7a56019f34..f0b9c7258ef23 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -434,11 +434,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [overview_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx#:~:text=indexPatternId) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=savedObjects) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=find) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=get) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SavedObjectsFindOptions), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SavedObjectsFindOptions) | - | @@ -585,11 +580,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | | | [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal), [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=executeTriggerActions), [search_embeddable_factory.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/search_embeddable_factory.ts#:~:text=executeTriggerActions), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/plugin.tsx#:~:text=executeTriggerActions) | - | | | [discover_saved_search_container.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts#:~:text=savedObjects), [discover_saved_search_container.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts#:~:text=savedObjects), [search_embeddable_factory.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/search_embeddable_factory.ts#:~:text=savedObjects), [discover_saved_search_container.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts#:~:text=savedObjects), [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.test.ts#:~:text=savedObjects) | - | @@ -648,6 +640,22 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## eventAnnotation + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectsClientContract), [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectsClientContract) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=create), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=create), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=create) | - | +| | [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=bulkCreate) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=find) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=get), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=get) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=update), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=update) | - | +| | [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=SimpleSavedObject), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=SimpleSavedObject) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectReference), [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectReference) | - | + + + ## exploratoryView | Deprecated API | Reference location(s) | Remove By | @@ -821,12 +829,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | +| | [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | | | [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects) | - | | | [reference_editor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx#:~:text=SavedObjectsClientContract), [reference_editor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx#:~:text=SavedObjectsClientContract), [dimension_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx#:~:text=SavedObjectsClientContract), [dimension_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx#:~:text=SavedObjectsClientContract), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts#:~:text=SavedObjectsClientContract), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract) | - | | | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject) | - | | | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock) | - | -| | [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [selectors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/state_management/selectors.ts#:~:text=SavedObjectReference)+ 43 more | - | +| | [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference)+ 48 more | - | | | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -1132,8 +1141,8 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [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 | | | [request_context_factory.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=authc), [route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts#:~:text=authc), [create_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts#:~:text=authc), [delete_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts#:~:text=authc), [finalize_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts#:~:text=authc), [open_close_signals_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts#:~:text=authc), [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts#:~:text=authc) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields) | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 34 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 99 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 31 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 100 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject) | - | @@ -1270,9 +1279,9 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 0545c9da52328..5fe7fe3cc19e7 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -102,7 +102,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| | graph | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/plugin.ts#:~:text=license%24) | 8.8.0 | -| graph | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | +| graph | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 3c49423dd0c49..534c42451770a 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-05-31 +date: 2023-06-01 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 f4efe35217298..5e8ee2dbb90b0 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-05-31 +date: 2023-06-01 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 ba3e9d46733b9..904642234936d 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-05-31 +date: 2023-06-01 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 9fe66a76cb644..c10d94ce5289b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.devdocs.json b/api_docs/embeddable.devdocs.json index 1d2998c46bd41..ead5399485a42 100644 --- a/api_docs/embeddable.devdocs.json +++ b/api_docs/embeddable.devdocs.json @@ -3238,7 +3238,9 @@ "type": "Function", "tags": [], "label": "onFatalError", - "description": [], + "description": [ + "\nCall this **only** when your embeddable has encountered a non-recoverable error; recoverable errors\nshould be handled by the individual embeddable types" + ], "signature": [ "(e: Error) => void" ], @@ -3252,7 +3254,9 @@ "type": "Object", "tags": [], "label": "e", - "description": [], + "description": [ + "The fatal, unrecoverable Error that was thrown" + ], "signature": [ "Error" ], diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 65407e2707638..f35c012a37d2a 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 546 | 11 | 444 | 4 | +| 546 | 11 | 442 | 4 | ## Client diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 3fe195efefaee..9db517903047e 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-05-31 +date: 2023-06-01 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 87e89a93e9c94..596a837dd0b7f 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.devdocs.json b/api_docs/enterprise_search.devdocs.json index 47c6d7ad5017e..2e651ea7e7064 100644 --- a/api_docs/enterprise_search.devdocs.json +++ b/api_docs/enterprise_search.devdocs.json @@ -38,7 +38,7 @@ "label": "ConfigType", "description": [], "signature": [ - "{ readonly host?: string | undefined; readonly customHeaders?: Readonly<{} & {}> | undefined; readonly enabled: boolean; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; readonly canDeployEntSearch: boolean; readonly hasConnectors: boolean; readonly hasDefaultIngestPipeline: boolean; readonly hasDocumentLevelSecurityEnabled: boolean; readonly hasNativeConnectors: boolean; readonly hasWebCrawler: boolean; }" + "{ readonly host?: string | undefined; readonly customHeaders?: Readonly<{} & {}> | undefined; readonly enabled: boolean; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; readonly canDeployEntSearch: boolean; readonly hasConnectors: boolean; readonly hasDefaultIngestPipeline: boolean; readonly hasDocumentLevelSecurityEnabled: boolean; readonly hasIncrementalSyncEnabled: boolean; readonly hasNativeConnectors: boolean; readonly hasWebCrawler: boolean; }" ], "path": "x-pack/plugins/enterprise_search/server/index.ts", "deprecated": false, @@ -201,6 +201,14 @@ "section": "def-common.Type", "text": "Type" }, + "; hasIncrementalSyncEnabled: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, "; hasNativeConnectors: ", { "pluginId": "@kbn/config-schema", diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index b923a1881aea5..5b7099098c397 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-05-31 +date: 2023-06-01 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 e0034c98b06ea..7f5258e34e4c1 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.devdocs.json b/api_docs/event_annotation.devdocs.json index 3ca7a31c9bd78..0af88a4d3a6c1 100644 --- a/api_docs/event_annotation.devdocs.json +++ b/api_docs/event_annotation.devdocs.json @@ -181,6 +181,153 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.loadAnnotationGroup", + "type": "Function", + "tags": [], + "label": "loadAnnotationGroup", + "description": [], + "signature": [ + "(savedObjectId: string) => Promise<", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ">" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.loadAnnotationGroup.$1", + "type": "string", + "tags": [], + "label": "savedObjectId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.createAnnotationGroup", + "type": "Function", + "tags": [], + "label": "createAnnotationGroup", + "description": [], + "signature": [ + "(group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ") => Promise<{ id: string; }>" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.createAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup", + "type": "Function", + "tags": [], + "label": "updateAnnotationGroup", + "description": [], + "signature": [ + "(group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ", savedObjectId: string) => Promise" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup.$2", + "type": "string", + "tags": [], + "label": "savedObjectId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationServiceType.toExpression", @@ -244,7 +391,7 @@ "label": "toFetchExpression", "description": [], "signature": [ - "(props: { interval: string; groups: ", + "(props: { interval: string; groups: Pick<", { "pluginId": "eventAnnotation", "scope": "common", @@ -252,7 +399,7 @@ "section": "def-common.EventAnnotationGroupConfig", "text": "EventAnnotationGroupConfig" }, - "[]; }) => ", + ", \"annotations\" | \"ignoreGlobalFilters\" | \"indexPatternId\">[]; }) => ", { "pluginId": "expressions", "scope": "common", @@ -296,6 +443,7 @@ "label": "groups", "description": [], "signature": [ + "Pick<", { "pluginId": "eventAnnotation", "scope": "common", @@ -303,7 +451,7 @@ "section": "def-common.EventAnnotationGroupConfig", "text": "EventAnnotationGroupConfig" }, - "[]" + ", \"annotations\" | \"ignoreGlobalFilters\" | \"indexPatternId\">[]" ], "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", "deprecated": false, @@ -313,6 +461,166 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder", + "type": "Function", + "tags": [], + "label": "renderEventAnnotationGroupSavedObjectFinder", + "description": [], + "signature": [ + "(props: { fixedPageSize?: number | undefined; onChoose: (value: { id: string; type: string; fullName: string; savedObject: ", + { + "pluginId": "savedObjectsFinder", + "scope": "common", + "docId": "kibSavedObjectsFinderPluginApi", + "section": "def-common.SavedObjectCommon", + "text": "SavedObjectCommon" + }, + "; }) => void; onCreateNew: () => void; }) => JSX.Element" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.fixedPageSize", + "type": "number", + "tags": [], + "label": "fixedPageSize", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose", + "type": "Function", + "tags": [], + "label": "onChoose", + "description": [], + "signature": [ + "(value: { id: string; type: string; fullName: string; savedObject: ", + { + "pluginId": "savedObjectsFinder", + "scope": "common", + "docId": "kibSavedObjectsFinderPluginApi", + "section": "def-common.SavedObjectCommon", + "text": "SavedObjectCommon" + }, + "; }) => void" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1", + "type": "Object", + "tags": [], + "label": "value", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.fullName", + "type": "string", + "tags": [], + "label": "fullName", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.savedObject", + "type": "Object", + "tags": [], + "label": "savedObject", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onCreateNew", + "type": "Function", + "tags": [], + "label": "onCreateNew", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ] + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -349,6 +657,22 @@ } ], "objects": [], + "setup": { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationPluginSetup", + "type": "Type", + "tags": [], + "label": "EventAnnotationPluginSetup", + "description": [], + "signature": [ + "void" + ], + "path": "src/plugins/event_annotation/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "lifecycle": "setup", + "initialIsOpen": true + }, "start": { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationService", @@ -360,6 +684,65 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "core", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-lifecycle-browser", + "scope": "common", + "docId": "kibKbnCoreLifecycleBrowserPluginApi", + "section": "def-common.CoreStart", + "text": "CoreStart" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed.$2", + "type": "Object", + "tags": [], + "label": "savedObjectsManagement", + "description": [], + "signature": [ + { + "pluginId": "savedObjectsManagement", + "scope": "public", + "docId": "kibSavedObjectsManagementPluginApi", + "section": "def-public.SavedObjectsManagementPluginStart", + "text": "SavedObjectsManagementPluginStart" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationService.getService", @@ -527,6 +910,109 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes", + "type": "Interface", + "tags": [], + "label": "EventAnnotationGroupAttributes", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.ignoreGlobalFilters", + "type": "boolean", + "tags": [], + "label": "ignoreGlobalFilters", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.annotations", + "type": "Array", + "tags": [], + "label": "annotations", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationConfig", + "text": "EventAnnotationConfig" + }, + "[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.dataViewSpec", + "type": "Object", + "tags": [], + "label": "dataViewSpec", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + " | undefined" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupConfig", @@ -573,12 +1059,66 @@ { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupConfig.ignoreGlobalFilters", - "type": "CompoundType", + "type": "boolean", "tags": [], "label": "ignoreGlobalFilters", "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], "signature": [ - "boolean | undefined" + "string[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.dataViewSpec", + "type": "Object", + "tags": [], + "label": "dataViewSpec", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + " | undefined" ], "path": "src/plugins/event_annotation/common/types.ts", "deprecated": false, @@ -645,6 +1185,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EVENT_ANNOTATION_GROUP_TYPE", + "type": "string", + "tags": [], + "label": "EVENT_ANNOTATION_GROUP_TYPE", + "description": [], + "signature": [ + "\"event-annotation-group\"" + ], + "path": "src/plugins/event_annotation/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationArgs", diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index d18e0f905a533..715e82c02259e 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 172 | 30 | 172 | 3 | +| 204 | 30 | 204 | 3 | ## Client +### Setup + + ### Start diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 0bc650de650f3..2d5b7b804a683 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index ff6ccf993b4fc..61505217772cd 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index ca3d17515aa25..edddeebb52614 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-05-31 +date: 2023-06-01 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 bf1a304247354..c86241bbb321a 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-05-31 +date: 2023-06-01 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 03177790ae19b..be69fb06ecb81 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-05-31 +date: 2023-06-01 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 5f421f97c3ecb..e3ebb9ea90ae8 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-05-31 +date: 2023-06-01 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 149c81599066c..4e7893ddb4cf3 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-05-31 +date: 2023-06-01 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 adb9d5c2fad73..3f5dd34f00308 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-05-31 +date: 2023-06-01 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 c2b9931fd75d6..160dec01b67a8 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-05-31 +date: 2023-06-01 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 850506b609e72..1689d71fe4179 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-05-31 +date: 2023-06-01 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 4f07d20c9c438..c9c04284fb55a 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-05-31 +date: 2023-06-01 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 03e81a2fc6256..2d6b5049d486a 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-05-31 +date: 2023-06-01 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 dc3923cb3235c..ea152016231f9 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-05-31 +date: 2023-06-01 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 dac92c8a836c3..d0c981ff516b5 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-05-31 +date: 2023-06-01 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 9a46e3e885420..4eff9cb27ea99 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-05-31 +date: 2023-06-01 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 1a84da3285db2..b1c3a3ae0ed64 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-05-31 +date: 2023-06-01 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 ca477ab27f538..19bc10ba3a08c 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-05-31 +date: 2023-06-01 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 26569de43225c..9b8d8264b1052 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-05-31 +date: 2023-06-01 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 c73e356a0d0f2..fb3a42ea893df 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 55ed092d65485..2bdd8025b753d 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-05-31 +date: 2023-06-01 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 72e2e0a760300..4f8855b9b96c3 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index 22997a28a93f3..683899e123e9d 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -5660,10 +5660,10 @@ }, { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface", + "id": "def-server.FleetFileUpdatableFields", "type": "Interface", "tags": [], - "label": "FleetFileClientInterface", + "label": "FleetFileUpdatableFields", "description": [], "path": "x-pack/plugins/fleet/server/services/files/types.ts", "deprecated": false, @@ -5671,185 +5671,48 @@ "children": [ { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.create", - "type": "Function", - "tags": [], - "label": "create", - "description": [ - "Creates a new file. Only applicable when type of file is `to-host`." - ], - "signature": [ - "(fileStream: ", - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.HapiReadableStream", - "text": "HapiReadableStream" - }, - ", agentIds: string[]) => Promise<", - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.FleetFile", - "text": "FleetFile" - }, - ">" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.create.$1", - "type": "Object", - "tags": [], - "label": "fileStream", - "description": [], - "signature": [ - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.HapiReadableStream", - "text": "HapiReadableStream" - } - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.create.$2", - "type": "Array", - "tags": [], - "label": "agentIds", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.delete", - "type": "Function", + "id": "def-server.FleetFileUpdatableFields.agents", + "type": "Array", "tags": [], - "label": "delete", - "description": [ - "Deletes a file. Only applicable when type of file is `to-host`." - ], + "label": "agents", + "description": [], "signature": [ - "(fileId: string) => Promise" + "string[]" ], "path": "x-pack/plugins/fleet/server/services/files/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.delete.$1", - "type": "string", - "tags": [], - "label": "fileId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.update", - "type": "Function", + "id": "def-server.FleetFileUpdatableFields.actionId", + "type": "string", "tags": [], - "label": "update", - "description": [ - "Updates metadata for the file. Only applicable when type of file is `to-host`." - ], - "signature": [ - "(fileId: string, updates: Partial<", - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.FleetFileUpdatableFields", - "text": "FleetFileUpdatableFields" - }, - ">) => Promise<", - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.FleetFile", - "text": "FleetFile" - }, - ">" - ], + "label": "actionId", + "description": [], "path": "x-pack/plugins/fleet/server/services/files/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.update.$1", - "type": "string", - "tags": [], - "label": "fileId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.update.$2", - "type": "Object", - "tags": [], - "label": "updates", - "description": [], - "signature": [ - "Partial<", - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.FleetFileUpdatableFields", - "text": "FleetFileUpdatableFields" - }, - ">" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface", + "type": "Interface", + "tags": [], + "label": "FleetFromHostFileClientInterface", + "description": [ + "\nInterface for files that were created by a host and consumed in kibana" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.doesFileHaveData", + "id": "def-server.FleetFromHostFileClientInterface.doesFileHaveData", "type": "Function", "tags": [], "label": "doesFileHaveData", @@ -5865,7 +5728,7 @@ "children": [ { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.doesFileHaveData.$1", + "id": "def-server.FleetFromHostFileClientInterface.doesFileHaveData.$1", "type": "string", "tags": [], "label": "fileId", @@ -5883,7 +5746,7 @@ }, { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.download", + "id": "def-server.FleetFromHostFileClientInterface.download", "type": "Function", "tags": [], "label": "download", @@ -5901,7 +5764,7 @@ "children": [ { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.download.$1", + "id": "def-server.FleetFromHostFileClientInterface.download.$1", "type": "string", "tags": [], "label": "fileId", @@ -5919,7 +5782,7 @@ }, { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.get", + "id": "def-server.FleetFromHostFileClientInterface.get", "type": "Function", "tags": [], "label": "get", @@ -5943,7 +5806,7 @@ "children": [ { "parentPluginId": "fleet", - "id": "def-server.FleetFileClientInterface.get.$1", + "id": "def-server.FleetFromHostFileClientInterface.get.$1", "type": "string", "tags": [], "label": "fileId", @@ -5962,45 +5825,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileUpdatableFields", - "type": "Interface", - "tags": [], - "label": "FleetFileUpdatableFields", - "description": [], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileUpdatableFields.agents", - "type": "Array", - "tags": [], - "label": "agents", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileUpdatableFields.actionId", - "type": "string", - "tags": [], - "label": "actionId", - "description": [], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "fleet", "id": "def-server.FleetSetupDeps", @@ -6180,6 +6004,217 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface", + "type": "Interface", + "tags": [], + "label": "FleetToHostFileClientInterface", + "description": [ + "\nInterface for files created via kibana to be delivered to a hosts" + ], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetToHostFileClientInterface", + "text": "FleetToHostFileClientInterface" + }, + " extends ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFromHostFileClientInterface", + "text": "FleetFromHostFileClientInterface" + } + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [ + "Creates a new file" + ], + "signature": [ + "(fileStream: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.HapiReadableStream", + "text": "HapiReadableStream" + }, + ", agentIds: string[]) => Promise<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFile", + "text": "FleetFile" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create.$1", + "type": "Object", + "tags": [], + "label": "fileStream", + "description": [], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.HapiReadableStream", + "text": "HapiReadableStream" + } + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create.$2", + "type": "Array", + "tags": [], + "label": "agentIds", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.delete", + "type": "Function", + "tags": [], + "label": "delete", + "description": [ + "Deletes a file" + ], + "signature": [ + "(fileId: string) => Promise" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.delete.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update", + "type": "Function", + "tags": [], + "label": "update", + "description": [ + "Updates metadata for the file" + ], + "signature": [ + "(fileId: string, updates: Partial<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFileUpdatableFields", + "text": "FleetFileUpdatableFields" + }, + ">) => Promise<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFile", + "text": "FleetFile" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update.$2", + "type": "Object", + "tags": [], + "label": "updates", + "description": [], + "signature": [ + "Partial<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFileUpdatableFields", + "text": "FleetFileUpdatableFields" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-server.HapiReadableStream", @@ -9693,23 +9728,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetFileTransferDirection", - "type": "Type", - "tags": [], - "label": "FleetFileTransferDirection", - "description": [ - "\nThe type of file.\nUse `from-host` when interacting with files that were sent to ES from the\nhost (via Fleet-Server)\nUse `to-host` when interacting with files that are being sent to the host\n(via fleet-server)" - ], - "signature": [ - "\"from-host\" | \"to-host\"" - ], - "path": "x-pack/plugins/fleet/server/services/files/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "fleet", "id": "def-server.ListArtifactsProps", @@ -16856,87 +16874,34 @@ { "parentPluginId": "fleet", "id": "def-server.FleetStartContract.createFilesClient", - "type": "Function", + "type": "Object", "tags": [], "label": "createFilesClient", "description": [ "\nCreate a Fleet Files client instance" ], "signature": [ - "(packageName: string, type: ", + "{ readonly toHost: (packageName: string, maxSizeBytes?: number | undefined) => ", { "pluginId": "fleet", "scope": "server", "docId": "kibFleetPluginApi", - "section": "def-server.FleetFileTransferDirection", - "text": "FleetFileTransferDirection" + "section": "def-server.FleetToHostFileClientInterface", + "text": "FleetToHostFileClientInterface" }, - ", maxSizeBytes?: number | undefined) => ", + "; readonly fromHost: (packageName: string) => ", { "pluginId": "fleet", "scope": "server", "docId": "kibFleetPluginApi", - "section": "def-server.FleetFileClientInterface", - "text": "FleetFileClientInterface" - } + "section": "def-server.FleetFromHostFileClientInterface", + "text": "FleetFromHostFileClientInterface" + }, + "; }" ], "path": "x-pack/plugins/fleet/server/plugin.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.FleetStartContract.createFilesClient.$1", - "type": "string", - "tags": [], - "label": "packageName", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/fleet/server/plugin.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetStartContract.createFilesClient.$2", - "type": "CompoundType", - "tags": [], - "label": "type", - "description": [], - "signature": [ - { - "pluginId": "fleet", - "scope": "server", - "docId": "kibFleetPluginApi", - "section": "def-server.FleetFileTransferDirection", - "text": "FleetFileTransferDirection" - } - ], - "path": "x-pack/plugins/fleet/server/plugin.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "fleet", - "id": "def-server.FleetStartContract.createFilesClient.$3", - "type": "number", - "tags": [], - "label": "maxSizeBytes", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "x-pack/plugins/fleet/server/plugin.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "fleet", diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index a0145145e3116..d40387e32c9c3 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1159 | 3 | 1045 | 31 | +| 1156 | 3 | 1041 | 31 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index cfb1657ba770a..fab9789b92148 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-05-31 +date: 2023-06-01 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 582f9227fad05..496e74b269fe0 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-05-31 +date: 2023-06-01 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 662763a745f79..97a9cac9052c6 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-05-31 +date: 2023-06-01 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 66ec85c84e2e1..66ed327882d17 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-05-31 +date: 2023-06-01 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 64f1138e6625b..4fe2debbb803b 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-05-31 +date: 2023-06-01 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 81cb4a5fd1bb0..672eaba60e088 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-05-31 +date: 2023-06-01 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 efd96d2780caa..6affd25e1bbd7 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-05-31 +date: 2023-06-01 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 b1f4ebb32401d..2b8dfa1d4f9b2 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-05-31 +date: 2023-06-01 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 1664afa65c273..e77140d7c1883 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-05-31 +date: 2023-06-01 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 dc2370ff07f94..662f1d8a5498a 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-05-31 +date: 2023-06-01 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 d3e07f917a73b..b7f2f8f13b291 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-05-31 +date: 2023-06-01 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 ef88a26eb39a6..8a736698418b9 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index e638d5a6d4945..f7eaa3c879524 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index e14836eb4eb1d..636525d190840 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-05-31 +date: 2023-06-01 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 8bc529e28909f..932be22347087 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-05-31 +date: 2023-06-01 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 03fcc6ba60fca..28eb78f9f838f 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-05-31 +date: 2023-06-01 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 2747b9bfc449f..a6ea1a9c31f49 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-05-31 +date: 2023-06-01 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 59e82dbb77c4d..c945323ee79ee 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-05-31 +date: 2023-06-01 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 a2d11a3c60c26..dd0df026a79fb 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-05-31 +date: 2023-06-01 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 07f9100a2dfbf..ab588450d57b6 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-05-31 +date: 2023-06-01 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 c0c69045c6ed7..ed7abadaa20d5 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-05-31 +date: 2023-06-01 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 289a0c8a3baa4..c827644f398ab 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-05-31 +date: 2023-06-01 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 14f745442a964..efb093cb139fc 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-05-31 +date: 2023-06-01 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 afa1c7291808b..cd5edff4adcbd 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index c5f3c6ccf95c0..75c8193aa882e 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index d617e5f3e634f..91fda4808759e 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-05-31 +date: 2023-06-01 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 8c0bb35f06d49..cd3b1d5f54eb5 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-05-31 +date: 2023-06-01 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 0bd3908a6c8d0..72b214e035015 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-05-31 +date: 2023-06-01 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 03c7603269f72..35466040e489b 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-05-31 +date: 2023-06-01 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 fb5bc0cacfc97..ec1ab3be29090 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-05-31 +date: 2023-06-01 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 505bbb5398f9c..3ab0c5bf152fa 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-05-31 +date: 2023-06-01 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 92bbe0ba75450..2f8d726b9895c 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-05-31 +date: 2023-06-01 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 8edc02c21fdc4..922c49943a140 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-05-31 +date: 2023-06-01 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 ea0c6d91b049d..be200be94db16 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-05-31 +date: 2023-06-01 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 77efc9cff6dee..df18358ff0e1b 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-05-31 +date: 2023-06-01 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 a777374f10150..7606112ffb6e8 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-05-31 +date: 2023-06-01 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 a5d74aff02abf..dbd076ebae084 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-05-31 +date: 2023-06-01 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 9a989221b0768..aea913413ce2d 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-05-31 +date: 2023-06-01 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 6e98c7478fc4e..ed859428b4ea8 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-05-31 +date: 2023-06-01 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 eb88f5b8ca5ad..8331890c64e91 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-05-31 +date: 2023-06-01 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 341b9e64bdf44..a6f5930f3b830 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-05-31 +date: 2023-06-01 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 6d7177e7d6a39..f566a508067a5 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-05-31 +date: 2023-06-01 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 6ae5f97cb1129..3f83fede0192c 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-05-31 +date: 2023-06-01 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_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index d2b3e74b8405f..d86f551d1615a 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 9e38ea300e572..db0f558c86647 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-05-31 +date: 2023-06-01 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 ccdae74281e8f..66c21c625a472 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-05-31 +date: 2023-06-01 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 689084b276d52..e82bbea0bf1e5 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-05-31 +date: 2023-06-01 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 8785b9ab4008d..a0cf1fb33ce18 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-05-31 +date: 2023-06-01 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 11e42ff5ef8bb..cad29109bdf19 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-05-31 +date: 2023-06-01 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 84e504a1bf40f..db87564751444 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-05-31 +date: 2023-06-01 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 7e43edc35245e..1296ae67cb8ff 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-05-31 +date: 2023-06-01 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 2147aef4999e2..3aba13cc9879e 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-05-31 +date: 2023-06-01 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 9e88a03661f74..1ce53849273d3 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-05-31 +date: 2023-06-01 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 e04be488d3ec9..f7d3f0e3d02e5 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-05-31 +date: 2023-06-01 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 5bd1760291afe..f77d0a4d1742b 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-05-31 +date: 2023-06-01 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 de92a1a20aca9..bad4f21c4195a 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-05-31 +date: 2023-06-01 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 48e2537fb6035..3faacb9708068 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-05-31 +date: 2023-06-01 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 91d41ec5b9065..c3468ec8c4428 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-05-31 +date: 2023-06-01 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 9d162018d9a1c..0e34bf7e9847c 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-05-31 +date: 2023-06-01 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 1cee5b59f7ab1..3b9d0860153d0 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-05-31 +date: 2023-06-01 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 ae3ab56fdb603..38f6c2a757400 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-05-31 +date: 2023-06-01 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 6aa2224da3f39..58047cd561721 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-05-31 +date: 2023-06-01 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 73d49e91741b4..6b13090f6b92d 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-05-31 +date: 2023-06-01 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 5e3e79f76da0d..45e30348be140 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-05-31 +date: 2023-06-01 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 7050b185df3c0..977116cad2411 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-05-31 +date: 2023-06-01 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 eaacdae95bf21..9575be30fdcad 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-05-31 +date: 2023-06-01 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 e0225e5c2997a..34bdc4b3a5ba7 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-05-31 +date: 2023-06-01 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 893f2d833eb3b..88fb8bfa6882d 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-05-31 +date: 2023-06-01 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 f937ff97048d9..31353bc86c7b4 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-05-31 +date: 2023-06-01 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 98eeb60e5eee2..9de3f9476db38 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-05-31 +date: 2023-06-01 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 f4930879133ea..f881d78df8a97 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-05-31 +date: 2023-06-01 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 cdf6750b8066b..332d61379a49a 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-05-31 +date: 2023-06-01 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 784e81307fc63..cb94dcc08c931 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-05-31 +date: 2023-06-01 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 f495b5bbcd5d8..e475151f13e7e 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-05-31 +date: 2023-06-01 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 713868958d001..f104859ff7f0e 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-05-31 +date: 2023-06-01 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 96a40c482a014..ee7ca23f3f620 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-05-31 +date: 2023-06-01 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 cffba16e4c237..7458eae99e416 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-05-31 +date: 2023-06-01 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 fffbbfc73eaa8..2464e6ec84cb6 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-05-31 +date: 2023-06-01 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 59c4a74f436ee..2a786bf8821f6 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-05-31 +date: 2023-06-01 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 4f5f25d635fcf..1c82c73752f65 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-05-31 +date: 2023-06-01 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 2e6f1129fdb1a..19b3cfd6b7be5 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-05-31 +date: 2023-06-01 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 b53622059e5b9..feb36233f5cc0 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-05-31 +date: 2023-06-01 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 674e8db4e4392..aaaf86a73e7ee 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-05-31 +date: 2023-06-01 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 dfaeb0604b503..be45fa19dc5d4 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-05-31 +date: 2023-06-01 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 bbbcdcf55ff21..1d43e6bf88f91 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-05-31 +date: 2023-06-01 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 6e4c08fbf4095..df0436439d7fc 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-05-31 +date: 2023-06-01 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 1db59a4fd60e6..7d93498130604 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-05-31 +date: 2023-06-01 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 20b7d056c1e81..fd7c611291537 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-05-31 +date: 2023-06-01 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 1600b2ab4ae52..61629aad5543b 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-05-31 +date: 2023-06-01 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 e758fb68ab1cd..ee381b4836809 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-05-31 +date: 2023-06-01 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 d45dbdad0e3d8..dec8dd2fe94c8 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-05-31 +date: 2023-06-01 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 8a0688e6b4d9f..f4432d68cd740 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-05-31 +date: 2023-06-01 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 1ada180470d39..10891036faeef 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-05-31 +date: 2023-06-01 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 ef5a073c7e130..63296bb99b0df 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-05-31 +date: 2023-06-01 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 bbc958457290d..3c063be98134f 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-05-31 +date: 2023-06-01 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 1607f8f411877..9b410d3eda1ce 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-05-31 +date: 2023-06-01 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 9c0fc35cb6cde..ba46f9c075294 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-05-31 +date: 2023-06-01 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 580e54e6a5fa5..d8c78a215e7f7 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-05-31 +date: 2023-06-01 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 87f7d7da57b76..2284774b1a9b7 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-05-31 +date: 2023-06-01 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 a0f12b39fe26c..5a675da1d194b 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-05-31 +date: 2023-06-01 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 202c5b957d558..b29549224bfd8 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-05-31 +date: 2023-06-01 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 5e02cace2ca8f..50e9006011751 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-05-31 +date: 2023-06-01 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 6d4831672e582..44501c13f40ee 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-05-31 +date: 2023-06-01 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 f74d2da762df7..9158d822ec6d0 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-05-31 +date: 2023-06-01 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 80a888702ada4..0efc141d07071 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-05-31 +date: 2023-06-01 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 6e060eb5faf86..fdeaf3e0153bc 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-05-31 +date: 2023-06-01 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 0b14e6d69e83d..8e3b14ca0ac3c 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-05-31 +date: 2023-06-01 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 75d8cabb477e9..9fd84220a62ea 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-05-31 +date: 2023-06-01 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 366a2dc0fed9b..de4004e5b05ed 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-05-31 +date: 2023-06-01 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 4b745f82eecc0..84281085c103f 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-05-31 +date: 2023-06-01 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 c097bb4851248..fc8ea17f415ac 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-05-31 +date: 2023-06-01 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 c93039ca95745..8b62532b75f94 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-05-31 +date: 2023-06-01 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 4946365084706..dbb7b1fe39a34 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index cc326ac8ff9da..2761083272637 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 6f8ee5eb282eb..e126d44e6bffb 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-05-31 +date: 2023-06-01 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 deef84b1a1071..8244bca24d416 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-05-31 +date: 2023-06-01 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 5e060b7f75aef..8582ebec20373 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-05-31 +date: 2023-06-01 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 68196aec9a6bc..f541e23984e3b 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-05-31 +date: 2023-06-01 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 b610053147e05..e3bfea30bdd99 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-05-31 +date: 2023-06-01 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 318637fe23cc0..9154f10d0d725 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-05-31 +date: 2023-06-01 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 4b1a275d68152..83d38719f4a5b 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-05-31 +date: 2023-06-01 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 1ab8395ccb37f..40b74a45ca0be 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-05-31 +date: 2023-06-01 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 d07618c603b1c..8d6ec5aee54bd 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-05-31 +date: 2023-06-01 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 8f1a06f020703..86072d3b694ec 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-05-31 +date: 2023-06-01 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.devdocs.json b/api_docs/kbn_core_lifecycle_browser.devdocs.json index c646c8e5f12d2..3819468b4cc23 100644 --- a/api_docs/kbn_core_lifecycle_browser.devdocs.json +++ b/api_docs/kbn_core_lifecycle_browser.devdocs.json @@ -601,6 +601,10 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_actions/index.ts" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/datasources/form_based/form_based.tsx" @@ -689,6 +693,26 @@ "plugin": "transform", "path": "x-pack/plugins/transform/public/app/mount_management_section.ts" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts" @@ -716,10 +740,6 @@ { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" } ] }, diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 7a3ed99281a45..65d3f6fa66703 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-05-31 +date: 2023-06-01 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 e698a626cbcda..fbbb54756d2cc 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-05-31 +date: 2023-06-01 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 314bdee3de3c3..9a2df400aa740 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-05-31 +date: 2023-06-01 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 7ee5d1dc2a736..913ea89fa9750 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-05-31 +date: 2023-06-01 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 3b228cbdc2405..dbf17b67ae503 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-05-31 +date: 2023-06-01 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 914b52fbaff12..b4cdc4591c542 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-05-31 +date: 2023-06-01 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 fe83df20a14fd..68415bd802062 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-05-31 +date: 2023-06-01 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 1d8b12192a0ec..27f29856f91cf 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-05-31 +date: 2023-06-01 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 6e39d3bc42a17..0e2298f4ba7b8 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-05-31 +date: 2023-06-01 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 15fbbc35f4a6c..1e6089b520d51 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-05-31 +date: 2023-06-01 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 96456536d239a..a0873931c620a 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-05-31 +date: 2023-06-01 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 fc15c7f0cd4f0..72c92c6aacf0c 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-05-31 +date: 2023-06-01 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 55dd8ff3a8ed3..4ea911c672908 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-05-31 +date: 2023-06-01 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 c48d3143a4277..be358f92b7b69 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-05-31 +date: 2023-06-01 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 c666a176ebd4f..224c44ace8144 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-05-31 +date: 2023-06-01 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 5f190935f4445..69e8481b0d4f2 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-05-31 +date: 2023-06-01 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 d027c8e586bfb..390788ad6b884 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-05-31 +date: 2023-06-01 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 5c5056a2f3456..d79d1fa077c2c 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-05-31 +date: 2023-06-01 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 1d095bf33c1a8..0e3fe9d773ff4 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-05-31 +date: 2023-06-01 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 3fc6af1e2481e..30c9725758abb 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-05-31 +date: 2023-06-01 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 f4c8a342d2ce8..746b48ef3e0d7 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-05-31 +date: 2023-06-01 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 391eabd266ac0..59a51ce4f23cd 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-05-31 +date: 2023-06-01 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 0d8ffbfd855e8..62f5f6eb60978 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-05-31 +date: 2023-06-01 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 e88ead9d207e0..a7e2577c3e796 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-05-31 +date: 2023-06-01 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 a34f13fea4681..4df46b5dec936 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-05-31 +date: 2023-06-01 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 a63a9c6d18e3f..d02b7fb478e41 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-05-31 +date: 2023-06-01 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 f59ec7124b3d0..0431be1c94082 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-05-31 +date: 2023-06-01 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 008f2b342784a..ee44c8faed7cd 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-05-31 +date: 2023-06-01 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 4342943b4ea53..1f684a4ff6e7c 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-05-31 +date: 2023-06-01 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 e2a514cc1069b..2d7c6afcfef32 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-05-31 +date: 2023-06-01 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 c1147733ea182..32d9706c91332 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-05-31 +date: 2023-06-01 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 4bdb10d831c36..50f18f1cfc312 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-05-31 +date: 2023-06-01 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 d088d01bb1282..e41ad8c1254d3 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-05-31 +date: 2023-06-01 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 a4e6128308fea..b108364d4e170 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-05-31 +date: 2023-06-01 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.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index af282c53fbcb2..68134fb30d856 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -1058,6 +1058,14 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/plugin.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx" @@ -1262,6 +1270,18 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -1465,6 +1485,10 @@ "plugin": "home", "path": "src/plugins/home/public/application/components/home_app.js" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -1847,6 +1871,10 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/util/index_utils.ts" @@ -1859,10 +1887,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" @@ -1979,6 +2003,10 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/util/index_utils.ts" @@ -1991,10 +2019,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/jobs/new_job/job_from_lens/route_resolver.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" @@ -2003,6 +2027,10 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -2506,6 +2534,14 @@ "plugin": "savedSearch", "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -3395,18 +3431,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/types.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" @@ -3455,6 +3479,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/hooks/types.ts" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -4056,14 +4088,6 @@ { "plugin": "@kbn/core", "path": "src/core/public/index.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 188e0506b5fa5..8a88ac3b280e5 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-05-31 +date: 2023-06-01 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 b8204ea6048de..5ed793b60328b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 5f65f2c1251b4..fec9a1cfb86a5 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-05-31 +date: 2023-06-01 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 9962418df92dc..8b31698cf3e3f 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-05-31 +date: 2023-06-01 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 07c5b384c20dc..9a7dd2f2352a3 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-05-31 +date: 2023-06-01 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 97f0e8156d1a5..6ad95e68f0795 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-05-31 +date: 2023-06-01 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 fc0d6bf405ed7..61948cdfe260b 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-05-31 +date: 2023-06-01 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 c64bb83eb520e..ecbb14a5e2bc8 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-05-31 +date: 2023-06-01 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.devdocs.json b/api_docs/kbn_core_saved_objects_common.devdocs.json index 5272b05c60116..339253c958d8e 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -2114,6 +2114,14 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" @@ -2158,6 +2166,10 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/state_management/selectors.ts" @@ -2254,6 +2266,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/types.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/types.ts" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/types.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/visualizations/xy/state_helpers.ts" @@ -2266,6 +2286,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/visualizations/xy/state_helpers.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/visualization.tsx" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/visualization.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 8b4d9c4cdabbd..802ef3677fce3 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-05-31 +date: 2023-06-01 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 ce6c8b47e011d..293cbfc569cde 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-05-31 +date: 2023-06-01 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 4aeb0c43fa25b..f2051393e4075 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-05-31 +date: 2023-06-01 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 93c14d179e85e..df651dcadb222 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-05-31 +date: 2023-06-01 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 0469e36161a75..f56f6f2fb5019 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-05-31 +date: 2023-06-01 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 3888209c39ae7..5f0fdca9aa1fb 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-05-31 +date: 2023-06-01 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 dc27ce90f1812..ed7a347cbdd78 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-05-31 +date: 2023-06-01 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 8b7cbffa6f671..18e054d52eb69 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-05-31 +date: 2023-06-01 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 a812a3cfe5735..fc4537051b844 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-05-31 +date: 2023-06-01 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 16c68b89dbafc..0b6f6f650f704 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-05-31 +date: 2023-06-01 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 8dd1e9718be94..e5264f618c211 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-05-31 +date: 2023-06-01 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 bd86cc6128765..ff76a7616e6f3 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-05-31 +date: 2023-06-01 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 8c9f58d0e5225..ccf5751ab1653 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-05-31 +date: 2023-06-01 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 d1de68b85b0bd..a2d8e41cc2179 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-05-31 +date: 2023-06-01 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 02eb38627bcc1..1b7d7d8780689 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-05-31 +date: 2023-06-01 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 2a59c82b7df30..869dd2773bc1c 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-05-31 +date: 2023-06-01 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 08b07cdafe9a6..6d3f1cbfd8100 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-05-31 +date: 2023-06-01 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 67277796c65be..28dfca1812eb0 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-05-31 +date: 2023-06-01 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 59b4c6a8ed4e4..6efcedab70d5a 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-05-31 +date: 2023-06-01 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 06307e57b120b..0a6095819894e 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-05-31 +date: 2023-06-01 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 0c68289f670ac..0d8323e1ee5c4 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-05-31 +date: 2023-06-01 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 579262b31994c..c3500f60b3af1 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-05-31 +date: 2023-06-01 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 aba1201d28724..277b1fbb604a5 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-05-31 +date: 2023-06-01 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 45e7dec31c982..34c79010aeba5 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-05-31 +date: 2023-06-01 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 e1ab85a3a5af5..4728b82e2af27 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-05-31 +date: 2023-06-01 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 7fd2879c73e8f..57ccabbd40dc5 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-05-31 +date: 2023-06-01 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 95461704a399c..c1672924d0a64 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-05-31 +date: 2023-06-01 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 b818760780d0a..2d49b235c16ac 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-05-31 +date: 2023-06-01 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 e6089172dc336..61357d16808bc 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-05-31 +date: 2023-06-01 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 d636a54a30ae3..58f737a96cb9d 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-05-31 +date: 2023-06-01 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 7eb06f6872dfe..ba1250109fa2c 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-05-31 +date: 2023-06-01 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 710f655101851..8114a5ba55f8b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 03792dd606d4f..07637bd523204 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 5a6dbaa2262b7..53b70f3d12f3d 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 709753c7fe2d9..340b5a01a40e4 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index f6ae8808ca7aa..0f0054321e10c 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-05-31 +date: 2023-06-01 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 b662bc0582370..a12af44d6381c 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-05-31 +date: 2023-06-01 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 79b25286e64cf..f13782996adcc 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-05-31 +date: 2023-06-01 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 3e0036ec3d41d..76fa08971f884 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-05-31 +date: 2023-06-01 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 2f9c832dbc079..9b0432b22fd3a 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-05-31 +date: 2023-06-01 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 e8c4db2feab55..be09644b5558a 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-05-31 +date: 2023-06-01 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 42b1848f467c3..74f19816542f6 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-05-31 +date: 2023-06-01 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 6c3b2c1d67499..63ef509144f31 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-05-31 +date: 2023-06-01 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 f4dc34aaa31e1..682635e56f191 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-05-31 +date: 2023-06-01 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 8204d6e763028..a1d7f4520f11c 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 114f9e9deb6bf..823543d775d2c 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 8e622d8477495..4d20d09c03afe 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-05-31 +date: 2023-06-01 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 c5ccd45ecf66f..5e917ccb1191b 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-05-31 +date: 2023-06-01 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 316f4015661f1..a78973975c4a6 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-05-31 +date: 2023-06-01 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 1887fd1229962..805412ff857ea 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-05-31 +date: 2023-06-01 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 a26489daefeea..e8c6c70b4a413 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-05-31 +date: 2023-06-01 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 0133b56449db6..041ed73489cef 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-05-31 +date: 2023-06-01 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 74590c93da78d..dcc25f727ac70 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-05-31 +date: 2023-06-01 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 95af709814800..8bbca19764e0a 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-05-31 +date: 2023-06-01 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 daaac9768e06b..2d990aaf6c986 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-05-31 +date: 2023-06-01 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 bb29018d8b7fc..07ead1b866a57 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-05-31 +date: 2023-06-01 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 63cd8b1c156b2..cf98bb5cee684 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-05-31 +date: 2023-06-01 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 a51e6205b7244..13ff67934e975 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-05-31 +date: 2023-06-01 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 a680757911d61..5ac731a90c4b7 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-05-31 +date: 2023-06-01 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 5790117e32b58..455c012dd6495 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 3c5f84ecf45dd..1881ca1618bb6 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 2368507a03b96..cc0be4de93844 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index caf7283c4e54a..56ae1c2eb40d9 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-05-31 +date: 2023-06-01 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 0a5106fb35729..6b54920f26f84 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-05-31 +date: 2023-06-01 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 313089a3f7509..4f5719e64171b 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-05-31 +date: 2023-06-01 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 5ab6a7ad1bde4..e423ec26ef194 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-05-31 +date: 2023-06-01 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 3eee775b4d1cb..024d4c5c5da41 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-05-31 +date: 2023-06-01 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 9f45beb84521c..0050bb955ee56 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-05-31 +date: 2023-06-01 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 2ca9b6bb0efd8..4014df4502d46 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-05-31 +date: 2023-06-01 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 070751afc0d14..e53e73cf7fc00 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-05-31 +date: 2023-06-01 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 e6e090bc938ab..baadf930e2e3c 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 17219f82f3300..6e28c7e56641d 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index fd4a63c8eee99..adc05c830281c 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.devdocs.json b/api_docs/kbn_io_ts_utils.devdocs.json index 40cd0884ecb9d..c52cf0c809d50 100644 --- a/api_docs/kbn_io_ts_utils.devdocs.json +++ b/api_docs/kbn_io_ts_utils.devdocs.json @@ -200,6 +200,66 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt", + "type": "Function", + "tags": [], + "label": "inRangeFromStringRt", + "description": [], + "signature": [ + "(start: number, end: number) => ", + "Type", + "<", + "Branded", + ", unknown, unknown>" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt.$1", + "type": "number", + "tags": [], + "label": "start", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt.$2", + "type": "number", + "tags": [], + "label": "end", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/io-ts-utils", "id": "def-common.inRangeRt", @@ -678,6 +738,22 @@ } ], "objects": [ + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.datemathStringRt", + "type": "Object", + "tags": [], + "label": "datemathStringRt", + "description": [], + "signature": [ + "Type", + "" + ], + "path": "packages/kbn-io-ts-utils/src/datemath_string_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/io-ts-utils", "id": "def-common.dateRt", diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 3013e449e8e21..e70292bc14f72 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.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 | |-------------------|-----------|------------------------|-----------------| -| 39 | 0 | 39 | 4 | +| 43 | 0 | 43 | 4 | ## Common diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 31c2d743eac27..8f42bcf6fb0ea 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-05-31 +date: 2023-06-01 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 ba4ee1711c2e5..150b143152e0c 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-05-31 +date: 2023-06-01 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 5c06fef2393ee..f2d34ded1596e 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-05-31 +date: 2023-06-01 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 9a52f5c6ca96e..64190bbbd2a86 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-05-31 +date: 2023-06-01 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 695dea35558cb..0cd4884ca440d 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-05-31 +date: 2023-06-01 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 c955cbb8c5826..042616e0a966b 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-05-31 +date: 2023-06-01 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 2346639c7e18b..11e71c17d8d2c 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-05-31 +date: 2023-06-01 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 fc46ff40bbd13..f30d51da33efe 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-05-31 +date: 2023-06-01 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 d823f94f64c4b..8211f13bed709 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index fcde56fa46360..1b3d029a8da8b 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 81e3912fcee35..06e12e1182856 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 92ddc04d05bf1..a59df4f609518 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json b/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json new file mode 100644 index 0000000000000..e256f334515c9 --- /dev/null +++ b/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json @@ -0,0 +1,3080 @@ +{ + "id": "@kbn/ml-data-frame-analytics-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getAnalysisType", + "type": "Function", + "tags": [], + "label": "getAnalysisType", + "description": [ + "\nHelper function to get the analysis type of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => \"unknown\" | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalysisConfigType", + "text": "DataFrameAnalysisConfigType" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getAnalysisType.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDefaultPredictionFieldName", + "type": "Function", + "tags": [], + "label": "getDefaultPredictionFieldName", + "description": [ + "\nHelper function to get the default prediction field name\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDefaultPredictionFieldName.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDependentVar", + "type": "Function", + "tags": [], + "label": "getDependentVar", + "description": [ + "\nHelper function to get the dependent variable of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDependentVar.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopClasses", + "type": "Function", + "tags": [], + "label": "getNumTopClasses", + "description": [ + "\nGet the `num_top_classes` attribute of a DFA classification configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_classes.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopClasses.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_classes.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopFeatureImportanceValues", + "type": "Function", + "tags": [], + "label": "getNumTopFeatureImportanceValues", + "description": [ + "\nGet the `num_top_feature_importance_values` attribute of DFA regression and classification configurations\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_feature_importance_values.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopFeatureImportanceValues.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_feature_importance_values.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getPredictionFieldName", + "type": "Function", + "tags": [], + "label": "getPredictionFieldName", + "description": [ + "\nHelper function to get the prediction field name of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getPredictionFieldName.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getTrainingPercent", + "type": "Function", + "tags": [], + "label": "getTrainingPercent", + "description": [ + "\nHelper function to get the training percent of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getTrainingPercent.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationAnalysis", + "type": "Function", + "tags": [], + "label": "isClassificationAnalysis", + "description": [ + "\nType guard for DFA classification analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationAnalysis", + "text": "ClassificationAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationFeatureImportanceBaseline", + "type": "Function", + "tags": [ + "export" + ], + "label": "isClassificationFeatureImportanceBaseline", + "description": [ + "\nType guard for classification feature importance baseline\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationFeatureImportanceBaseline.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The baseline to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationTotalFeatureImportance", + "type": "Function", + "tags": [ + "export" + ], + "label": "isClassificationTotalFeatureImportance", + "description": [ + "\nType guard for total feature importance\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationTotalFeatureImportance.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The feature importance to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isDataFrameAnalyticsConfigs", + "type": "Function", + "tags": [ + "export" + ], + "label": "isDataFrameAnalyticsConfigs", + "description": [ + "\nType guard for a DFA config\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isDataFrameAnalyticsConfigs.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isOutlierAnalysis", + "type": "Function", + "tags": [], + "label": "isOutlierAnalysis", + "description": [ + "\nType guard for DFA outlier analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.OutlierAnalysis", + "text": "OutlierAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isOutlierAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionAnalysis", + "type": "Function", + "tags": [], + "label": "isRegressionAnalysis", + "description": [ + "\nType guard for DFA regression analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionAnalysis", + "text": "RegressionAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionFeatureImportanceBaseline", + "type": "Function", + "tags": [ + "export" + ], + "label": "isRegressionFeatureImportanceBaseline", + "description": [ + "\nType guard for regression feature importance baseline\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionFeatureImportanceBaseline.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The baseline to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionTotalFeatureImportance", + "type": "Function", + "tags": [ + "export" + ], + "label": "isRegressionTotalFeatureImportance", + "description": [ + "\nType guard for regression total feature importance\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionTotalFeatureImportance.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The feature importance to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields", + "type": "Function", + "tags": [], + "label": "sortExplorationResultsFields", + "description": [ + "\nUsed to sort columns:\n- Anchor on the left ml.outlier_score, ml.is_training, , \n- string based columns are moved to the left\n- feature_influence/feature_importance fields get moved next to the corresponding field column\n- overall fields get sorted alphabetically\n" + ], + "signature": [ + "(a: string, b: string, jobConfig: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + }, + ") => number" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$1", + "type": "string", + "tags": [], + "label": "a", + "description": [ + "First field name to compare for sorting" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$2", + "type": "string", + "tags": [], + "label": "b", + "description": [ + "Second field name to compare for sorting" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$3", + "type": "Object", + "tags": [], + "label": "jobConfig", + "description": [ + "The DFA analysis config" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapEdgeElement", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "AnalyticsMapEdgeElement", + "description": [ + "\nInterface for an edge element for the map view\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapEdgeElement.data", + "type": "Object", + "tags": [ + "type" + ], + "label": "data", + "description": [ + "\nInner data of the edge element" + ], + "signature": [ + "{ id: string; source: string; target: string; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapNodeElement", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "AnalyticsMapNodeElement", + "description": [ + "\nInterface for a node element for the map view\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapNodeElement.data", + "type": "Object", + "tags": [ + "type" + ], + "label": "data", + "description": [ + "\nInner data of the node element" + ], + "signature": [ + "{ id: string; label: string; type: string; analysisType?: string | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "AnalyticsMapReturnType", + "description": [ + "\nInterface for DFA map return type\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.elements", + "type": "Array", + "tags": [ + "type" + ], + "label": "elements", + "description": [ + "\nMap elements" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.MapElements", + "text": "MapElements" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.details", + "type": "Object", + "tags": [ + "type" + ], + "label": "details", + "description": [ + "\nTransform, job or index details" + ], + "signature": [ + "{ [x: string]: any; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.error", + "type": "Any", + "tags": [ + "type" + ], + "label": "error", + "description": [ + "\nError" + ], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassFeatureImportance", + "description": [ + "\nES result class feature importance\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance.class_name", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance.importance", + "type": "number", + "tags": [ + "type" + ], + "label": "importance", + "description": [ + "\nThe importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassFeatureImportanceSummary", + "description": [ + "\nES result for class feature importance summary\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary.class_name", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary.importance", + "type": "Object", + "tags": [ + "type" + ], + "label": "importance", + "description": [ + "\nThe importance" + ], + "signature": [ + "{ max: number; min: number; mean_magnitude: number; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassificationAnalysis", + "description": [ + "\nInterface for classification job configuation\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: Classification", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: Classification" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis.classification", + "type": "Object", + "tags": [ + "type" + ], + "label": "classification", + "description": [ + "\nOutlier detection options" + ], + "signature": [ + "Classification" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationEvaluateResponse", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassificationEvaluateResponse", + "description": [ + "\nInterface for classification evaluate response\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationEvaluateResponse.classification", + "type": "Object", + "tags": [ + "type" + ], + "label": "classification", + "description": [ + "\nClassificatio evaluation" + ], + "signature": [ + "{ multiclass_confusion_matrix?: { confusion_matrix: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ConfusionMatrix", + "text": "ConfusionMatrix" + }, + "[]; } | undefined; recall?: { classes: EvalClass[]; avg_recall: number; } | undefined; accuracy?: { classes: EvalClass[]; overall_accuracy: number; } | undefined; auc_roc?: { curve?: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RocCurveItem", + "text": "RocCurveItem" + }, + "[] | undefined; value: number; } | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationFeatureImportanceBaseline", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassificationFeatureImportanceBaseline", + "description": [ + "\nBaseline interface for ES result classification feature importance\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationFeatureImportanceBaseline.classes", + "type": "Array", + "tags": [ + "type" + ], + "label": "classes", + "description": [ + "\nClasses" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FeatureImportanceClassBaseline", + "text": "FeatureImportanceClassBaseline" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ClassificationTotalFeatureImportance", + "description": [ + "\nES result classification total feature importance\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance.feature_name", + "type": "string", + "tags": [ + "type" + ], + "label": "feature_name", + "description": [ + "\nThe feature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance.classes", + "type": "Array", + "tags": [ + "type" + ], + "label": "classes", + "description": [ + "\nThe classes, array of ClassFeatureImportanceSummary" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassFeatureImportanceSummary", + "text": "ClassFeatureImportanceSummary" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "ConfusionMatrix", + "description": [ + "\nInterface for confusion matrix\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.actual_class", + "type": "string", + "tags": [ + "type" + ], + "label": "actual_class", + "description": [ + "\nActual class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.actual_class_doc_count", + "type": "number", + "tags": [ + "type" + ], + "label": "actual_class_doc_count", + "description": [ + "\nActual class doc count" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.predicted_classes", + "type": "Array", + "tags": [ + "type" + ], + "label": "predicted_classes", + "description": [ + "\nArray of predicted classes" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.PredictedClass", + "text": "PredictedClass" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.other_predicted_class_doc_count", + "type": "number", + "tags": [ + "type" + ], + "label": "other_predicted_class_doc_count", + "description": [ + "\nDoc count of other predicted classes" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef", + "extends" + ], + "label": "DataFrameAnalyticsConfig", + "description": [ + "\nInterface for a DFA config with fix for estypes provided types\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + }, + " extends Omit<", + "MlDataframeAnalyticsSummary", + ", \"analyzed_fields\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig.analyzed_fields", + "type": "Object", + "tags": [ + "type" + ], + "label": "analyzed_fields", + "description": [ + "\nOptional analyzed fields" + ], + "signature": [ + "MlDataframeAnalysisAnalyzedFields", + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig._meta", + "type": "Object", + "tags": [ + "type" + ], + "label": "_meta", + "description": [ + "\nOptional meta data" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsMeta", + "text": "DataFrameAnalyticsMeta" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "DataFrameAnalyticsMeta", + "description": [ + "\nMeta data for a DFA job\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta.custom_urls", + "type": "Array", + "tags": [ + "type" + ], + "label": "custom_urls", + "description": [ + "\nOptional custom urls" + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlUrlConfig", + "text": "MlUrlConfig" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: any", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: any" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef", + "extends" + ], + "label": "DataFrameAnalyticsStats", + "description": [ + "\nInterface for DFA stats\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsStats", + "text": "DataFrameAnalyticsStats" + }, + " extends Omit<", + "MlDataframeAnalytics", + ", \"state\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats.failure_reason", + "type": "string", + "tags": [ + "type" + ], + "label": "failure_reason", + "description": [ + "\nOptional failure reason" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats.state", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "state", + "description": [ + "\nTask state" + ], + "signature": [ + "\"analyzing\" | \"reindexing\" | ", + "MlDataframeState" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "DeleteDataFrameAnalyticsWithIndexStatus", + "description": [ + "\nInterface for DFA API response for deletion status\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus.success", + "type": "boolean", + "tags": [ + "type" + ], + "label": "success", + "description": [ + "\nSuccess" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus.error", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "error", + "description": [ + "\nOptional error" + ], + "signature": [ + "Boom", + " | ", + "ErrorResponseBase", + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "EvaluateMetrics", + "description": [ + "\nInterface for evalute metrics\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics.classification", + "type": "Object", + "tags": [ + "type" + ], + "label": "classification", + "description": [ + "\nClassification evalute metrics" + ], + "signature": [ + "{ accuracy?: object | undefined; recall?: object | undefined; multiclass_confusion_matrix?: object | undefined; auc_roc?: { include_curve: boolean; class_name: string; } | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics.regression", + "type": "Object", + "tags": [ + "type" + ], + "label": "regression", + "description": [ + "\nRegression evaluate metrics" + ], + "signature": [ + "{ r_squared: object; mse: object; msle: object; huber: object; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "FeatureImportance", + "description": [ + "\nES result feature importance interface\nTODO We should separate the interface because classes/importance\nisn't both optional but either/or.\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.feature_name", + "type": "string", + "tags": [ + "type" + ], + "label": "feature_name", + "description": [ + "\nThe feature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.classes", + "type": "Array", + "tags": [ + "type" + ], + "label": "classes", + "description": [ + "\nOptional classes" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassFeatureImportance", + "text": "ClassFeatureImportance" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.importance", + "type": "number", + "tags": [ + "type" + ], + "label": "importance", + "description": [ + "\nOptional importance" + ], + "signature": [ + "number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "FeatureImportanceClassBaseline", + "description": [ + "\nBaseline interface for ES result feature importance class\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline.class_name", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "class_name", + "description": [ + "\nClass name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline.baseline", + "type": "number", + "tags": [ + "type" + ], + "label": "baseline", + "description": [ + "\nBaseline" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FieldSelectionItem", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef", + "extends" + ], + "label": "FieldSelectionItem", + "description": [ + "\nInterface for field selection item\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FieldSelectionItem", + "text": "FieldSelectionItem" + }, + " extends Omit<", + "MlDataframeAnalyticsFieldSelection", + ", \"mapping_types\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FieldSelectionItem.mapping_types", + "type": "Array", + "tags": [ + "type" + ], + "label": "mapping_types", + "description": [ + "\nOptional mapping types" + ], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "OutlierAnalysis", + "description": [ + "\nInterface for outlier analysis job configuation\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: {}", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: {}" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis.outlier_detection", + "type": "Object", + "tags": [ + "type" + ], + "label": "outlier_detection", + "description": [ + "\nOutlier detection options" + ], + "signature": [ + "{ compute_feature_influence?: boolean | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "PredictedClass", + "description": [ + "\nInterface for predicted class\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass.predicted_class", + "type": "string", + "tags": [ + "type" + ], + "label": "predicted_class", + "description": [ + "\nPredicted class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass.count", + "type": "number", + "tags": [ + "type" + ], + "label": "count", + "description": [ + "\nCount" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "RegressionAnalysis", + "description": [ + "\nInterface for regression analysis job configuation\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: Regression", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: Regression" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis.regression", + "type": "Object", + "tags": [ + "type" + ], + "label": "regression", + "description": [ + "\nRegression options" + ], + "signature": [ + "Regression" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceBaseline", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "RegressionFeatureImportanceBaseline", + "description": [ + "\nBaseline interface for ES result regression feature importance\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceBaseline.baseline", + "type": "number", + "tags": [ + "type" + ], + "label": "baseline", + "description": [ + "\nBaseline" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "RegressionFeatureImportanceSummary", + "description": [ + "\nES result regression feature importance summary\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.max", + "type": "number", + "tags": [ + "type" + ], + "label": "max", + "description": [ + "\nMax feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.min", + "type": "number", + "tags": [ + "type" + ], + "label": "min", + "description": [ + "\nMin feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.mean_magnitude", + "type": "number", + "tags": [ + "type" + ], + "label": "mean_magnitude", + "description": [ + "\nMean magnitude" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "RegressionTotalFeatureImportance", + "description": [ + "\nES result for regression total feature importance\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance.feature_name", + "type": "string", + "tags": [ + "type" + ], + "label": "feature_name", + "description": [ + "\nFeature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance.importance", + "type": "Object", + "tags": [ + "type" + ], + "label": "importance", + "description": [ + "\nImportance" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionFeatureImportanceSummary", + "text": "RegressionFeatureImportanceSummary" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "RocCurveItem", + "description": [ + "\nData item for ROC curve\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.fpr", + "type": "number", + "tags": [ + "type" + ], + "label": "fpr", + "description": [ + "\nFPR" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.threshold", + "type": "number", + "tags": [ + "type" + ], + "label": "threshold", + "description": [ + "\nThreshold" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.tpr", + "type": "number", + "tags": [ + "type" + ], + "label": "tpr", + "description": [ + "\nTPR" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "TopClass", + "description": [ + "\nES result top class interface\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_name", + "type": "CompoundType", + "tags": [ + "type" + ], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_probability", + "type": "number", + "tags": [ + "type" + ], + "label": "class_probability", + "description": [ + "\nThe class probability" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_score", + "type": "number", + "tags": [ + "type" + ], + "label": "class_score", + "description": [ + "\nThe class score" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TrackTotalHitsSearchResponse", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "TrackTotalHitsSearchResponse", + "description": [ + "\nInterface for a search response's track total hits option\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TrackTotalHitsSearchResponse.hits", + "type": "Object", + "tags": [ + "type" + ], + "label": "hits", + "description": [ + "\nInner structure of the response" + ], + "signature": [ + "{ total: { value: number; relation: string; }; hits: any[]; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig", + "type": "Interface", + "tags": [ + "export", + "interface", + "typedef" + ], + "label": "UpdateDataFrameAnalyticsConfig", + "description": [ + "\nInterface for a requect object to update a DFA job\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.allow_lazy_start", + "type": "string", + "tags": [ + "type" + ], + "label": "allow_lazy_start", + "description": [ + "\nOptional allow lazy start" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.description", + "type": "string", + "tags": [ + "type" + ], + "label": "description", + "description": [ + "\nOptional description" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.model_memory_limit", + "type": "string", + "tags": [ + "type" + ], + "label": "model_memory_limit", + "description": [ + "\nOptional model memory limit" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.max_num_threads", + "type": "number", + "tags": [ + "type" + ], + "label": "max_num_threads", + "description": [ + "\nOptional max num threads" + ], + "signature": [ + "number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig._meta", + "type": "Object", + "tags": [ + "type" + ], + "label": "_meta", + "description": [ + "\nOptional meta data" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsMeta", + "text": "DataFrameAnalyticsMeta" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ANALYSIS_ADVANCED_FIELDS", + "type": "Enum", + "tags": [ + "export", + "enum" + ], + "label": "ANALYSIS_ADVANCED_FIELDS", + "description": [ + "\nEnum for a DFA configuration's advanced fields\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.INDEX_STATUS", + "type": "Enum", + "tags": [ + "export", + "enum" + ], + "label": "INDEX_STATUS", + "description": [ + "\nEnum for index status\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OUTLIER_ANALYSIS_METHOD", + "type": "Enum", + "tags": [ + "export", + "enum" + ], + "label": "OUTLIER_ANALYSIS_METHOD", + "description": [ + "\nEnum for a DFA configuration's outlier analysis method\n" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalysisConfig", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "AnalysisConfig", + "description": [ + "\nAlias of estypes.MlDataframeAnalysisContainer\n" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalysisConfigType", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "DataFrameAnalysisConfigType", + "description": [ + "\nUnion type of DFA anlaysis config types\n" + ], + "signature": [ + "\"classification\" | \"outlier_detection\" | \"regression\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsId", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "DataFrameAnalyticsId", + "description": [ + "\nData frame analytics id" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameTaskStateType", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "DataFrameTaskStateType", + "description": [ + "\nUnion type of DFA task states\n" + ], + "signature": [ + "\"analyzing\" | \"reindexing\" | ", + "MlDataframeState" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DEFAULT_REGRESSION_COLUMNS", + "type": "number", + "tags": [ + "type" + ], + "label": "DEFAULT_REGRESSION_COLUMNS", + "description": [ + "\nDefault regression columns" + ], + "signature": [ + "8" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DEFAULT_RESULTS_FIELD", + "type": "string", + "tags": [ + "type" + ], + "label": "DEFAULT_RESULTS_FIELD", + "description": [ + "\nDefault results field\n" + ], + "signature": [ + "\"ml\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DfAnalyticsExplainResponse", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "DfAnalyticsExplainResponse", + "description": [ + "\nAlias for estypes.MlExplainDataFrameAnalyticsResponse\n" + ], + "signature": [ + "MlExplainDataFrameAnalyticsResponse" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FEATURE_IMPORTANCE", + "type": "string", + "tags": [ + "type" + ], + "label": "FEATURE_IMPORTANCE", + "description": [ + "\nFeature importance constant\n" + ], + "signature": [ + "\"feature_importance\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FEATURE_INFLUENCE", + "type": "string", + "tags": [ + "type" + ], + "label": "FEATURE_INFLUENCE", + "description": [ + "\nFeature influence constant\n" + ], + "signature": [ + "\"feature_influence\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceBaseline", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "FeatureImportanceBaseline", + "description": [ + "\nUnion type of feature importance baseline types\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationFeatureImportanceBaseline", + "text": "ClassificationFeatureImportanceBaseline" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionFeatureImportanceBaseline", + "text": "RegressionFeatureImportanceBaseline" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassName", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "FeatureImportanceClassName", + "description": [ + "\nUnion type for ES result feature importance class name\n" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureProcessor", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "FeatureProcessor", + "description": [ + "\nAlias for estypes.MlDataframeAnalysisFeatureProcessor\n" + ], + "signature": [ + "MlDataframeAnalysisFeatureProcessor" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.JobMapNodeTypes", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "JobMapNodeTypes", + "description": [ + "\nUnion type of JOB_MAP_NODE_TYPES\n" + ], + "signature": [ + "\"index\" | \"transform\" | \"analytics\" | \"trainedModel\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.MapElements", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "MapElements", + "description": [ + "\nUnion type of map node and edge elements\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.AnalyticsMapEdgeElement", + "text": "AnalyticsMapEdgeElement" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.AnalyticsMapNodeElement", + "text": "AnalyticsMapNodeElement" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ML__ID_COPY", + "type": "string", + "tags": [ + "type" + ], + "label": "ML__ID_COPY", + "description": [ + "\nES field name for copy of the doc _id" + ], + "signature": [ + "\"ml__id_copy\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ML__INCREMENTAL_ID", + "type": "string", + "tags": [ + "type" + ], + "label": "ML__INCREMENTAL_ID", + "description": [ + "\nES field name for ML's incremental id" + ], + "signature": [ + "\"ml__incremental_id\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.NUM_TOP_FEATURE_IMPORTANCE_VALUES_MIN", + "type": "number", + "tags": [ + "type" + ], + "label": "NUM_TOP_FEATURE_IMPORTANCE_VALUES_MIN", + "description": [ + "\nMinimum value for feature importance\n" + ], + "signature": [ + "0" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OUTLIER_SCORE", + "type": "string", + "tags": [ + "type" + ], + "label": "OUTLIER_SCORE", + "description": [ + "\nOutlier score constant\n" + ], + "signature": [ + "\"outlier_score\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TOP_CLASSES", + "type": "string", + "tags": [ + "type" + ], + "label": "TOP_CLASSES", + "description": [ + "\nTop classes constant\n" + ], + "signature": [ + "\"top_classes\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClasses", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "TopClasses", + "description": [ + "\nArray of TopClass\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.TopClass", + "text": "TopClass" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TotalFeatureImportance", + "type": "Type", + "tags": [ + "export", + "typedef" + ], + "label": "TotalFeatureImportance", + "description": [ + "\nUnion type of total feature importance types\n" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationTotalFeatureImportance", + "text": "ClassificationTotalFeatureImportance" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionTotalFeatureImportance", + "text": "RegressionTotalFeatureImportance" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TRAINING_PERCENT_MAX", + "type": "number", + "tags": [ + "type" + ], + "label": "TRAINING_PERCENT_MAX", + "description": [ + "\nMaximum training percent\n" + ], + "signature": [ + "100" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TRAINING_PERCENT_MIN", + "type": "number", + "tags": [ + "type" + ], + "label": "TRAINING_PERCENT_MIN", + "description": [ + "\nMinimum training percent\n" + ], + "signature": [ + "1" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ANALYSIS_CONFIG_TYPE", + "type": "Object", + "tags": [ + "type" + ], + "label": "ANALYSIS_CONFIG_TYPE", + "description": [ + "\nCustom enum for DFA config types\n" + ], + "signature": [ + "{ readonly OUTLIER_DETECTION: \"outlier_detection\"; readonly REGRESSION: \"regression\"; readonly CLASSIFICATION: \"classification\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.BASIC_NUMERICAL_TYPES", + "type": "Object", + "tags": [ + "type" + ], + "label": "BASIC_NUMERICAL_TYPES", + "description": [ + "\nSet of basic numerical types" + ], + "signature": [ + "Set<", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + ">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DATA_FRAME_TASK_STATE", + "type": "Object", + "tags": [ + "type" + ], + "label": "DATA_FRAME_TASK_STATE", + "description": [ + "\nCustom enum for DFA task states\n" + ], + "signature": [ + "{ readonly ANALYZING: \"analyzing\"; readonly FAILED: \"failed\"; readonly REINDEXING: \"reindexing\"; readonly STARTED: \"started\"; readonly STARTING: \"starting\"; readonly STOPPED: \"stopped\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EXTENDED_NUMERICAL_TYPES", + "type": "Object", + "tags": [ + "type" + ], + "label": "EXTENDED_NUMERICAL_TYPES", + "description": [ + "\nSet of extended numerical types" + ], + "signature": [ + "Set<", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + ">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.INDEX_CREATED_BY", + "type": "Object", + "tags": [ + "type" + ], + "label": "INDEX_CREATED_BY", + "description": [ + "\nCustom enum for the metadata to be stored about which tool was used to create an index\n" + ], + "signature": [ + "{ readonly FILE_DATA_VISUALIZER: \"file-data-visualizer\"; readonly DATA_FRAME_ANALYTICS: \"data-frame-analytics\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.JOB_MAP_NODE_TYPES", + "type": "Object", + "tags": [ + "type" + ], + "label": "JOB_MAP_NODE_TYPES", + "description": [ + "\nCustom enum for job map node types for the DFA map view\n" + ], + "signature": [ + "{ readonly ANALYTICS: \"analytics\"; readonly TRANSFORM: \"transform\"; readonly INDEX: \"index\"; readonly TRAINED_MODEL: \"trainedModel\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx new file mode 100644 index 0000000000000..1bb9139d10268 --- /dev/null +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -0,0 +1,42 @@ +--- +#### +#### 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: kibKbnMlDataFrameAnalyticsUtilsPluginApi +slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils +title: "@kbn/ml-data-frame-analytics-utils" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ml-data-frame-analytics-utils plugin +date: 2023-06-01 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] +--- +import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 153 | 1 | 0 | 0 | + +## Common + +### Objects + + +### Functions + + +### Interfaces + + +### Enums + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 7505ffae5ff6b..271578228bc80 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.devdocs.json b/api_docs/kbn_ml_error_utils.devdocs.json index 8872d1df30f9a..fa95dba9755f5 100644 --- a/api_docs/kbn_ml_error_utils.devdocs.json +++ b/api_docs/kbn_ml_error_utils.devdocs.json @@ -702,6 +702,8 @@ ], "signature": [ "string | ", + "ErrorResponseBase", + " | ", { "pluginId": "@kbn/ml-error-utils", "scope": "common", @@ -710,8 +712,6 @@ "text": "MLHttpFetchError" }, " | ", - "ErrorResponseBase", - " | ", "Boom", " | undefined" ], diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index fe72b3925815a..bb3675ce07104 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 7eb7885d54678..59cc14eed997d 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-05-31 +date: 2023-06-01 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 4696616470625..7599757b564fc 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 6ba96c4ae9f7c..76d9e4af29829 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 4e0b0046f54d6..1182afa570707 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-05-31 +date: 2023-06-01 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 d2e448dab8a76..69b72b5e5d684 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 2e7d06a964681..c2fd2851060ea 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 8f4f988ea23cf..edfe6b7422732 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index b90dff006c8a4..78468803da10e 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 7e44dfb91230a..77f29115e9e0a 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index b9992c934dbdb..f8bcf2c382b6b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index dc26fcc42a688..14c33505d3a14 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 71e866e7cbebc..5cde757e9beb7 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-05-31 +date: 2023-06-01 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 34e750691ef6c..91125ad043603 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 19c276e8fb77d..89d8d1b34f154 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 956c61ac93605..cc8e0f1d02a17 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index a7dacc730831d..1d85c7b083d67 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-05-31 +date: 2023-06-01 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 44e0210e7052b..d717ec2cd0e4c 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-05-31 +date: 2023-06-01 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 b7c27847870fc..4e532c163986e 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-05-31 +date: 2023-06-01 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 2579ef4f4447d..b260a85b93cce 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-05-31 +date: 2023-06-01 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 21e3498a839d1..887defebfbf6f 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-05-31 +date: 2023-06-01 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 86bd3829d2168..74f064ed0fbe6 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index cebca1903f6d0..19f875216968c 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 0cdb648b77537..80c20b22dde91 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-05-31 +date: 2023-06-01 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 af49fe0dc307a..9f9c29f368db8 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-05-31 +date: 2023-06-01 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 657905d2e6da0..496fb6389f842 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-05-31 +date: 2023-06-01 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 70192a23ddf48..099539e7f4bfc 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-05-31 +date: 2023-06-01 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 a3b0849a50d44..9c316ffab8778 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 1cc94e6285219..0f642a7a1444c 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 59e72f0e94483..f44cafb78e557 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-05-31 +date: 2023-06-01 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 5ef5e83d5359f..5573049bdf995 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 01f956958304e..dfa4bc00ab1a8 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index c4df626e2a253..762a4313085ef 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 7e4c38a033c53..9a0a554038a2d 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index ea5af22636583..9c15ab23f52b0 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.devdocs.json b/api_docs/kbn_securitysolution_data_table.devdocs.json index 6cb74e6716356..a9bffd5d52c6c 100644 --- a/api_docs/kbn_securitysolution_data_table.devdocs.json +++ b/api_docs/kbn_securitysolution_data_table.devdocs.json @@ -238,15 +238,15 @@ "signature": [ "(headers: ", "ColumnHeaderOptions", - "[], browserFields: Readonly>>, isEventRenderedView?: boolean | undefined) => ", + ", isEventRenderedView?: boolean | undefined) => ", "ColumnHeaderOptions", "[]" ], @@ -278,15 +278,13 @@ "label": "browserFields", "description": [], "signature": [ - "Readonly>>" + "section": "def-common.BrowserFields", + "text": "BrowserFields" + } ], "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index b5b3082f0e83b..a0fc2425b17a5 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 06e802b6377f5..be6ce190a985d 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-05-31 +date: 2023-06-01 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 c4b75ebd0d45a..dbe5c7cf1ff87 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-05-31 +date: 2023-06-01 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 580b3c19446db..56a49291f5e9e 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 321e2ce513796..612c0e8a22f58 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 841b8edac6e3b..fb08428dcbca5 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-05-31 +date: 2023-06-01 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 c11718c7262cb..0d79755c69a63 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 7d738a7c18344..18d7c549f5f46 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-05-31 +date: 2023-06-01 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 4f728ace2b15c..1962b2b3edda2 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-05-31 +date: 2023-06-01 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 73853081411db..880cc45d5ad9c 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-05-31 +date: 2023-06-01 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 140867b53e023..9377a9d836597 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-05-31 +date: 2023-06-01 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 4669537c928ce..d26c0d6fe22ab 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-05-31 +date: 2023-06-01 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 c876f50e2f68a..734255fda2450 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-05-31 +date: 2023-06-01 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 c278c03759fa4..f9bb00ccdad1a 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-05-31 +date: 2023-06-01 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 ecc79c0ca88ae..838b910132dff 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-05-31 +date: 2023-06-01 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 fb7d72f01158b..46b340404c4d8 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-05-31 +date: 2023-06-01 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 12ee41e85c954..ffe6c0ea05980 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-05-31 +date: 2023-06-01 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 efe1c7c123597..2e8ba47bf5a47 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-05-31 +date: 2023-06-01 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 66886a68121a4..a4def0085b858 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 0a596916c0d63..fb36138a9dca8 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 858670f5fb29d..ff8717ae1113d 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 743f070f9c586..1fe0ecaeb9e59 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-05-31 +date: 2023-06-01 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 284b9f3266415..090c5b52ed4c8 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-05-31 +date: 2023-06-01 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 170d881bfdb3d..adcc78c91ca43 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-05-31 +date: 2023-06-01 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 6155558f8ea95..fba350b3f105e 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-05-31 +date: 2023-06-01 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 66a55ba81969e..5788d541cfc29 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-05-31 +date: 2023-06-01 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 c18178adbe6a9..a84071fb2f850 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-05-31 +date: 2023-06-01 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 70c3041d54fc3..46aeb9ca8bf94 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-05-31 +date: 2023-06-01 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 5cf6fbdaefb51..084f8512695ea 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 1705f49753bf5..7aae6c2d3c545 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index cbd7a457cedbf..655edcf17931e 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-05-31 +date: 2023-06-01 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 2cd215fdd8e14..6edd92fffac6f 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-05-31 +date: 2023-06-01 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 87ee4d6f2e1a6..ad3e395216c71 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-05-31 +date: 2023-06-01 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 d2341c308b281..03548a6d006d6 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-05-31 +date: 2023-06-01 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 ae727db7358d5..56def4cfd563c 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-05-31 +date: 2023-06-01 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 a6de9be61661b..0aba4db65c8b2 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-05-31 +date: 2023-06-01 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 3114750181fbb..6762f4ffe1cd0 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-05-31 +date: 2023-06-01 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 bb2e73b15bd31..47660dd9871f1 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-05-31 +date: 2023-06-01 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 0f652040604d0..edecc962de118 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-05-31 +date: 2023-06-01 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 4cbb0fcc4333a..1599e518f3853 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-05-31 +date: 2023-06-01 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 8ea48565cf934..4997cc85b5f32 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-05-31 +date: 2023-06-01 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 0abd24913da29..154c6f1c0c134 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-05-31 +date: 2023-06-01 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 1c2b0838959e8..99a220d43b59d 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-05-31 +date: 2023-06-01 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 fd5e7155b08b3..582ceeeb826b2 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-05-31 +date: 2023-06-01 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 6cc7e168236cd..1cfd04db7c0a2 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-05-31 +date: 2023-06-01 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 57b85943543f1..4e6d01866888f 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-05-31 +date: 2023-06-01 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 ec4f39c99467e..17d1853a319f0 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-05-31 +date: 2023-06-01 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 c22808c943706..450b902372030 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-05-31 +date: 2023-06-01 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 70c116170c5aa..4ea732df35f03 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-05-31 +date: 2023-06-01 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 b593a7a095e87..017d880ee90ff 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-05-31 +date: 2023-06-01 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 199e437c9ab92..1d80160d168a8 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-05-31 +date: 2023-06-01 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 09cd68fbb1b1d..e9c3a6b54237b 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-05-31 +date: 2023-06-01 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 18b8e50121a59..2a2f3ec640b59 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-05-31 +date: 2023-06-01 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 c105ca2c9d2ea..1371356d40c28 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-05-31 +date: 2023-06-01 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 ed9308488dac8..21adbfb9155a5 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-05-31 +date: 2023-06-01 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 293e931ae50ad..ebb2c980f62dc 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-05-31 +date: 2023-06-01 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 567dec2555491..deacac54844ae 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-05-31 +date: 2023-06-01 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 fb73340746e42..944b547c403a3 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-05-31 +date: 2023-06-01 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 279a4f8280826..7b74eb9629bb9 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-05-31 +date: 2023-06-01 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 ffcb9565fb6de..d40e9f8ddde90 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-05-31 +date: 2023-06-01 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 e0220e80c86e5..e5e1314e87663 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-05-31 +date: 2023-06-01 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 212767a837d95..12842ce069300 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-05-31 +date: 2023-06-01 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 ba35854323733..992a92cac959d 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-05-31 +date: 2023-06-01 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 baf1a72f235b6..e7dbdafbfcd9b 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-05-31 +date: 2023-06-01 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 47d5090e494d2..d67871512d18b 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-05-31 +date: 2023-06-01 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 8e9db99776093..36fa90f367846 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-05-31 +date: 2023-06-01 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 2b9b69cbe600e..942b41c7a4a1e 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-05-31 +date: 2023-06-01 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 96d6afd9e37f6..89250f07082b1 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-05-31 +date: 2023-06-01 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 5f46c2ecad206..59c1545c77c64 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-05-31 +date: 2023-06-01 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 325441998447a..f4f669a2d0b1b 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.devdocs.json b/api_docs/kbn_text_based_editor.devdocs.json index 60a5a3a4ac391..1eb1abc6f8275 100644 --- a/api_docs/kbn_text_based_editor.devdocs.json +++ b/api_docs/kbn_text_based_editor.devdocs.json @@ -175,6 +175,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.detectTimestamp", + "type": "CompoundType", + "tags": [], + "label": "detectTimestamp", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/text-based-editor", "id": "def-public.TextBasedLanguagesEditorProps.errors", diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 38502d8dbadcc..7fc28eba573fc 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.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 | |-------------------|-----------|------------------------|-----------------| -| 14 | 0 | 13 | 0 | +| 15 | 0 | 14 | 0 | ## Client diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index b9ce2841c27ae..7f9bd4ca8d9b2 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-05-31 +date: 2023-06-01 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 badd091473acc..71e3cb0be0db1 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-05-31 +date: 2023-06-01 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 3576919a65e7e..41d8e02dc2462 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-05-31 +date: 2023-06-01 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 5fe6843a00aef..1884ee34a126d 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-05-31 +date: 2023-06-01 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 ce5cacd2646f8..1080b449da4af 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-05-31 +date: 2023-06-01 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 96f1dc93d26ec..cfcdd445bc958 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index f19f0b4c358f5..0528ffc11b1ab 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 34b37cf8a8198..8ea4f206ce7f5 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-05-31 +date: 2023-06-01 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 756054d4d8812..6cf405400d42f 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-05-31 +date: 2023-06-01 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 83a13e439b3d0..a8ff9c3f59352 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-05-31 +date: 2023-06-01 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 50973074a0d9b..2091dbe711849 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-05-31 +date: 2023-06-01 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 e2339afdc2d37..6a5bc3f87ecd3 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-05-31 +date: 2023-06-01 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 b96e19f060bba..16bfd934084e5 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-05-31 +date: 2023-06-01 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 a271a4ba71a22..d48d890b84825 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-05-31 +date: 2023-06-01 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 a3d6b3d38031a..35395a19c1f90 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-05-31 +date: 2023-06-01 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 c7f9b661f4070..650c009db7115 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index e8fa7dcc3b523..57d91cad28dfe 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -2976,7 +2976,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - " | (() => Promise<", + " | (() => Promise<", { "pluginId": "lens", "scope": "public", @@ -2984,7 +2984,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - ">)) => void" + ">)) => void" ], "path": "x-pack/plugins/lens/public/plugin.ts", "deprecated": false, @@ -3005,7 +3005,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - " | (() => Promise<", + " | (() => Promise<", { "pluginId": "lens", "scope": "public", @@ -3013,7 +3013,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - ">)" + ">)" ], "path": "x-pack/plugins/lens/public/plugin.ts", "deprecated": false, @@ -4981,7 +4981,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - "" + "" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5010,7 +5010,7 @@ "\nInitialize is allowed to modify the state stored in memory. The initialize function\nis called with a previous state in two cases:\n- Loading from a saved visualization\n- When using suggestions, the suggested state is passed in" ], "signature": [ - "(addNewLayer: () => string, state?: T | P | undefined, mainPalette?: ", + "{ (addNewLayer: () => string, nonPersistedState?: T | undefined, mainPalette?: ", { "pluginId": "@kbn/coloring", "scope": "common", @@ -5018,7 +5018,17 @@ "section": "def-common.PaletteOutput", "text": "PaletteOutput" }, - "<{ [key: string]: unknown; }> | undefined, references?: ", + "<{ [key: string]: unknown; }> | undefined): T; (addNewLayer: () => string, persistedState: P, mainPalette?: ", + { + "pluginId": "@kbn/coloring", + "scope": "common", + "docId": "kibKbnColoringPluginApi", + "section": "def-common.PaletteOutput", + "text": "PaletteOutput" + }, + "<{ [key: string]: unknown; }> | undefined, annotationGroups?: ", + "AnnotationGroups", + " | undefined, references?: ", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -5026,138 +5036,11 @@ "section": "def-common.SavedObjectReference", "text": "SavedObjectReference" }, - "[] | undefined, initialContext?: ", - { - "pluginId": "uiActions", - "scope": "public", - "docId": "kibUiActionsPluginApi", - "section": "def-public.VisualizeFieldContext", - "text": "VisualizeFieldContext" - }, - " | ", - "VisualizeEditorContext", - "<", - { - "pluginId": "visualizations", - "scope": "common", - "docId": "kibVisualizationsPluginApi", - "section": "def-common.Configuration", - "text": "Configuration" - }, - "> | undefined) => T" + "[] | undefined): T; }" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$1", - "type": "Function", - "tags": [], - "label": "addNewLayer", - "description": [], - "signature": [ - "() => string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$2", - "type": "CompoundType", - "tags": [], - "label": "state", - "description": [], - "signature": [ - "T | P | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$3", - "type": "Object", - "tags": [], - "label": "mainPalette", - "description": [], - "signature": [ - { - "pluginId": "@kbn/coloring", - "scope": "common", - "docId": "kibKbnColoringPluginApi", - "section": "def-common.PaletteOutput", - "text": "PaletteOutput" - }, - "<{ [key: string]: unknown; }> | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$4", - "type": "Array", - "tags": [], - "label": "references", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObjectReference", - "text": "SavedObjectReference" - }, - "[] | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$5", - "type": "CompoundType", - "tags": [], - "label": "initialContext", - "description": [], - "signature": [ - { - "pluginId": "uiActions", - "scope": "public", - "docId": "kibUiActionsPluginApi", - "section": "def-public.VisualizeFieldContext", - "text": "VisualizeFieldContext" - }, - " | ", - "VisualizeEditorContext", - "<", - { - "pluginId": "visualizations", - "scope": "common", - "docId": "kibVisualizationsPluginApi", - "section": "def-common.Configuration", - "text": "Configuration" - }, - "> | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "lens", @@ -5712,7 +5595,7 @@ "signature": [ "((state: T, layerId: string, type: ", "LayerType", - ", indexPatternId: string) => T) | undefined" + ", indexPatternId: string, extraArg?: ExtraAppendLayerArg | undefined) => T) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5777,6 +5660,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.appendLayer.$5", + "type": "Uncategorized", + "tags": [], + "label": "extraArg", + "description": [], + "signature": [ + "ExtraAppendLayerArg | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -5793,11 +5691,9 @@ "signature": [ "(state?: T | undefined, frame?: Pick<", "FramePublicAPI", - ", \"activeData\" | \"datasourceLayers\"> | undefined) => { type: ", - "LayerType", - "; label: string; icon?: ", - "IconType", - " | undefined; noDatasource?: boolean | undefined; disabled?: boolean | undefined; toolTipContent?: string | undefined; initialDimensions?: { columnId: string; groupId: string; staticValue?: unknown; autoTimeField?: boolean | undefined; }[] | undefined; canAddViaMenu?: boolean | undefined; }[]" + ", \"activeData\" | \"datasourceLayers\"> | undefined) => ", + "VisualizationLayerDescription", + "[]" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5848,8 +5744,10 @@ "\nreturns a list of custom actions supported by the visualization layer.\nDefault actions like delete/clear are not included in this list and are managed by the editor frame" ], "signature": [ - "((layerId: string, state: T) => ", - "LayerActionFromVisualization", + "((layerId: string, state: T, setState: ", + "StateSetter", + ", isSaveable?: boolean | undefined) => ", + "LayerAction", "[]) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", @@ -5885,50 +5783,17 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction", - "type": "Function", - "tags": [], - "label": "onLayerAction", - "description": [ - "\nPerform state mutations in response to a layer action" - ], - "signature": [ - "((layerId: string, actionId: string, state: T) => T) | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$1", - "type": "string", - "tags": [], - "label": "layerId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true }, { "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$2", - "type": "string", + "id": "def-public.Visualization.getSupportedActionsForLayer.$3", + "type": "Function", "tags": [], - "label": "actionId", + "label": "setState", "description": [], "signature": [ - "string" + "StateSetter", + "" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5937,18 +5802,18 @@ }, { "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$3", - "type": "Uncategorized", + "id": "def-public.Visualization.getSupportedActionsForLayer.$4", + "type": "CompoundType", "tags": [], - "label": "state", + "label": "isSaveable", "description": [], "signature": [ - "T" + "boolean | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -6898,6 +6763,248 @@ ], "returnComment": [] }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent", + "type": "Function", + "tags": [], + "label": "getAddLayerButtonComponent", + "description": [], + "signature": [ + "((props: { supportedLayers: ", + "VisualizationLayerDescription", + "[]; addLayer: ", + "AddLayerFunction", + "; ensureIndexPattern: (specOrId: string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ") => Promise; registerLibraryAnnotationGroup: (groupInfo: { id: string; group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + "; }) => void; }) => JSX.Element | null) | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.supportedLayers", + "type": "Array", + "tags": [], + "label": "supportedLayers", + "description": [], + "signature": [ + "VisualizationLayerDescription", + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer", + "type": "Function", + "tags": [], + "label": "addLayer", + "description": [], + "signature": [ + "(layerType: ", + "LayerType", + ", extraArg?: unknown, ignoreInitialValues?: boolean | undefined) => void" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$1", + "type": "CompoundType", + "tags": [], + "label": "layerType", + "description": [], + "signature": [ + "\"data\" | \"annotations\" | \"metricTrendline\" | \"referenceLine\"" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$2", + "type": "Uncategorized", + "tags": [], + "label": "extraArg", + "description": [], + "signature": [ + "T | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$3", + "type": "CompoundType", + "tags": [], + "label": "ignoreInitialValues", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.ensureIndexPattern", + "type": "Function", + "tags": [], + "label": "ensureIndexPattern", + "description": [], + "signature": [ + "(specOrId: string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ") => Promise" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.ensureIndexPattern.$1", + "type": "CompoundType", + "tags": [], + "label": "specOrId", + "description": [], + "signature": [ + "string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup", + "type": "Function", + "tags": [], + "label": "registerLibraryAnnotationGroup", + "description": [], + "signature": [ + "(groupInfo: { id: string; group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + "; }) => void" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "groupInfo", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1.group", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + } + ] + } + ], + "returnComment": [] + }, { "parentPluginId": "lens", "id": "def-public.Visualization.getUniqueLabels", @@ -7583,6 +7690,130 @@ ], "returnComment": [] }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual", + "type": "Function", + "tags": [], + "label": "isEqual", + "description": [], + "signature": [ + "((state1: P, references1: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[], state2: P, references2: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[], annotationGroups: ", + "AnnotationGroups", + ") => boolean) | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$1", + "type": "Uncategorized", + "tags": [], + "label": "state1", + "description": [], + "signature": [ + "P" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$2", + "type": "Array", + "tags": [], + "label": "references1", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$3", + "type": "Uncategorized", + "tags": [], + "label": "state2", + "description": [], + "signature": [ + "P" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$4", + "type": "Array", + "tags": [], + "label": "references2", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$5", + "type": "Object", + "tags": [], + "label": "annotationGroups", + "description": [], + "signature": [ + "AnnotationGroups" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "lens", "id": "def-public.Visualization.getVisualizationInfo", @@ -7788,116 +8019,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig", - "type": "Interface", - "tags": [], - "label": "XYAnnotationLayerConfig", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.layerId", - "type": "string", - "tags": [], - "label": "layerId", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.layerType", - "type": "string", - "tags": [], - "label": "layerType", - "description": [], - "signature": [ - "\"annotations\"" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.annotations", - "type": "Array", - "tags": [], - "label": "annotations", - "description": [], - "signature": [ - { - "pluginId": "eventAnnotation", - "scope": "common", - "docId": "kibEventAnnotationPluginApi", - "section": "def-common.EventAnnotationConfig", - "text": "EventAnnotationConfig" - }, - "[]" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.hide", - "type": "CompoundType", - "tags": [], - "label": "hide", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.indexPatternId", - "type": "string", - "tags": [], - "label": "indexPatternId", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.simpleView", - "type": "CompoundType", - "tags": [], - "label": "simpleView", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.ignoreGlobalFilters", - "type": "boolean", - "tags": [], - "label": "ignoreGlobalFilters", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "lens", "id": "def-public.XYArgs", @@ -10508,6 +10629,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "lens", + "id": "def-public.XYAnnotationLayerConfig", + "type": "Type", + "tags": [], + "label": "XYAnnotationLayerConfig", + "description": [], + "signature": [ + "XYByValueAnnotationLayerConfig", + " | ", + "XYByReferenceAnnotationLayerConfig" + ], + "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "lens", "id": "def-public.XYCurveType", diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 0d30b6f523cff..11e379a969914 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 612 | 0 | 516 | 52 | +| 618 | 0 | 523 | 58 | ## Client diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 5dc158dc96d71..bcc1157308458 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-05-31 +date: 2023-06-01 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 830217864dc6b..2306089babca7 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-05-31 +date: 2023-06-01 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 dc8fcc0bcd8b7..648b2a2128afe 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index e09df737fd827..e7f697e592ab9 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index aa03264828686..eea3717205103 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-05-31 +date: 2023-06-01 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 3d7e71dda9ded..32fde7f29adbb 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-05-31 +date: 2023-06-01 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 6fb47f0098301..8643544873580 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-05-31 +date: 2023-06-01 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 9fc743f8094cb..e0c16e343e9ec 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-05-31 +date: 2023-06-01 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 8636041b41bd3..50d3ae17a2a2e 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-05-31 +date: 2023-06-01 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 5197d82b22fe7..c9a4932ba27b3 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-05-31 +date: 2023-06-01 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 b67d6cfef1599..c9f1ca8d0087c 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-05-31 +date: 2023-06-01 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 7b4f61215b894..4d6c1dfb60cb2 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-05-31 +date: 2023-06-01 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 54996bb6372ae..db1c584ef1155 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index a62fab52f5966..f16c52121b7f4 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 368d1b43fd950..90ed5935a3a01 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index e0f52a40511de..503aeae5af659 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 81c46cdbfcb5e..3a7bee5e2363f 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-05-31 +date: 2023-06-01 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 24b4e0cb7fc02..d72885816feee 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-05-31 +date: 2023-06-01 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 | |--------------|----------|------------------------| -| 618 | 511 | 38 | +| 620 | 513 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 69782 | 522 | 60084 | 1349 | +| 69976 | 523 | 60134 | 1359 | ## Plugin Directory @@ -41,15 +41,15 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@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 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Static migration page where self-managed users can see text/copy about migrating to Elastic Cloud | 8 | 1 | 8 | 1 | -| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | Defend for containers (D4C) | 15 | 0 | 4 | 2 | +| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | Defend for containers (D4C) | 12 | 0 | 4 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Provides the necessary APIs to implement A/B testing scenarios, fetching the variations in configuration and reporting back metrics to track conversion rates of the experiments. | 12 | 0 | 0 | 0 | | cloudFullStory | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | When Kibana runs on Elastic Cloud, this plugin registers FullStory as a shipper for telemetry. | 0 | 0 | 0 | 0 | | cloudGainsight | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | When Kibana runs on Elastic Cloud, this plugin registers Gainsight as a shipper for telemetry. | 0 | 0 | 0 | 0 | | cloudLinks | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Adds the links to the Elastic Cloud console | 0 | 0 | 0 | 0 | -| | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 17 | 0 | 2 | 2 | +| | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 14 | 0 | 2 | 2 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 13 | 0 | 13 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Content management app | 149 | 0 | 126 | 6 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 306 | 0 | 299 | 14 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 304 | 0 | 297 | 14 | | crossClusterReplication | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | customBranding | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Enables customization of Kibana | 0 | 0 | 0 | 0 | | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 274 | 0 | 255 | 1 | @@ -65,12 +65,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 96 | 0 | 75 | 7 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds embeddables service to Kibana | 546 | 11 | 444 | 4 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds embeddables service to Kibana | 546 | 11 | 442 | 4 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Extends embeddable plugin with more functionality | 14 | 0 | 14 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides encryption and decryption utilities for saved objects containing sensitive information. | 51 | 0 | 44 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Adds dashboards for discovering and managing Enterprise Search products. | 9 | 0 | 9 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 115 | 3 | 111 | 3 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 172 | 30 | 172 | 3 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 204 | 30 | 204 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 116 | 0 | 116 | 11 | | | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 141 | 1 | 141 | 14 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | @@ -92,7 +92,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 62 | 0 | 62 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 239 | 0 | 24 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 1 | 2 | 0 | -| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1159 | 3 | 1045 | 31 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1156 | 3 | 1041 | 31 | | ftrApis | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 0 | 0 | 0 | 0 | @@ -114,7 +114,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 609 | 3 | 416 | 9 | | | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | - | 5 | 0 | 5 | 1 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 612 | 0 | 516 | 52 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 618 | 0 | 523 | 58 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 8 | 0 | 8 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | @@ -137,11 +137,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@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). | 218 | 8 | 164 | 11 | | | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 15 | 2 | 15 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 36 | 0 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 38 | 0 | 18 | 3 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Currently PDF, PNG or CSV export types for the reporting plugin | 4 | 0 | 4 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 21 | 0 | 21 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 263 | 0 | 234 | 14 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 24 | 0 | 19 | 2 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 127 | 2 | 116 | 4 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 129 | 2 | 118 | 4 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 44 | 0 | 44 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 154 | 0 | 140 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 79 | 0 | 73 | 3 | @@ -168,15 +169,15 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 31 | 0 | 26 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 0 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 16 | 0 | 16 | 0 | -| | [@elastic/protections-experience](https://github.com/orgs/elastic/teams/protections-experience) | Elastic threat intelligence helps you see if you are open to or have been subject to current or historical known threats | 35 | 0 | 14 | 5 | -| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 257 | 1 | 214 | 20 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 17 | 0 | 17 | 0 | +| | [@elastic/protections-experience](https://github.com/orgs/elastic/teams/protections-experience) | Elastic threat intelligence helps you see if you are open to or have been subject to current or historical known threats | 30 | 0 | 14 | 5 | +| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 259 | 1 | 216 | 21 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 544 | 11 | 518 | 49 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 144 | 2 | 102 | 9 | | | [@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 | 293 | 0 | 267 | 8 | +| | [@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 | 296 | 0 | 270 | 8 | | | [@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. | 52 | 0 | 23 | 2 | | | [@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. | 137 | 2 | 100 | 20 | | upgradeAssistant | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | @@ -435,7 +436,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 47 | 0 | 40 | 0 | | | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 9 | 0 | 9 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 52 | 12 | 43 | 0 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 39 | 0 | 39 | 4 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 43 | 0 | 43 | 4 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 0 | 13 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 85 | 0 | 77 | 5 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 35 | 0 | @@ -448,6 +449,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 2 | 0 | 2 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 93 | 2 | 61 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 142 | 3 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 153 | 1 | 0 | 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) | - | 36 | 0 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 0 | 0 | @@ -554,7 +556,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 282 | 4 | 238 | 12 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 135 | 5 | 103 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 14 | 0 | 13 | 0 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 15 | 0 | 14 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 72 | 0 | 55 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 39 | 0 | 25 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 86 | 0 | 86 | 1 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 951500f4241a9..bd4d7e12b1ff0 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-05-31 +date: 2023-06-01 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 e6b9aa366dd3f..0a8885ca21206 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-05-31 +date: 2023-06-01 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 90d5947aa188d..d0cb58f9ab876 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-05-31 +date: 2023-06-01 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 c90cc3c0d1ad2..0c5a1bfef37a3 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 36 | 0 | 16 | 0 | +| 38 | 0 | 18 | 3 | ## Client diff --git a/api_docs/reporting_export_types.devdocs.json b/api_docs/reporting_export_types.devdocs.json new file mode 100644 index 0000000000000..d298d7bd6d398 --- /dev/null +++ b/api_docs/reporting_export_types.devdocs.json @@ -0,0 +1,96 @@ +{ + "id": "reportingExportTypes", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginSetup", + "type": "Interface", + "tags": [], + "label": "ExportTypesPluginSetup", + "description": [], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginSetup.reporting", + "type": "Object", + "tags": [], + "label": "reporting", + "description": [], + "signature": [ + { + "pluginId": "reporting", + "scope": "server", + "docId": "kibReportingPluginApi", + "section": "def-server.ReportingSetup", + "text": "ReportingSetup" + } + ], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginStart", + "type": "Interface", + "tags": [], + "label": "ExportTypesPluginStart", + "description": [], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginStart.reporting", + "type": "Object", + "tags": [], + "label": "reporting", + "description": [], + "signature": [ + { + "pluginId": "reporting", + "scope": "server", + "docId": "kibReportingPluginApi", + "section": "def-server.ReportingSetup", + "text": "ReportingSetup" + } + ], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/reporting_export_types.mdx b/api_docs/reporting_export_types.mdx new file mode 100644 index 0000000000000..2ed31850c11f9 --- /dev/null +++ b/api_docs/reporting_export_types.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibReportingExportTypesPluginApi +slug: /kibana-dev-docs/api/reportingExportTypes +title: "reportingExportTypes" +image: https://source.unsplash.com/400x175/?github +description: API docs for the reportingExportTypes plugin +date: 2023-06-01 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reportingExportTypes'] +--- +import reportingExportTypesObj from './reporting_export_types.devdocs.json'; + +Currently PDF, PNG or CSV export types for the reporting plugin + +Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 4 | 0 | 4 | 0 | + +## Server + +### Interfaces + + diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 1aaa260836e0d..17b9a5349f929 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-05-31 +date: 2023-06-01 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 7ff29c176f0e8..58242b3f3f6ba 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-05-31 +date: 2023-06-01 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 ac55b014e489f..b9a18af31359d 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.devdocs.json b/api_docs/saved_objects.devdocs.json index 91c323dab911d..9c1668d649f44 100644 --- a/api_docs/saved_objects.devdocs.json +++ b/api_docs/saved_objects.devdocs.json @@ -58,6 +58,14 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx" @@ -152,6 +160,17 @@ "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.SavedObjectSaveModal.state.hasAttemptedSubmit", + "type": "boolean", + "tags": [], + "label": "hasAttemptedSubmit", + "description": [], + "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", + "deprecated": false, + "trackAdoption": false } ] }, @@ -2191,6 +2210,17 @@ "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.SaveModalState.hasAttemptedSubmit", + "type": "boolean", + "tags": [], + "label": "hasAttemptedSubmit", + "description": [], + "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 236b2b2e1b644..bc28d89180084 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.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 | |-------------------|-----------|------------------------|-----------------| -| 127 | 2 | 116 | 4 | +| 129 | 2 | 118 | 4 | ## Client diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index fd7bd50f3d552..d7d7d96c7eada 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-05-31 +date: 2023-06-01 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 86ef24ad52918..1e1e06531df97 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-05-31 +date: 2023-06-01 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 70632cec48226..08d1123bf228f 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.devdocs.json b/api_docs/saved_objects_tagging_oss.devdocs.json index 773e92b87b37e..97b83dc8f3ea2 100644 --- a/api_docs/saved_objects_tagging_oss.devdocs.json +++ b/api_docs/saved_objects_tagging_oss.devdocs.json @@ -1377,7 +1377,7 @@ "section": "def-common.Tag", "text": "Tag" }, - " | { type: \"__create_option__\"; }>> & { initialSelection: string[]; onTagsSelected: (ids: string[]) => void; }" + " | { type: \"__create_option__\"; }>> & { initialSelection: string[]; onTagsSelected: (ids: string[]) => void; markOptional?: boolean | undefined; }" ], "path": "src/plugins/saved_objects_tagging_oss/public/api.ts", "deprecated": false, diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 44418359e6c32..916aec50d0537 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-05-31 +date: 2023-06-01 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 3d46583594e1f..7bc5576a95f44 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-05-31 +date: 2023-06-01 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 fa2eac1f3ffbf..07db4887399c8 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-05-31 +date: 2023-06-01 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 4e8c49d0bc624..f228aed64488d 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-05-31 +date: 2023-06-01 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 2c75f9cc66f20..e799b33b7af8e 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-05-31 +date: 2023-06-01 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 7943d0b97fb74..de2ba917781e0 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 19d196e6422e4..b44b3bceeaf98 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index aef82a5672432..389de2609cc3c 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 62fe5f7e54bfe..c2b7513114b07 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/serverless_security.mdx b/api_docs/serverless_security.mdx index 3a8edca6e8216..2300e3d5d34ef 100644 --- a/api_docs/serverless_security.mdx +++ b/api_docs/serverless_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSecurity title: "serverlessSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSecurity plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSecurity'] --- import serverlessSecurityObj from './serverless_security.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 11cf7d53adcb8..32fc231c964d0 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-05-31 +date: 2023-06-01 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 f03870d5f29af..8138d7ff5d4a5 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-05-31 +date: 2023-06-01 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 96de2fcf93a61..f6e53320b996c 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-05-31 +date: 2023-06-01 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 0c009c97a1890..35bea5077acad 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-05-31 +date: 2023-06-01 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 5875510a08635..0a7ca7aa6a77b 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-05-31 +date: 2023-06-01 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 c43802f1fc90a..8a54c86066e26 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-05-31 +date: 2023-06-01 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 74d671278f9d2..b768146800fce 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-05-31 +date: 2023-06-01 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 26fb7bfed8663..ec5caf8886745 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-05-31 +date: 2023-06-01 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 21c961a2f4097..7da191fe160d2 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-05-31 +date: 2023-06-01 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 80b8b96bc234e..42f8c3e81dd02 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-05-31 +date: 2023-06-01 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 2147ebb74e46c..133fc8e9d0615 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.devdocs.json b/api_docs/text_based_languages.devdocs.json index 581b217b86366..e5f1b90b12a78 100644 --- a/api_docs/text_based_languages.devdocs.json +++ b/api_docs/text_based_languages.devdocs.json @@ -182,6 +182,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.detectTimestamp", + "type": "CompoundType", + "tags": [], + "label": "detectTimestamp", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "textBasedLanguages", "id": "def-public.TextBasedLanguagesEditorProps.errors", diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index ec6285085a33c..c4ffe4458ea5f 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.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 | |-------------------|-----------|------------------------|-----------------| -| 16 | 0 | 16 | 0 | +| 17 | 0 | 17 | 0 | ## Client diff --git a/api_docs/threat_intelligence.devdocs.json b/api_docs/threat_intelligence.devdocs.json index 688ae390b26a3..e61ea9b2ea265 100644 --- a/api_docs/threat_intelligence.devdocs.json +++ b/api_docs/threat_intelligence.devdocs.json @@ -3,45 +3,6 @@ "client": { "classes": [], "functions": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionDeepLink", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionDeepLink", - "description": [ - "\nGets the threat intelligence properties of a TI page for deep linking in the security solution." - ], - "signature": [ - "(threatIntelligencePage: \"indicators\") => TIDeepLink" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionDeepLink.$1", - "type": "string", - "tags": [], - "label": "threatIntelligencePage", - "description": [ - "the name of the threat intelligence page." - ], - "signature": [ - "\"indicators\"" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "a {@link TIDeepLink }" - ], - "initialIsOpen": false - }, { "parentPluginId": "threatIntelligence", "id": "def-public.getSecuritySolutionLink", @@ -80,62 +41,6 @@ "a {@link TILinkItem }" ], "initialIsOpen": false - }, - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionNavTab", - "description": [ - "\nGets the threat intelligence properties of a TI page for navigation in the old security solution navigation." - ], - "signature": [ - "(threatIntelligencePage: \"indicators\", basePath: string) => TINavTab" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "string", - "tags": [], - "label": "threatIntelligencePage", - "description": [ - "the name of the threat intelligence page." - ], - "signature": [ - "\"indicators\"" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "a {@link TINavTab }" - ], - "initialIsOpen": false } ], "interfaces": [ diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index c6206cf14e3b1..f75a4b46d1708 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/protections-experience](https://github.com/orgs/elastic/teams/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 35 | 0 | 14 | 5 | +| 30 | 0 | 14 | 5 | ## Client diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index 03f2681b5c646..a1d96c65ee1d5 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -1469,18 +1469,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/event_details/types.ts" @@ -1633,7 +1621,7 @@ "label": "fields", "description": [], "signature": [ - "{ readonly [x: string]: Partial<", + "{ [x: string]: Partial<", { "pluginId": "timelines", "scope": "common", @@ -3029,6 +3017,54 @@ "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEqlRequestOptions.runtime_mappings", + "type": "Object", + "tags": [], + "label": "runtime_mappings", + "description": [], + "signature": [ + "Record & { type: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimePrimitiveTypes", + "text": "RuntimePrimitiveTypes" + }, + "; }> | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEqlRequestOptions.body", + "type": "CompoundType", + "tags": [], + "label": "body", + "description": [], + "signature": [ + "(Omit<", + "EqlSearchRequest", + ", \"body\"> & EqlBody & { runtime_mappings?: ", + "RunTimeMappings", + "; }) | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -3242,9 +3278,23 @@ "label": "runtimeMappings", "description": [], "signature": [ - "{ [x: string]: ", - "MappingRuntimeField", - "; }" + "Record & { type: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimePrimitiveTypes", + "text": "RuntimePrimitiveTypes" + }, + "; }> | undefined" ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", "deprecated": false, @@ -4221,7 +4271,7 @@ "label": "BrowserFields", "description": [], "signature": [ - "{ readonly [x: string]: Partial<", + "{ [x: string]: Partial<", { "pluginId": "timelines", "scope": "common", @@ -4425,7 +4475,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" + "path": "x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx" }, { "plugin": "securitySolution", @@ -4721,15 +4775,15 @@ ], "signature": [ "EuiDataGridCellValueElementProps", - " & { asPlainText?: boolean | undefined; browserFields?: Readonly>> | undefined; data: ", + " | undefined; data: ", { "pluginId": "timelines", "scope": "common", diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 44a574270a79c..367bcfdb6c916 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-threat-hunting-investigations](https://github.com/org | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 257 | 1 | 214 | 20 | +| 259 | 1 | 216 | 21 | ## Client diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index c0c7ec1b5c388..2577eef194d84 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-05-31 +date: 2023-06-01 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 cef02e5a0c0ab..3266aa83a1a42 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-05-31 +date: 2023-06-01 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 64b75c90dd5f0..f94b9407f201d 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-05-31 +date: 2023-06-01 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 f983586baf8e7..dc5c689869290 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.devdocs.json b/api_docs/unified_field_list.devdocs.json index f592e3401ae0e..d936dbf5d94c1 100644 --- a/api_docs/unified_field_list.devdocs.json +++ b/api_docs/unified_field_list.devdocs.json @@ -1612,7 +1612,7 @@ "\nMemorizes current query, filters and absolute date range" ], "signature": [ - "({ data }: ", + "({ data, listenToSearchSessionUpdates, }: ", { "pluginId": "unifiedFieldList", "scope": "public", @@ -1638,7 +1638,7 @@ "id": "def-public.useQuerySubscriber.$1", "type": "Object", "tags": [], - "label": "{ data }", + "label": "{\n data,\n listenToSearchSessionUpdates = true,\n}", "description": [], "signature": [ { @@ -2970,15 +2970,15 @@ "label": "renderFieldItem", "description": [], "signature": [ - "(params: { field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; groupName: ", + "(params: ", { "pluginId": "unifiedFieldList", "scope": "public", "docId": "kibUnifiedFieldListPluginApi", - "section": "def-public.FieldsGroupNames", - "text": "FieldsGroupNames" + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" }, - "; fieldSearchHighlight?: string | undefined; }) => JSX.Element" + ") => JSX.Element" ], "path": "src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx", "deprecated": false, @@ -2993,15 +2993,14 @@ "label": "params", "description": [], "signature": [ - "{ field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; groupName: ", { "pluginId": "unifiedFieldList", "scope": "public", "docId": "kibUnifiedFieldListPluginApi", - "section": "def-public.FieldsGroupNames", - "text": "FieldsGroupNames" + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" }, - "; fieldSearchHighlight?: string | undefined; }" + "" ], "path": "src/plugins/unified_field_list/public/components/field_list_grouped/fields_accordion.tsx", "deprecated": false, @@ -4901,6 +4900,20 @@ "path": "src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.QuerySubscriberParams.listenToSearchSessionUpdates", + "type": "CompoundType", + "tags": [], + "label": "listenToSearchSessionUpdates", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -4999,6 +5012,114 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams", + "type": "Interface", + "tags": [], + "label": "RenderFieldItemParams", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.field", + "type": "Uncategorized", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "T" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.hideDetails", + "type": "CompoundType", + "tags": [], + "label": "hideDetails", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.itemIndex", + "type": "number", + "tags": [], + "label": "itemIndex", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.groupIndex", + "type": "number", + "tags": [], + "label": "groupIndex", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.groupName", + "type": "Enum", + "tags": [], + "label": "groupName", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldsGroupNames", + "text": "FieldsGroupNames" + } + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.fieldSearchHighlight", + "type": "string", + "tags": [], + "label": "fieldSearchHighlight", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.VisualizeInformation", @@ -5326,86 +5447,10 @@ "server": { "classes": [], "functions": [], - "interfaces": [ - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginSetup", - "type": "Interface", - "tags": [], - "label": "PluginSetup", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "initialIsOpen": false - }, - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginStart", - "type": "Interface", - "tags": [], - "label": "PluginStart", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginStart.dataViews", - "type": "Object", - "tags": [], - "label": "dataViews", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "server", - "docId": "kibDataViewsPluginApi", - "section": "def-server.DataViewsServerPluginStart", - "text": "DataViewsServerPluginStart" - } - ], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], + "interfaces": [], "enums": [], "misc": [], - "objects": [], - "setup": { - "parentPluginId": "unifiedFieldList", - "id": "def-server.UnifiedFieldListServerPluginSetup", - "type": "Interface", - "tags": [], - "label": "UnifiedFieldListServerPluginSetup", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "lifecycle": "setup", - "initialIsOpen": true - }, - "start": { - "parentPluginId": "unifiedFieldList", - "id": "def-server.UnifiedFieldListServerPluginStart", - "type": "Interface", - "tags": [], - "label": "UnifiedFieldListServerPluginStart", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "lifecycle": "start", - "initialIsOpen": true - } + "objects": [] }, "common": { "classes": [], diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index 1aa12a5fa6144..6eb8d4b0cf096 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.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 | |-------------------|-----------|------------------------|-----------------| -| 293 | 0 | 267 | 8 | +| 296 | 0 | 270 | 8 | ## Client @@ -43,17 +43,6 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k ### Consts, variables and types -## Server - -### Setup - - -### Start - - -### Interfaces - - ## Common ### Consts, variables and types diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 7b4ac5c8a5487..08a6613700e36 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 37cabd884296e..daf054e434529 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index d457f26ebc55b..43616c2e477a3 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index ff12bab28faac..83011a25bb0da 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-05-31 +date: 2023-06-01 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 44a433e56d4a1..bd2b45d228c23 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-05-31 +date: 2023-06-01 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 890b4063b7a29..7492b9b3e5870 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-05-31 +date: 2023-06-01 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 a6d3a49cd7b12..3dc4bf9763347 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-05-31 +date: 2023-06-01 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 47767ba2eff29..2f8acdbe2ffd9 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-05-31 +date: 2023-06-01 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 1c0df77e3eb80..c13bf1951d0f6 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-05-31 +date: 2023-06-01 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 b16bf486841a5..d92b8580be006 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-05-31 +date: 2023-06-01 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 ed6e30f62469c..a8a150d2e931d 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-05-31 +date: 2023-06-01 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 630f6af7d24be..8a5297cbb3e2b 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-05-31 +date: 2023-06-01 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 e3c0c2e6ba425..474975e74c54d 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-05-31 +date: 2023-06-01 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 053368cdad387..2a97b3bae2e37 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-05-31 +date: 2023-06-01 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 11ac350ad642b..19e96aeeda883 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-05-31 +date: 2023-06-01 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 b4ab21b59db92..f51cd60882b39 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualization_ui_components.mdx b/api_docs/visualization_ui_components.mdx index d4c3638136772..9a32b2043f858 100644 --- a/api_docs/visualization_ui_components.mdx +++ b/api_docs/visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizationUiComponents title: "visualizationUiComponents" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizationUiComponents plugin -date: 2023-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizationUiComponents'] --- import visualizationUiComponentsObj from './visualization_ui_components.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index e0d32cc189c66..6fa6c37e63325 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-05-31 +date: 2023-06-01 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/docs/settings/fleet-settings.asciidoc b/docs/settings/fleet-settings.asciidoc index 28a855c29bace..0960937564b7d 100644 --- a/docs/settings/fleet-settings.asciidoc +++ b/docs/settings/fleet-settings.asciidoc @@ -52,12 +52,11 @@ Hostnames used by {agent} for accessing {es}. `xpack.fleet.agents.elasticsearch.ca_sha256`:: Hash pin used for certificate verification. The pin is a base64-encoded string of the SHA-256 fingerprint. - [role="child_attributes"] ==== Preconfiguration settings (for advanced use cases) -Use these settings to pre-define integrations and agent policies that you -want {fleet} to load up by default. +Use these settings to pre-define integrations, agent policies, and {fleet-server} +hosts or proxies that you want {fleet} to load up by default. NOTE: These settings are not supported to pre-configure the Endpoint and Cloud Security integration. @@ -134,6 +133,41 @@ List of agent policies that are configured when the {fleet} app starts. Array that overrides any default input settings for this integration. Follows the same schema as integration inputs, with the exception that any object in `vars` can be passed `frozen: true` in order to prevent that specific `var` from being edited by the user. ======= ===== ++ +Example configuration: ++ +[source,yaml] +---- +xpack.fleet.packages: + - name: apache + version: 0.5.0 + +xpack.fleet.agentPolicies: + - name: Preconfigured Policy + id: 1 + namespace: test + package_policies: + - package: + name: system + name: System Integration + id: preconfigured-system + inputs: + - type: system/metrics + enabled: true + vars: + - name: system.hostfs + value: home/test + streams: + - data_stream: + dataset: system.core + enabled: true + vars: + - name: period + value: 20s + - type: winlog + enabled: false +---- + `xpack.fleet.outputs`:: List of outputs that are configured when the {fleet} app starts. @@ -157,6 +191,8 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration Array that contains the list of host for that output. `config`::: Extra config for that output. + `proxy_id`::: + Unique ID of a proxy to access the output. ===== + .Optional properties of `xpack.fleet.outputs` @@ -167,40 +203,66 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration `is_default_monitoring`::: If `true`, the output specified in `xpack.fleet.outputs` will be the one used to send agent monitoring data unless there is another one configured specifically for the agent policy. ===== + +`xpack.fleet.fleetServerHosts`:: +List of {fleet-server} hosts that are configured when the {fleet} app starts. + -Example configuration: +.Required properties of `xpack.fleet.fleetServerHosts` +[%collapsible%open] +===== + `id`::: + Unique ID for the host server. + `name`::: + Name of the host server. + `host_urls`::: + Array of one or more host URLs that {agents} will use to connect to {fleet-server}. +===== + -[source,yaml] ----- -xpack.fleet.packages: - - name: apache - version: 0.5.0 +.Optional properties of `xpack.fleet.fleetServerHosts` +[%collapsible%open] +===== + `is_default`::: + Whether or not this host should be the default to use for {fleet-server}. + `proxy_id`::: + Unique ID of the proxy to access the {fleet-server} host. +===== -xpack.fleet.agentPolicies: - - name: Preconfigured Policy - id: 1 - namespace: test - package_policies: - - package: - name: system - name: System Integration - id: preconfigured-system - inputs: - - type: system/metrics - enabled: true - vars: - - name: system.hostfs - value: home/test - streams: - - data_stream: - dataset: system.core - enabled: true - vars: - - name: period - value: 20s - - type: winlog - enabled: false ----- +`xpack.fleet.proxy`:: +List of proxies to access {fleet-server} that are configured when the {fleet} app starts. ++ +.Required properties of `xpack.fleet.proxy` +[%collapsible%open] +===== + `id`::: + Unique ID of the proxy to access the {fleet-server} host. + `name`::: + Name of the proxy to access the {fleet-server} host. + `url`::: + URL that {agents} use to connect to the proxy to access {fleet-server}. +===== ++ +.Optional properties of `xpack.fleet.proxy` +[%collapsible%open] +===== + `proxy_headers`::: + Map of headers to use with the proxy. +.Properties of `proxy_headers` +[%collapsible%open] +======= + `key`:::: + Key to use for the proxy header. + `value`:::: + Value to use for the proxy header. +======= + `certificate_authorities`::: + Certificate authority (CA) used to issue the certificate. + `certificate`::: + The name of the certificate used to authenticate the proxy. + `certificate_key`::: + The certificate key used to authenticate the proxy. +===== `xpack.fleet.enableExperimental`:: -List of experimental feature flag to enable in Fleet. \ No newline at end of file +List of experimental feature flag to enable in Fleet. + + diff --git a/docs/settings/logs-ui-settings.asciidoc b/docs/settings/logs-ui-settings.asciidoc index e7321b7f0768c..7d86a85680863 100644 --- a/docs/settings/logs-ui-settings.asciidoc +++ b/docs/settings/logs-ui-settings.asciidoc @@ -7,6 +7,13 @@ You do not need to configure any settings to use the Logs app in {kib}. It is enabled by default. +The {kib} logs can be found per operating system under: + +* Linux, DEB or RPM package: /var/log/kibana/kibana.log +* Linux, tar.gz package: $KIBANA_HOME/log/kibana.log +* Windows: $KIBANA_HOME\log\kibana.log + + [float] [[general-logs-ui-settings-kb]] ==== General Logs settings diff --git a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx index 913f8b4064440..713e2307938f7 100644 --- a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx +++ b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx @@ -51,6 +51,7 @@ export const PageReducerStream: FC = () => { typeof basePath >( `${basePath}/internal/response_stream/reducer_stream`, + '1', { compressResponse, simulateErrors }, { reducer: reducerStreamReducer, initialState } ); diff --git a/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx b/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx index 35b1cf07ed63b..149174b04e3ea 100644 --- a/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx +++ b/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx @@ -34,7 +34,7 @@ export const PageSimpleStringStream: FC = () => { const { dispatch, errors, start, cancel, data, isRunning } = useFetchStream< ApiSimpleStringStream, typeof basePath - >(`${basePath}/internal/response_stream/simple_string_stream`, { + >(`${basePath}/internal/response_stream/simple_string_stream`, '1', { compressResponse, timeout: 500, }); diff --git a/examples/response_stream/server/routes/reducer_stream.ts b/examples/response_stream/server/routes/reducer_stream.ts index e9fe6d02b68f6..1546583c6d3bc 100644 --- a/examples/response_stream/server/routes/reducer_stream.ts +++ b/examples/response_stream/server/routes/reducer_stream.ts @@ -20,103 +20,110 @@ import { import { API_ENDPOINT } from '../../common/api'; export const defineReducerStreamRoute = (router: IRouter, logger: Logger) => { - router.post( - { + router.versioned + .post({ path: API_ENDPOINT.REDUCER_STREAM, - validate: { - body: reducerStreamRequestBodySchema, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + body: reducerStreamRequestBodySchema, + }, + }, }, - }, - async (context, request, response) => { - const maxTimeoutMs = request.body.timeout ?? 250; - const simulateError = request.body.simulateErrors ?? false; - - let logMessageCounter = 1; - - function logDebugMessage(msg: string) { - logger.debug(`Response Stream Example #${logMessageCounter}: ${msg}`); - logMessageCounter++; - } - - logDebugMessage('Starting stream.'); - - let shouldStop = false; - request.events.aborted$.subscribe(() => { - logDebugMessage('aborted$ subscription trigger.'); - shouldStop = true; - }); - request.events.completed$.subscribe(() => { - logDebugMessage('completed$ subscription trigger.'); - shouldStop = true; - }); - - const { end, push, responseWithHeaders } = streamFactory( - request.headers, - logger, - request.body.compressResponse - ); - - const entities = [ - 'kimchy', - 's1monw', - 'martijnvg', - 'jasontedor', - 'nik9000', - 'javanna', - 'rjernst', - 'jrodewig', - ]; - - const actions = [...Array(19).fill('add'), 'delete']; - - if (simulateError) { - actions.push('throw-error'); - actions.push('emit-error'); - } - - let progress = 0; - - async function pushStreamUpdate() { - setTimeout(() => { - try { - progress++; - - if (progress > 100 || shouldStop) { - end(); - return; + async (context, request, response) => { + const maxTimeoutMs = request.body.timeout ?? 250; + const simulateError = request.body.simulateErrors ?? false; + + let logMessageCounter = 1; + + function logDebugMessage(msg: string) { + logger.debug(`Response Stream Example #${logMessageCounter}: ${msg}`); + logMessageCounter++; + } + + logDebugMessage('Starting stream.'); + + let shouldStop = false; + request.events.aborted$.subscribe(() => { + logDebugMessage('aborted$ subscription trigger.'); + shouldStop = true; + }); + request.events.completed$.subscribe(() => { + logDebugMessage('completed$ subscription trigger.'); + shouldStop = true; + }); + + const { end, push, responseWithHeaders } = streamFactory( + request.headers, + logger, + request.body.compressResponse + ); + + const entities = [ + 'kimchy', + 's1monw', + 'martijnvg', + 'jasontedor', + 'nik9000', + 'javanna', + 'rjernst', + 'jrodewig', + ]; + + const actions = [...Array(19).fill('add'), 'delete']; + + if (simulateError) { + actions.push('throw-error'); + actions.push('emit-error'); + } + + let progress = 0; + + async function pushStreamUpdate() { + setTimeout(() => { + try { + progress++; + + if (progress > 100 || shouldStop) { + end(); + return; + } + + push(updateProgressAction(progress)); + + const randomEntity = entities[Math.floor(Math.random() * entities.length)]; + const randomAction = actions[Math.floor(Math.random() * actions.length)]; + + if (randomAction === 'add') { + const randomCommits = Math.floor(Math.random() * 100); + push(addToEntityAction(randomEntity, randomCommits)); + } else if (randomAction === 'delete') { + push(deleteEntityAction(randomEntity)); + } else if (randomAction === 'throw-error') { + // Throw an error. It should not crash Kibana! + // It should be caught and logged to the Kibana server console. + throw new Error('There was a (simulated) server side error!'); + } else if (randomAction === 'emit-error') { + // Emit an error as a stream action. + push(errorAction('(Simulated) error pushed to the stream')); + return; + } + + pushStreamUpdate(); + } catch (e) { + logger.error(e); } + }, Math.floor(Math.random() * maxTimeoutMs)); + } - push(updateProgressAction(progress)); - - const randomEntity = entities[Math.floor(Math.random() * entities.length)]; - const randomAction = actions[Math.floor(Math.random() * actions.length)]; - - if (randomAction === 'add') { - const randomCommits = Math.floor(Math.random() * 100); - push(addToEntityAction(randomEntity, randomCommits)); - } else if (randomAction === 'delete') { - push(deleteEntityAction(randomEntity)); - } else if (randomAction === 'throw-error') { - // Throw an error. It should not crash Kibana! - // It should be caught and logged to the Kibana server console. - throw new Error('There was a (simulated) server side error!'); - } else if (randomAction === 'emit-error') { - // Emit an error as a stream action. - push(errorAction('(Simulated) error pushed to the stream')); - return; - } + // do not call this using `await` so it will run asynchronously while we return the stream already. + pushStreamUpdate(); - pushStreamUpdate(); - } catch (e) { - logger.error(e); - } - }, Math.floor(Math.random() * maxTimeoutMs)); + return response.ok(responseWithHeaders); } - - // do not call this using `await` so it will run asynchronously while we return the stream already. - pushStreamUpdate(); - - return response.ok(responseWithHeaders); - } - ); + ); }; diff --git a/examples/response_stream/server/routes/single_string_stream.ts b/examples/response_stream/server/routes/single_string_stream.ts index fde4947746dbf..ee55cf3b0bc8e 100644 --- a/examples/response_stream/server/routes/single_string_stream.ts +++ b/examples/response_stream/server/routes/single_string_stream.ts @@ -17,63 +17,70 @@ function timeout(ms: number) { } export const defineSimpleStringStreamRoute = (router: IRouter, logger: Logger) => { - router.post( - { + router.versioned + .post({ path: API_ENDPOINT.SIMPLE_STRING_STREAM, - validate: { - body: simpleStringStreamRequestBodySchema, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + body: simpleStringStreamRequestBodySchema, + }, + }, }, - }, - async (context, request, response) => { - const maxTimeoutMs = request.body.timeout ?? 250; + async (context, request, response) => { + const maxTimeoutMs = request.body.timeout ?? 250; - let shouldStop = false; - request.events.aborted$.subscribe(() => { - shouldStop = true; - }); - request.events.completed$.subscribe(() => { - shouldStop = true; - }); + let shouldStop = false; + request.events.aborted$.subscribe(() => { + shouldStop = true; + }); + request.events.completed$.subscribe(() => { + shouldStop = true; + }); - const { end, push, responseWithHeaders } = streamFactory( - request.headers, - logger, - request.body.compressResponse - ); + const { end, push, responseWithHeaders } = streamFactory( + request.headers, + logger, + request.body.compressResponse + ); - const text = - 'Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is dual-licensed under the source-available Server Side Public License and the Elastic license, while other parts fall under the proprietary (source-available) Elastic License. Official clients are available in Java, .NET (C#), PHP, Python, Apache Groovy, Ruby and many other languages. According to the DB-Engines ranking, Elasticsearch is the most popular enterprise search engine.'; + const text = + 'Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is dual-licensed under the source-available Server Side Public License and the Elastic license, while other parts fall under the proprietary (source-available) Elastic License. Official clients are available in Java, .NET (C#), PHP, Python, Apache Groovy, Ruby and many other languages. According to the DB-Engines ranking, Elasticsearch is the most popular enterprise search engine.'; - const tokens = text.split(' '); + const tokens = text.split(' '); - async function pushStreamUpdate() { - try { - if (shouldStop) { - end(); - return; - } + async function pushStreamUpdate() { + try { + if (shouldStop) { + end(); + return; + } - const token = tokens.shift(); + const token = tokens.shift(); - if (token !== undefined) { - push(`${token} `); - await timeout(Math.floor(Math.random() * maxTimeoutMs)); + if (token !== undefined) { + push(`${token} `); + await timeout(Math.floor(Math.random() * maxTimeoutMs)); - if (!shouldStop) { - pushStreamUpdate(); + if (!shouldStop) { + pushStreamUpdate(); + } + } else { + end(); } - } else { - end(); + } catch (e) { + logger.error(`There was an error: ${e.toString()}`); } - } catch (e) { - logger.error(`There was an error: ${e.toString()}`); } - } - // do not call this using `await` so it will run asynchronously while we return the stream already. - pushStreamUpdate(); + // do not call this using `await` so it will run asynchronously while we return the stream already. + pushStreamUpdate(); - return response.ok(responseWithHeaders); - } - ); + return response.ok(responseWithHeaders); + } + ); }; diff --git a/package.json b/package.json index 8faa96541c13d..2a5a779f182b1 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.8.0-canary.2", "@elastic/ems-client": "8.4.0", - "@elastic/eui": "80.0.0", + "@elastic/eui": "81.0.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", diff --git a/packages/content-management/table_list/src/table_list_view.test.tsx b/packages/content-management/table_list/src/table_list_view.test.tsx index 0245af450fb8a..6b0b850cddcd4 100644 --- a/packages/content-management/table_list/src/table_list_view.test.tsx +++ b/packages/content-management/table_list/src/table_list_view.test.tsx @@ -450,7 +450,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', 'Name Z-A ', - 'Recently updated - Checked option. ', + 'Recently updated. Checked option. ', 'Least recently updated ', ]); }); @@ -532,7 +532,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', 'Name Z-A ', - 'Recently updated - Checked option. ', // checked + 'Recently updated. Checked option. ', // checked 'Least recently updated ', ]); @@ -571,7 +571,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', - 'Name Z-A - Checked option. ', // now this option is checked + 'Name Z-A. Checked option. ', // now this option is checked 'Recently updated ', 'Least recently updated ', ]); diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts b/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts index fa1636b57dedb..0f2d12390a6ae 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts +++ b/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import { deepFreeze } from '@kbn/std'; import type { PublicMethodsOf } from '@kbn/utility-types'; import type { CapabilitiesStart, @@ -14,11 +13,11 @@ import type { } from '@kbn/core-capabilities-browser-internal'; const createStartContractMock = (): jest.Mocked => ({ - capabilities: deepFreeze({ + capabilities: { catalogue: {}, management: {}, navLinks: {}, - }), + }, }); const createMock = (): jest.Mocked> => ({ diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json index 3ef89ddcbb465..531350d618920 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json @@ -12,7 +12,6 @@ "**/*.tsx", ], "kbn_references": [ - "@kbn/std", "@kbn/utility-types", "@kbn/core-capabilities-browser-internal" ], diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts index b3d5c69cec155..e20639cf4f405 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts @@ -48,7 +48,7 @@ export const retryCallCluster = >(apiCaller: () => T) * Retries the provided Elasticsearch API call when an error such as * `AuthenticationException` `NoConnections`, `ConnectionFault`, * `ServiceUnavailable` or `RequestTimeout` are encountered. The API call will - * be retried once a second, indefinitely, until a successful response or a + * be retried once every `delay` millis, indefinitely, until a successful response or a * different error is received. * * @example diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 50c6cdba510ba..4506a65aa6e19 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -294,13 +294,15 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiSelectable.placeholderName": "Filter options", "euiSelectable.screenReaderInstructions": "Use the Up and Down arrow keys to move focus over options. Press Enter to select. Press Escape to collapse options.", "euiSelectable.searchResults": [Function], + "euiSelectableListItem.checkOptionInstructions": "To check this option, press Enter.", "euiSelectableListItem.checkedOption": "Checked option.", - "euiSelectableListItem.checkedOptionInstructions": "To uncheck this option, press enter.", + "euiSelectableListItem.excludeOptionInstructions": "To exclude this option, press Enter.", "euiSelectableListItem.excludedOption": "Excluded option.", - "euiSelectableListItem.excludedOptionInstructions": "To uncheck this option, press enter.", - "euiSelectableListItem.includedOption": "Selected option.", - "euiSelectableListItem.includedOptionInstructions": "To exclude this option, press enter.", - "euiSelectableListItem.unckeckedOptionInstructions": "To select this option, press enter.", + "euiSelectableListItem.mixedOption": "Mixed (indeterminate) option.", + "euiSelectableListItem.mixedOptionExcludeInstructions": "To exclude this option for all, press Enter twice.", + "euiSelectableListItem.mixedOptionInstructions": "To check this option for all, press Enter once.", + "euiSelectableListItem.mixedOptionUncheckInstructions": "To uncheck this option for all, press Enter twice.", + "euiSelectableListItem.uncheckOptionInstructions": "To uncheck this option, press Enter.", "euiSelectableTemplateSitewide.loadingResults": "Loading results", "euiSelectableTemplateSitewide.noResults": "No results available", "euiSelectableTemplateSitewide.onFocusBadgeGoTo": "Go to", diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index 642e444f038ce..c614bf698bd19 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -1499,40 +1499,50 @@ export const getEuiContextMapping = (): EuiTokensObject => { defaultMessage: 'Checked option.', } ), - 'euiSelectableListItem.checkedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.checkedOptionInstructions', + 'euiSelectableListItem.excludedOption': i18n.translate( + 'core.euiSelectableListItem.excludedOption', { - defaultMessage: 'To uncheck this option, press enter.', + defaultMessage: 'Excluded option.', } ), - 'euiSelectableListItem.includedOption': i18n.translate( - 'core.euiSelectableListItem.includedOption', + 'euiSelectableListItem.checkOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.checkOptionInstructions', { - defaultMessage: 'Selected option.', + defaultMessage: 'To check this option, press Enter.', } ), - 'euiSelectableListItem.includedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.includedOptionInstructions', + 'euiSelectableListItem.uncheckOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.uncheckOptionInstructions', { - defaultMessage: 'To exclude this option, press enter.', + defaultMessage: 'To uncheck this option, press Enter.', } ), - 'euiSelectableListItem.excludedOption': i18n.translate( - 'core.euiSelectableListItem.excludedOption', + 'euiSelectableListItem.excludeOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.excludeOptionInstructions', { - defaultMessage: 'Excluded option.', + defaultMessage: 'To exclude this option, press Enter.', + } + ), + 'euiSelectableListItem.mixedOption': i18n.translate('core.euiSelectableListItem.mixedOption', { + defaultMessage: 'Mixed (indeterminate) option.', + }), + + 'euiSelectableListItem.mixedOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionInstructions', + { + defaultMessage: 'To check this option for all, press Enter once.', } ), - 'euiSelectableListItem.excludedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.excludedOptionInstructions', + 'euiSelectableListItem.mixedOptionUncheckInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionUncheckInstructions', { - defaultMessage: 'To uncheck this option, press enter.', + defaultMessage: 'To uncheck this option for all, press Enter twice.', } ), - 'euiSelectableListItem.unckeckedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.unckeckedOptionInstructions', + 'euiSelectableListItem.mixedOptionExcludeInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionExcludeInstructions', { - defaultMessage: 'To select this option, press enter.', + defaultMessage: 'To exclude this option for all, press Enter twice.', } ), 'euiSelectableTemplateSitewide.loadingResults': i18n.translate( diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts index 5d14a4f9e4cbb..eea0966433f02 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +export { DEFAULT_INDEX_TYPES_MAP } from './src/constants'; export { LEGACY_URL_ALIAS_TYPE, type LegacyUrlAlias } from './src/legacy_alias'; export { getProperty, diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts new file mode 100644 index 0000000000000..c4a3018fdfb37 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts @@ -0,0 +1,116 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { IndexTypesMap } from './mappings'; + +/** + * This map holds the default breakdown of SO types per index (pre 8.8.0) + */ +export const DEFAULT_INDEX_TYPES_MAP: IndexTypesMap = { + '.kibana_task_manager': ['task'], + '.kibana': [ + 'action', + 'action_task_params', + 'alert', + 'api_key_pending_invalidation', + 'apm-indices', + 'apm-server-schema', + 'apm-service-group', + 'apm-telemetry', + 'app_search_telemetry', + 'application_usage_daily', + 'application_usage_totals', + 'book', + 'canvas-element', + 'canvas-workpad', + 'canvas-workpad-template', + 'cases', + 'cases-comments', + 'cases-configure', + 'cases-connector-mappings', + 'cases-telemetry', + 'cases-user-actions', + 'config', + 'config-global', + 'connector_token', + 'core-usage-stats', + 'csp-rule-template', + 'dashboard', + 'endpoint:user-artifact-manifest', + 'enterprise_search_telemetry', + 'epm-packages', + 'epm-packages-assets', + 'event_loop_delays_daily', + 'exception-list', + 'exception-list-agnostic', + 'file', + 'file-upload-usage-collection-telemetry', + 'fileShare', + 'fleet-fleet-server-host', + 'fleet-message-signing-keys', + 'fleet-preconfiguration-deletion-record', + 'fleet-proxy', + 'graph-workspace', + 'guided-onboarding-guide-state', + 'guided-onboarding-plugin-state', + 'index-pattern', + 'infrastructure-monitoring-log-view', + 'infrastructure-ui-source', + 'ingest-agent-policies', + 'ingest-download-sources', + 'ingest-outputs', + 'ingest-package-policies', + 'ingest_manager_settings', + 'inventory-view', + 'kql-telemetry', + 'legacy-url-alias', + 'lens', + 'lens-ui-telemetry', + 'map', + 'metrics-explorer-view', + 'ml-job', + 'ml-module', + 'ml-trained-model', + 'monitoring-telemetry', + 'osquery-manager-usage-metric', + 'osquery-pack', + 'osquery-pack-asset', + 'osquery-saved-query', + 'query', + 'rules-settings', + 'sample-data-telemetry', + 'search', + 'search-session', + 'search-telemetry', + 'searchableList', + 'security-rule', + 'security-solution-signals-migration', + 'siem-detection-engine-rule-actions', + 'siem-ui-timeline', + 'siem-ui-timeline-note', + 'siem-ui-timeline-pinned-event', + 'slo', + 'space', + 'spaces-usage-stats', + 'synthetics-monitor', + 'synthetics-param', + 'synthetics-privates-locations', + 'tag', + 'telemetry', + 'todo', + 'ui-metric', + 'upgrade-assistant-ml-upgrade-operation', + 'upgrade-assistant-reindex-operation', + 'uptime-dynamic-settings', + 'uptime-synthetics-api-key', + 'url', + 'usage-counters', + 'visualization', + 'workplace_search_telemetry', + ], +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts index d44932f879232..8fbaf06b56f80 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts @@ -236,6 +236,103 @@ describe('validateTypeMigrations', () => { }); }); + describe('modelVersions mapping additions', () => { + it('throws when registering mapping additions not present in the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'text' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).toThrowErrorMatchingInlineSnapshot( + `"Type foo: mappings added on model versions not present on the global mappings definition: field2.type"` + ); + }); + + it('does not throw when registering mapping additions are present in the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'text' }, + }, + }, + ], + }, + '2': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field3: { type: 'text' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + field2: { type: 'text' }, + field3: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).not.toThrow(); + }); + + it('throws when registering mapping additions different than the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'boolean' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + field2: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).toThrowErrorMatchingInlineSnapshot( + `"Type foo: mappings added on model versions differs from the global mappings definition: field2.type"` + ); + }); + }); + describe('convertToMultiNamespaceTypeVersion', () => { it(`validates convertToMultiNamespaceTypeVersion can only be used with namespaceType 'multiple' or 'multiple-isolated'`, () => { const type = createType({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts index e3c528e0050e0..42ee0ad6ae8e1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts @@ -7,9 +7,18 @@ */ import Semver from 'semver'; +import { getFlattenedObject } from '@kbn/std'; import type { SavedObjectsNamespaceType } from '@kbn/core-saved-objects-common'; -import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; +import type { + SavedObjectsType, + SavedObjectsTypeMappingDefinition, + SavedObjectsModelVersionMap, +} from '@kbn/core-saved-objects-server'; import { assertValidModelVersion } from '@kbn/core-saved-objects-base-server-internal'; +import { + SavedObjectsModelChange, + SavedObjectsModelMappingsAdditionChange, +} from '@kbn/core-saved-objects-server'; /** * Validates the consistency of the given type for use with the document migrator. @@ -87,6 +96,9 @@ export function validateTypeMigrations({ if (minVersion > 1) { throw new Error(`Type ${type.name}: model versioning must start with version 1`); } + + validateAddedMappings(type.name, type.mappings, modelVersionMap); + const missingVersions = getMissingVersions( minVersion, maxVersion, @@ -114,6 +126,60 @@ export function validateTypeMigrations({ } } +function isMappingAddition( + change: SavedObjectsModelChange +): change is SavedObjectsModelMappingsAdditionChange { + return change.type === 'mappings_addition'; +} + +const validateAddedMappings = ( + typeName: string, + mappings: SavedObjectsTypeMappingDefinition, + modelVersions: SavedObjectsModelVersionMap +) => { + const flattenedMappings = new Map(Object.entries(getFlattenedObject(mappings.properties))); + + const mappingAdditionChanges = Object.values(modelVersions) + .flatMap((version) => version.changes) + .filter(isMappingAddition); + const addedMappings = mappingAdditionChanges.reduce((map, change) => { + const flattened = getFlattenedObject(change.addedMappings); + Object.keys(flattened).forEach((key) => { + map.set(key, flattened[key]); + }); + return map; + }, new Map()); + + const missingMappings: string[] = []; + const mappingsWithDifferentValues: string[] = []; + + for (const [key, value] of addedMappings.entries()) { + if (!flattenedMappings.has(key)) { + missingMappings.push(key); + } else { + const valueInMappings = flattenedMappings.get(key); + if (valueInMappings !== value) { + mappingsWithDifferentValues.push(key); + } + } + } + + if (missingMappings.length) { + throw new Error( + `Type ${typeName}: mappings added on model versions not present on the global mappings definition: ${missingMappings.join( + ',' + )}` + ); + } + if (mappingsWithDifferentValues.length) { + throw new Error( + `Type ${typeName}: mappings added on model versions differs from the global mappings definition: ${mappingsWithDifferentValues.join( + ',' + )}` + ); + } +}; + const assertObjectOrFunction = (entity: any, prefix: string) => { if (!entity || (typeof entity !== 'function' && typeof entity !== 'object')) { throw new Error(`${prefix} Got! ${typeof entity}, ${JSON.stringify(entity)}.`); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts index f9537a584881e..284215ef74b45 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts @@ -7,34 +7,59 @@ */ import { take } from 'rxjs/operators'; -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; - import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; -import { SavedObjectTypeRegistry } from '@kbn/core-saved-objects-base-server-internal'; -import { type KibanaMigratorOptions, KibanaMigrator } from './kibana_migrator'; +import { + type MigrationResult, + SavedObjectTypeRegistry, +} from '@kbn/core-saved-objects-base-server-internal'; +import { KibanaMigrator } from './kibana_migrator'; import { DocumentMigrator } from './document_migrator'; import { ByteSizeValue } from '@kbn/config-schema'; import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; import { lastValueFrom } from 'rxjs'; -import * as runResilientMigratorModule from './run_resilient_migrator'; -import { runResilientMigrator } from './run_resilient_migrator'; - -const mappingsResponseWithoutIndexTypesMap: estypes.IndicesGetMappingResponse = { - '.kibana_8.7.0_001': { - mappings: { - _meta: { - migrationMappingPropertyHashes: { - references: '7997cf5a56cc02bdc9c93361bde732b0', - // ... - }, - // we do not add a `indexTypesMap` - // simulating a Kibana < 8.8.0 that does not have one yet - }, - }, +import { runV2Migration } from './run_v2_migration'; +import { runZeroDowntimeMigration } from './zdt'; + +const V2_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 14, + status: 'migrated', }, -}; +]; + +const ZDT_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_8.8.0_001', + destIndex: '.my_index_8.8.1_001', + elapsedMs: 14, + status: 'migrated', + }, + { + destIndex: '.other_index_8.8.0_001', + elapsedMs: 128, + status: 'patched', + }, +]; + +jest.mock('./run_v2_migration', () => { + return { + runV2Migration: jest.fn( + (): Promise => Promise.resolve(V2_SUCCESSFUL_MIGRATION_RESULT) + ), + }; +}); + +jest.mock('./zdt', () => { + return { + runZeroDowntimeMigration: jest.fn( + (): Promise => Promise.resolve(ZDT_SUCCESSFUL_MIGRATION_RESULT) + ), + }; +}); const createRegistry = (types: Array>) => { const registry = new SavedObjectTypeRegistry(); @@ -51,10 +76,15 @@ const createRegistry = (types: Array>) => { return registry; }; +const mockRunV2Migration = runV2Migration as jest.MockedFunction; +const mockRunZeroDowntimeMigration = runZeroDowntimeMigration as jest.MockedFunction< + typeof runZeroDowntimeMigration +>; + describe('KibanaMigrator', () => { beforeEach(() => { - jest.restoreAllMocks(); - jest.spyOn(runResilientMigratorModule, 'runResilientMigrator'); + mockRunV2Migration.mockClear(); + mockRunZeroDowntimeMigration.mockClear(); }); describe('getActiveMappings', () => { it('returns full index mappings w/ core properties', () => { @@ -68,7 +98,7 @@ describe('KibanaMigrator', () => { }, { name: 'bmap', - indexPattern: '.other-index', + indexPattern: '.other_index', mappings: { properties: { field: { type: 'text' } }, }, @@ -90,6 +120,7 @@ describe('KibanaMigrator', () => { ); }); + // TODO check if it applies it('calls documentMigrator.migrate', () => { const options = mockOptions(); const kibanaMigrator = new KibanaMigrator(options); @@ -102,88 +133,57 @@ describe('KibanaMigrator', () => { }); describe('runMigrations', () => { - it('throws if prepareMigrations is not called first', async () => { + it("calls runV2Migration with the right params when the migration algorithm is 'v2'", async () => { const options = mockOptions(); const migrator = new KibanaMigrator(options); + migrator.prepareMigrations(); + const res = await migrator.runMigrations(); - await expect(migrator.runMigrations()).rejects.toThrowError( - 'Migrations are not ready. Make sure prepareMigrations is called first.' + expect(runV2Migration).toHaveBeenCalledTimes(1); + expect(runZeroDowntimeMigration).not.toHaveBeenCalled(); + expect(runV2Migration).toHaveBeenCalledWith( + expect.objectContaining({ + kibanaVersion: '8.2.3', + kibanaIndexPrefix: '.my_index', + migrationConfig: options.soMigrationsConfig, + waitForMigrationCompletion: false, + }) ); + expect(res).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); }); - it('only runs migrations once if called multiple times', async () => { - const successfulRun: typeof runResilientMigrator = ({ indexPrefix }) => - Promise.resolve({ - sourceIndex: indexPrefix, - destIndex: indexPrefix, - elapsedMs: 28, - status: 'migrated', - }); - const mockRunResilientMigrator = runResilientMigrator as jest.MockedFunction< - typeof runResilientMigrator - >; - - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - const options = mockOptions(); - options.client.indices.get.mockResponse({}, { statusCode: 200 }); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it("calls runZeroDowntimeMigration with the right params when the migration algorithm is 'zdt'", async () => { + const options = mockOptions('zdt'); + const migrator = new KibanaMigrator(options); + migrator.prepareMigrations(); + const res = await migrator.runMigrations(); - options.client.cluster.getSettings.mockResponse( - { - transient: {}, - persistent: {}, - }, - { statusCode: 404 } + expect(runZeroDowntimeMigration).toHaveBeenCalledTimes(1); + expect(runV2Migration).not.toHaveBeenCalled(); + expect(runZeroDowntimeMigration).toHaveBeenCalledWith( + expect.objectContaining({ + kibanaVersion: '8.2.3', + kibanaIndexPrefix: '.my_index', + migrationConfig: options.soMigrationsConfig, + }) ); - const migrator = new KibanaMigrator(options); + expect(res).toEqual(ZDT_SUCCESSFUL_MIGRATION_RESULT); + }); + it('only runs migrations once if called multiple times', async () => { + const options = mockOptions(); + const migrator = new KibanaMigrator(options); migrator.prepareMigrations(); await migrator.runMigrations(); await migrator.runMigrations(); await migrator.runMigrations(); // indices.get is called twice during a single migration - expect(runResilientMigrator).toHaveBeenCalledTimes(4); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - indexPrefix: '.my-index', - mustRelocateDocuments: true, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - indexPrefix: '.other-index', - mustRelocateDocuments: true, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 3, - expect.objectContaining({ - indexPrefix: '.my-task-index', - mustRelocateDocuments: false, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 4, - expect.objectContaining({ - indexPrefix: '.my-complementary-index', - mustRelocateDocuments: true, - }) - ); + expect(runV2Migration).toHaveBeenCalledTimes(1); }); - it('emits results on getMigratorResult$()', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it('emits v2 results on getMigratorResult$()', async () => { + const options = mockOptions(); const migrator = new KibanaMigrator(options); const migratorStatus = lastValueFrom(migrator.getStatus$().pipe(take(3))); migrator.prepareMigrations(); @@ -191,294 +191,70 @@ describe('KibanaMigrator', () => { const { status, result } = await migratorStatus; expect(status).toEqual('completed'); - expect(result![0]).toMatchObject({ - destIndex: '.my-index_8.2.3_001', - sourceIndex: '.my-index_pre8.2.3_001', - elapsedMs: expect.any(Number), - status: 'migrated', - }); - expect(result![1]).toMatchObject({ - destIndex: '.other-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }); + expect(result).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); }); - it('rejects when the migration state machine terminates in a FATAL state', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.get.mockResponse( - { - '.my-index_8.2.4_001': { - aliases: { - '.my-index': {}, - '.my-index_8.2.4': {}, - }, - mappings: { properties: {}, _meta: { migrationMappingPropertyHashes: {} } }, - settings: {}, - }, - }, - { statusCode: 200 } - ); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it('emits zdt results on getMigratorResult$()', async () => { + const options = mockOptions('zdt'); const migrator = new KibanaMigrator(options); + const migratorStatus = lastValueFrom(migrator.getStatus$().pipe(take(3))); migrator.prepareMigrations(); - return expect(migrator.runMigrations()).rejects.toMatchInlineSnapshot( - `[Error: Unable to complete saved object migrations for the [.my-index] index: The .my-index alias is pointing to a newer version of Kibana: v8.2.4]` - ); - }); + await migrator.runMigrations(); - it('rejects when an unexpected exception occurs in an action', async () => { - const options = mockV2MigrationOptions(); - options.client.tasks.get.mockResponse({ - completed: true, - error: { type: 'elasticsearch_exception', reason: 'task failed with an error' }, - task: { description: 'task description' } as any, - }); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + const { status, result } = await migratorStatus; + expect(status).toEqual('completed'); + expect(result).toEqual(ZDT_SUCCESSFUL_MIGRATION_RESULT); + }); + it('rejects when the v2 migrator algorithm rejects', async () => { + const options = mockOptions(); const migrator = new KibanaMigrator(options); + + const fatal = new Error( + `Unable to complete saved object migrations for the [${options.kibanaIndex}] index: Something went horribly wrong` + ); + mockRunV2Migration.mockRejectedValueOnce(fatal); + migrator.prepareMigrations(); - await expect(migrator.runMigrations()).rejects.toMatchInlineSnapshot(` - [Error: Unable to complete saved object migrations for the [.my-index] index. Error: Reindex failed with the following error: - {"_tag":"Some","value":{"type":"elasticsearch_exception","reason":"task failed with an error"}}] - `); - expect(loggingSystemMock.collect(options.logger).error[0][0]).toMatchInlineSnapshot(` - [Error: Reindex failed with the following error: - {"_tag":"Some","value":{"type":"elasticsearch_exception","reason":"task failed with an error"}}] - `); + expect(migrator.runMigrations()).rejects.toEqual(fatal); }); - describe('for V2 migrations', () => { - describe('where some SO types must be relocated', () => { - it('runs successfully', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); - - const migrator = new KibanaMigrator(options); - migrator.prepareMigrations(); - const results = await migrator.runMigrations(); + it('rejects when the zdt migrator algorithm rejects', async () => { + const options = mockOptions('zdt'); + const migrator = new KibanaMigrator(options); - expect(results.length).toEqual(4); - expect(results[0]).toEqual( - expect.objectContaining({ - sourceIndex: '.my-index_pre8.2.3_001', - destIndex: '.my-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'migrated', - }) - ); - expect(results[1]).toEqual( - expect.objectContaining({ - destIndex: '.other-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); - expect(results[2]).toEqual( - expect.objectContaining({ - destIndex: '.my-task-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); - expect(results[3]).toEqual( - expect.objectContaining({ - destIndex: '.my-complementary-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); + const fatal = new Error( + `Unable to complete saved object migrations for the [${options.kibanaIndex}] index: Something went terribly wrong` + ); + mockRunZeroDowntimeMigration.mockRejectedValueOnce(fatal); - expect(runResilientMigrator).toHaveBeenCalledTimes(4); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtype: expect.anything(), - testtype3: expect.anything(), - }), - }), - readyToReindex: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.other-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtype2: expect.anything(), - }), - }), - readyToReindex: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 3, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-task-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtasktype: expect.anything(), - }), - }), - // this migrator is NOT involved in any relocation, - // thus, it must not synchronize with other migrators - mustRelocateDocuments: false, - readyToReindex: undefined, - doneReindexing: undefined, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 4, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-complementary-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.not.objectContaining({ - // this index does no longer have any types associated to it - testtype: expect.anything(), - testtype2: expect.anything(), - testtype3: expect.anything(), - testtasktype: expect.anything(), - }), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - }); - }); + migrator.prepareMigrations(); + expect(migrator.runMigrations()).rejects.toEqual(fatal); }); }); }); -type MockedOptions = KibanaMigratorOptions & { - client: ReturnType; -}; - -const mockV2MigrationOptions = () => { - const options = mockOptions(); - options.client.cluster.getSettings.mockResponse( - { - transient: {}, - persistent: {}, - }, - { statusCode: 200 } - ); - - options.client.indices.get.mockResponse( - { - '.my-index': { - aliases: { '.kibana': {} }, - mappings: { properties: {} }, - settings: {}, - }, - }, - { statusCode: 200 } - ); - options.client.indices.addBlock.mockResponse({ - acknowledged: true, - shards_acknowledged: true, - indices: [], - }); - options.client.reindex.mockResponse({ - taskId: 'reindex_task_id', - } as estypes.ReindexResponse); - options.client.tasks.get.mockResponse({ - completed: true, - error: undefined, - failures: [], - task: { description: 'task description' } as any, - } as estypes.TasksGetResponse); - - options.client.search.mockResponse({ hits: { hits: [] } } as any); - - options.client.openPointInTime.mockResponse({ id: 'pit_id' }); - - options.client.closePointInTime.mockResponse({ - succeeded: true, - } as estypes.ClosePointInTimeResponse); - - return options; -}; - -const mockOptions = () => { +const mockOptions = (algorithm: 'v2' | 'zdt' = 'v2') => { const mockedClient = elasticsearchClientMock.createElasticsearchClient(); (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); - const options: MockedOptions = { + return { logger: loggingSystemMock.create().get(), kibanaVersion: '8.2.3', waitForMigrationCompletion: false, defaultIndexTypesMap: { - '.my-index': ['testtype', 'testtype2'], - '.my-task-index': ['testtasktype'], + '.my_index': ['testtype', 'testtype2'], + '.task_index': ['testtasktype'], // this index no longer has any types registered in typeRegistry // but we still need a migrator for it, so that 'testtype3' documents // are moved over to their new index (.my_index) - '.my-complementary-index': ['testtype3'], + '.my_complementary_index': ['testtype3'], }, typeRegistry: createRegistry([ // typeRegistry depicts an updated index map: - // .my-index: ['testtype', 'testtype3'], - // .my-other-index: ['testtype2'], - // .my-task-index': ['testtasktype'], + // .my_index: ['testtype', 'testtype3'], + // .other_index: ['testtype2'], + // .task_index': ['testtasktype'], { name: 'testtype', hidden: false, @@ -494,8 +270,8 @@ const mockOptions = () => { name: 'testtype2', hidden: false, namespaceType: 'single', - // We are moving 'testtype2' from '.my-index' to '.other-index' - indexPattern: '.other-index', + // We are moving 'testtype2' from '.my_index' to '.other_index' + indexPattern: '.other_index', mappings: { properties: { name: { type: 'keyword' }, @@ -507,7 +283,7 @@ const mockOptions = () => { name: 'testtasktype', hidden: false, namespaceType: 'single', - indexPattern: '.my-task-index', + indexPattern: '.task_index', mappings: { properties: { name: { type: 'keyword' }, @@ -516,7 +292,7 @@ const mockOptions = () => { migrations: {}, }, { - // We are moving 'testtype3' from '.my-complementary-index' to '.my-index' + // We are moving 'testtype3' from '.my_complementary_index' to '.my_index' name: 'testtype3', hidden: false, namespaceType: 'single', @@ -528,9 +304,9 @@ const mockOptions = () => { migrations: {}, }, ]), - kibanaIndex: '.my-index', + kibanaIndex: '.my_index', soMigrationsConfig: { - algorithm: 'v2', + algorithm, batchSize: 20, maxBatchSizeBytes: ByteSizeValue.parse('20mb'), maxReadBatchSizeBytes: new ByteSizeValue(536870888), @@ -547,5 +323,4 @@ const mockOptions = () => { docLinks: docLinksServiceMock.createSetupContract(), nodeRoles: { backgroundTasks: true, ui: true, migrator: true }, }; - return options; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts index f731b964ab6c7..ac50e60027e2d 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts @@ -12,14 +12,12 @@ */ import { BehaviorSubject } from 'rxjs'; -import Semver from 'semver'; import type { NodeRoles } from '@kbn/core-node-server'; import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { type SavedObjectUnsanitizedDoc, - type SavedObjectsRawDoc, type ISavedObjectTypeRegistry, } from '@kbn/core-saved-objects-server'; import { @@ -33,26 +31,22 @@ import { type MigrationResult, type IndexTypesMap, } from '@kbn/core-saved-objects-base-server-internal'; -import { getIndicesInvolvedInRelocation } from './kibana_migrator_utils'; import { buildActiveMappings, buildTypesMappings } from './core'; import { DocumentMigrator } from './document_migrator'; -import { createIndexMap } from './core/build_index_map'; -import { runResilientMigrator } from './run_resilient_migrator'; -import { migrateRawDocsSafely } from './core/migrate_raw_docs'; import { runZeroDowntimeMigration } from './zdt'; -import { createMultiPromiseDefer, indexMapToIndexTypesMap } from './kibana_migrator_utils'; -import { ALLOWED_CONVERT_VERSION, DEFAULT_INDEX_TYPES_MAP } from './kibana_migrator_constants'; +import { ALLOWED_CONVERT_VERSION } from './kibana_migrator_constants'; +import { runV2Migration } from './run_v2_migration'; export interface KibanaMigratorOptions { client: ElasticsearchClient; typeRegistry: ISavedObjectTypeRegistry; + defaultIndexTypesMap: IndexTypesMap; soMigrationsConfig: SavedObjectsMigrationConfigType; kibanaIndex: string; kibanaVersion: string; logger: Logger; docLinks: DocLinksServiceStart; waitForMigrationCompletion: boolean; - defaultIndexTypesMap?: IndexTypesMap; nodeRoles: NodeRoles; } @@ -66,6 +60,7 @@ export class KibanaMigrator implements IKibanaMigrator { private readonly log: Logger; private readonly mappingProperties: SavedObjectsTypeMappingDefinitions; private readonly typeRegistry: ISavedObjectTypeRegistry; + private readonly defaultIndexTypesMap: IndexTypesMap; private readonly serializer: SavedObjectsSerializer; private migrationResult?: Promise; private readonly status$ = new BehaviorSubject({ @@ -75,7 +70,6 @@ export class KibanaMigrator implements IKibanaMigrator { private readonly soMigrationsConfig: SavedObjectsMigrationConfigType; private readonly docLinks: DocLinksServiceStart; private readonly waitForMigrationCompletion: boolean; - private readonly defaultIndexTypesMap: IndexTypesMap; private readonly nodeRoles: NodeRoles; public readonly kibanaVersion: string; @@ -86,11 +80,11 @@ export class KibanaMigrator implements IKibanaMigrator { client, typeRegistry, kibanaIndex, + defaultIndexTypesMap, soMigrationsConfig, kibanaVersion, logger, docLinks, - defaultIndexTypesMap = DEFAULT_INDEX_TYPES_MAP, waitForMigrationCompletion, nodeRoles, }: KibanaMigratorOptions) { @@ -98,6 +92,7 @@ export class KibanaMigrator implements IKibanaMigrator { this.kibanaIndex = kibanaIndex; this.soMigrationsConfig = soMigrationsConfig; this.typeRegistry = typeRegistry; + this.defaultIndexTypesMap = defaultIndexTypesMap; this.serializer = new SavedObjectsSerializer(this.typeRegistry); this.mappingProperties = buildTypesMappings(this.typeRegistry.getAllTypes()); this.log = logger; @@ -114,7 +109,6 @@ export class KibanaMigrator implements IKibanaMigrator { // operation so we cache the result this.activeMappings = buildActiveMappings(this.mappingProperties); this.docLinks = docLinks; - this.defaultIndexTypesMap = defaultIndexTypesMap; } public runMigrations({ rerun = false }: { rerun?: boolean } = {}): Promise { @@ -144,122 +138,37 @@ export class KibanaMigrator implements IKibanaMigrator { return this.status$.asObservable(); } - private async runMigrationsInternal(): Promise { + private runMigrationsInternal(): Promise { const migrationAlgorithm = this.soMigrationsConfig.algorithm; if (migrationAlgorithm === 'zdt') { - return await this.runMigrationZdt(); + return runZeroDowntimeMigration({ + kibanaVersion: this.kibanaVersion, + kibanaIndexPrefix: this.kibanaIndex, + typeRegistry: this.typeRegistry, + logger: this.log, + documentMigrator: this.documentMigrator, + migrationConfig: this.soMigrationsConfig, + docLinks: this.docLinks, + serializer: this.serializer, + elasticsearchClient: this.client, + nodeRoles: this.nodeRoles, + }); } else { - return await this.runMigrationV2(); - } - } - - private runMigrationZdt(): Promise { - return runZeroDowntimeMigration({ - kibanaVersion: this.kibanaVersion, - kibanaIndexPrefix: this.kibanaIndex, - typeRegistry: this.typeRegistry, - logger: this.log, - documentMigrator: this.documentMigrator, - migrationConfig: this.soMigrationsConfig, - docLinks: this.docLinks, - serializer: this.serializer, - elasticsearchClient: this.client, - nodeRoles: this.nodeRoles, - }); - } - - private async runMigrationV2(): Promise { - const indexMap = createIndexMap({ - kibanaIndexName: this.kibanaIndex, - indexMap: this.mappingProperties, - registry: this.typeRegistry, - }); - - this.log.debug('Applying registered migrations for the following saved object types:'); - Object.entries(this.documentMigrator.getMigrationVersion()) - .sort(([t1, v1], [t2, v2]) => { - return Semver.compare(v1, v2); - }) - .forEach(([type, migrationVersion]) => { - this.log.debug(`migrationVersion: ${migrationVersion} saved object type: ${type}`); + return runV2Migration({ + kibanaVersion: this.kibanaVersion, + kibanaIndexPrefix: this.kibanaIndex, + typeRegistry: this.typeRegistry, + defaultIndexTypesMap: this.defaultIndexTypesMap, + logger: this.log, + documentMigrator: this.documentMigrator, + migrationConfig: this.soMigrationsConfig, + docLinks: this.docLinks, + serializer: this.serializer, + elasticsearchClient: this.client, + mappingProperties: this.mappingProperties, + waitForMigrationCompletion: this.waitForMigrationCompletion, }); - - // build a indexTypesMap from the info present in tye typeRegistry, e.g.: - // { - // '.kibana': ['typeA', 'typeB', ...] - // '.kibana_task_manager': ['task', ...] - // '.kibana_cases': ['typeC', 'typeD', ...] - // ... - // } - const indexTypesMap = indexMapToIndexTypesMap(indexMap); - - // compare indexTypesMap with the one present (or not) in the .kibana index meta - // and check if some SO types have been moved to different indices - const indicesWithMovingTypes = await getIndicesInvolvedInRelocation({ - mainIndex: this.kibanaIndex, - client: this.client, - indexTypesMap, - logger: this.log, - defaultIndexTypesMap: this.defaultIndexTypesMap, - }); - - // we create 2 synchronization objects (2 synchronization points) for each of the - // migrators involved in relocations, aka each of the migrators that will: - // A) reindex some documents TO other indices - // B) receive some documents FROM other indices - // C) both - const readyToReindexDefers = createMultiPromiseDefer(indicesWithMovingTypes); - const doneReindexingDefers = createMultiPromiseDefer(indicesWithMovingTypes); - - // build a list of all migrators that must be started - const migratorIndices = new Set(Object.keys(indexMap)); - // indices involved in a relocation might no longer be present in current mappings - // but if their SOs must be relocated to another index, we still need a migrator to do the job - indicesWithMovingTypes.forEach((index) => migratorIndices.add(index)); - - const migrators = Array.from(migratorIndices).map((indexName, i) => { - return { - migrate: (): Promise => { - const readyToReindex = readyToReindexDefers[indexName]; - const doneReindexing = doneReindexingDefers[indexName]; - // check if this migrator's index is involved in some document redistribution - const mustRelocateDocuments = !!readyToReindex; - - return runResilientMigrator({ - client: this.client, - kibanaVersion: this.kibanaVersion, - mustRelocateDocuments, - indexTypesMap, - waitForMigrationCompletion: this.waitForMigrationCompletion, - // a migrator's index might no longer have any associated types to it - targetMappings: buildActiveMappings(indexMap[indexName]?.typeMappings ?? {}), - logger: this.log, - preMigrationScript: indexMap[indexName]?.script, - readyToReindex, - doneReindexing, - transformRawDocs: (rawDocs: SavedObjectsRawDoc[]) => - migrateRawDocsSafely({ - serializer: this.serializer, - migrateDoc: this.documentMigrator.migrateAndConvert, - rawDocs, - }), - coreMigrationVersionPerType: this.documentMigrator.getMigrationVersion({ - includeDeferred: false, - migrationType: 'core', - }), - migrationVersionPerType: this.documentMigrator.getMigrationVersion({ - includeDeferred: false, - }), - indexPrefix: indexName, - migrationsConfig: this.soMigrationsConfig, - typeRegistry: this.typeRegistry, - docLinks: this.docLinks, - }); - }, - }; - }); - - return Promise.all(migrators.map((migrator) => migrator.migrate())); + } } public getActiveMappings(): IndexMapping { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts index e18abed5caca7..7a104108c2ecb 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts @@ -6,8 +6,6 @@ * Side Public License, v 1. */ -import type { IndexTypesMap } from '@kbn/core-saved-objects-base-server-internal'; - export enum TypeStatus { Added = 'added', Removed = 'removed', @@ -24,108 +22,3 @@ export interface TypeStatusDetails { // ensure plugins don't try to convert SO namespaceTypes after 8.0.0 // see https://github.com/elastic/kibana/issues/147344 export const ALLOWED_CONVERT_VERSION = '8.0.0'; - -export const DEFAULT_INDEX_TYPES_MAP: IndexTypesMap = { - '.kibana_task_manager': ['task'], - '.kibana': [ - 'action', - 'action_task_params', - 'alert', - 'api_key_pending_invalidation', - 'apm-indices', - 'apm-server-schema', - 'apm-service-group', - 'apm-telemetry', - 'app_search_telemetry', - 'application_usage_daily', - 'application_usage_totals', - 'book', - 'canvas-element', - 'canvas-workpad', - 'canvas-workpad-template', - 'cases', - 'cases-comments', - 'cases-configure', - 'cases-connector-mappings', - 'cases-telemetry', - 'cases-user-actions', - 'config', - 'config-global', - 'connector_token', - 'core-usage-stats', - 'csp-rule-template', - 'dashboard', - 'endpoint:user-artifact', - 'endpoint:user-artifact-manifest', - 'enterprise_search_telemetry', - 'epm-packages', - 'epm-packages-assets', - 'event_loop_delays_daily', - 'exception-list', - 'exception-list-agnostic', - 'file', - 'file-upload-usage-collection-telemetry', - 'fileShare', - 'fleet-fleet-server-host', - 'fleet-message-signing-keys', - 'fleet-preconfiguration-deletion-record', - 'fleet-proxy', - 'graph-workspace', - 'guided-onboarding-guide-state', - 'guided-onboarding-plugin-state', - 'index-pattern', - 'infrastructure-monitoring-log-view', - 'infrastructure-ui-source', - 'ingest-agent-policies', - 'ingest-download-sources', - 'ingest-outputs', - 'ingest-package-policies', - 'ingest_manager_settings', - 'inventory-view', - 'kql-telemetry', - 'legacy-url-alias', - 'lens', - 'lens-ui-telemetry', - 'map', - 'metrics-explorer-view', - 'ml-job', - 'ml-module', - 'ml-trained-model', - 'monitoring-telemetry', - 'osquery-manager-usage-metric', - 'osquery-pack', - 'osquery-pack-asset', - 'osquery-saved-query', - 'query', - 'rules-settings', - 'sample-data-telemetry', - 'search', - 'search-session', - 'search-telemetry', - 'searchableList', - 'security-rule', - 'security-solution-signals-migration', - 'siem-detection-engine-rule-actions', - 'siem-ui-timeline', - 'siem-ui-timeline-note', - 'siem-ui-timeline-pinned-event', - 'slo', - 'space', - 'spaces-usage-stats', - 'synthetics-monitor', - 'synthetics-param', - 'synthetics-privates-locations', - 'tag', - 'telemetry', - 'todo', - 'ui-metric', - 'upgrade-assistant-ml-upgrade-operation', - 'upgrade-assistant-reindex-operation', - 'uptime-dynamic-settings', - 'uptime-synthetics-api-key', - 'url', - 'usage-counters', - 'visualization', - 'workplace_search_telemetry', - ], -}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts index 802167d733fb5..9100f489bef42 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts @@ -3147,43 +3147,6 @@ export const INDEX_MAP_BEFORE_SPLIT: IndexMap = { }, }, }, - 'endpoint:user-artifact': { - properties: { - identifier: { - type: 'keyword', - }, - compressionAlgorithm: { - type: 'keyword', - index: false, - }, - encryptionAlgorithm: { - type: 'keyword', - index: false, - }, - encodedSha256: { - type: 'keyword', - }, - encodedSize: { - type: 'long', - index: false, - }, - decodedSha256: { - type: 'keyword', - index: false, - }, - decodedSize: { - type: 'long', - index: false, - }, - created: { - type: 'date', - index: false, - }, - body: { - type: 'binary', - }, - }, - }, 'endpoint:user-artifact-manifest': { properties: { created: { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts index 0698904c45d30..02eb3dcdaadc1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts @@ -9,10 +9,12 @@ import { errors } from '@elastic/elasticsearch'; import type { IndicesGetMappingResponse } from '@elastic/elasticsearch/lib/api/types'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; -import type { IndexTypesMap } from '@kbn/core-saved-objects-base-server-internal'; +import { + DEFAULT_INDEX_TYPES_MAP, + type IndexTypesMap, +} from '@kbn/core-saved-objects-base-server-internal'; import { MAIN_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; import { loggerMock } from '@kbn/logging-mocks'; -import { DEFAULT_INDEX_TYPES_MAP } from './kibana_migrator_constants'; import { calculateTypeStatuses, createMultiPromiseDefer, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts index 590ecd7b41c23..6390edd9b04cb 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts @@ -10,7 +10,10 @@ import { chain } from 'lodash'; import * as Either from 'fp-ts/lib/Either'; import * as Option from 'fp-ts/lib/Option'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; -import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; +import { + DEFAULT_INDEX_TYPES_MAP, + type IndexMapping, +} from '@kbn/core-saved-objects-base-server-internal'; import type { BaseState, CalculateExcludeFiltersState, @@ -60,7 +63,6 @@ import type { ResponseType } from '../next'; import { createInitialProgress } from './progress'; import { model } from './model'; import type { BulkIndexOperationTuple, BulkOperation } from './create_batches'; -import { DEFAULT_INDEX_TYPES_MAP } from '../kibana_migrator_constants'; describe('migrations v2 model', () => { const indexMapping: IndexMapping = { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts index 5d652f86c51f5..915fe58f6e448 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts @@ -124,7 +124,7 @@ export const model = (currentState: State, resW: ResponseType): const laterVersionAlias = hasLaterVersionAlias(stateP.kibanaVersion, aliases); if ( - // `.kibana_` alias exists, and refers to a later version of Kibana + // a `.kibana_` alias exist, which refers to a later version of Kibana // e.g. `.kibana_8.7.0` exists, and current stack version is 8.6.1 // see https://github.com/elastic/kibana/issues/155136 laterVersionAlias diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts new file mode 100644 index 0000000000000..c7a70296f35ba --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SavedObjectTypeRegistry } from '@kbn/core-saved-objects-base-server-internal'; +import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; + +export const createRegistry = (types: Array>) => { + const registry = new SavedObjectTypeRegistry(); + types.forEach((type) => + registry.registerType({ + name: 'unknown', + hidden: false, + namespaceType: 'single', + mappings: { + properties: { + name: { type: 'keyword' }, + }, + }, + migrations: {}, + ...type, + }) + ); + return registry; +}; + +export const indexTypesMapMock = { + '.my_index': ['testtype', 'testtype2'], + '.task_index': ['testtasktype'], + '.complementary_index': ['testtype3'], +}; + +export const savedObjectTypeRegistryMock = createRegistry([ + // typeRegistry depicts an updated index map: + // .my_index: ['testtype', 'testtype3'], + // .other_index: ['testtype2'], + // .task_index': ['testtasktype'], + { + name: 'testtype', + migrations: { '8.2.3': jest.fn().mockImplementation((doc) => doc) }, + }, + { + name: 'testtype2', + // We are moving 'testtype2' from '.my_index' to '.other_index' + indexPattern: '.other_index', + }, + { + name: 'testtasktype', + indexPattern: '.task_index', + }, + { + // We are moving 'testtype3' from '.complementary_index' to '.my_index' + name: 'testtype3', + }, +]); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts new file mode 100644 index 0000000000000..280b8fd08f6cf --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts @@ -0,0 +1,156 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import buffer from 'buffer'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import type { MigrationResult } from '@kbn/core-saved-objects-base-server-internal'; +import { createInitialState } from './initial_state'; +import { Defer } from './kibana_migrator_utils'; +import { migrationStateActionMachine } from './migrations_state_action_machine'; +import { next } from './next'; +import { runResilientMigrator, type RunResilientMigratorParams } from './run_resilient_migrator'; +import { indexTypesMapMock, savedObjectTypeRegistryMock } from './run_resilient_migrator.fixtures'; +import type { InitState, State } from './state'; +import type { Next } from './state_action_machine'; + +const SOME_MIGRATION_RESULT: MigrationResult = { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 16, + status: 'migrated', +}; + +jest.mock('./migrations_state_action_machine', () => { + const actual = jest.requireActual('./migrations_state_action_machine'); + return { + ...actual, + migrationStateActionMachine: jest.fn(() => Promise.resolve(SOME_MIGRATION_RESULT)), + }; +}); + +jest.mock('./initial_state', () => { + const actual = jest.requireActual('./initial_state'); + return { + ...actual, + createInitialState: jest.fn(actual.createInitialState), + }; +}); + +jest.mock('./next', () => { + const actual = jest.requireActual('./next'); + return { + ...actual, + next: jest.fn(actual.next), + }; +}); + +describe('runResilientMigrator', () => { + let options: RunResilientMigratorParams; + let initialState: InitState; + let migrationResult: MigrationResult; + let nextFunc: Next; + + beforeAll(async () => { + options = mockOptions(); + migrationResult = await runResilientMigrator(options); + }); + + it('calls createInitialState with the right params', () => { + expect(createInitialState).toHaveBeenCalledTimes(1); + expect(createInitialState).toHaveBeenCalledWith({ + kibanaVersion: options.kibanaVersion, + waitForMigrationCompletion: options.waitForMigrationCompletion, + mustRelocateDocuments: options.mustRelocateDocuments, + indexTypesMap: options.indexTypesMap, + targetMappings: options.targetMappings, + preMigrationScript: options.preMigrationScript, + migrationVersionPerType: options.migrationVersionPerType, + coreMigrationVersionPerType: options.coreMigrationVersionPerType, + indexPrefix: options.indexPrefix, + migrationsConfig: options.migrationsConfig, + typeRegistry: options.typeRegistry, + docLinks: options.docLinks, + logger: options.logger, + }); + + // store the created initial state + initialState = (createInitialState as jest.MockedFunction).mock + .results[0].value; + + // store the generated "next" function + nextFunc = (next as jest.MockedFunction).mock.results[0].value; + }); + + it('calls migrationStateMachine with the right params', () => { + expect(migrationStateActionMachine).toHaveBeenCalledTimes(1); + expect(migrationStateActionMachine).toHaveBeenCalledWith({ + initialState, + logger: options.logger, + next: nextFunc, + model: expect.any(Function), + abort: expect.any(Function), + }); + }); + + it('returns the result of migrationStateMachine', () => { + expect(migrationResult).toEqual(SOME_MIGRATION_RESULT); + }); +}); + +const mockOptions = (): RunResilientMigratorParams => { + const logger = loggingSystemMock.create().get(); + const mockedClient = elasticsearchClientMock.createElasticsearchClient(); + (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); + + return { + client: mockedClient, + kibanaVersion: '8.8.0', + waitForMigrationCompletion: false, + mustRelocateDocuments: true, + indexTypesMap: indexTypesMapMock, + targetMappings: { + properties: { + a: { type: 'keyword' }, + c: { type: 'long' }, + }, + _meta: { + migrationMappingPropertyHashes: { + a: '000', + c: '222', + }, + }, + }, + readyToReindex: new Defer(), + doneReindexing: new Defer(), + logger, + transformRawDocs: jest.fn(), + preMigrationScript: "ctx._id = ctx._source.type + ':' + ctx._id", + migrationVersionPerType: { my_dashboard: '7.10.1', my_viz: '8.0.0' }, + coreMigrationVersionPerType: {}, + indexPrefix: '.my_index', + migrationsConfig: { + algorithm: 'v2' as const, + batchSize: 20, + maxBatchSizeBytes: ByteSizeValue.parse('20mb'), + maxReadBatchSizeBytes: new ByteSizeValue(buffer.constants.MAX_STRING_LENGTH), + pollInterval: 20000, + scrollDuration: '10m', + skip: false, + retryAttempts: 20, + zdt: { + metaPickupSyncDelaySec: 120, + runOnNonMigratorNodes: true, + }, + }, + typeRegistry: savedObjectTypeRegistryMock, + docLinks: docLinksServiceMock.createSetupContract(), + }; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts index 4438847890b54..88f6f57578492 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts @@ -40,6 +40,26 @@ import type { State } from './state'; */ export const MIGRATION_CLIENT_OPTIONS = { maxRetries: 0, requestTimeout: 120_000 }; +export interface RunResilientMigratorParams { + client: ElasticsearchClient; + kibanaVersion: string; + waitForMigrationCompletion: boolean; + mustRelocateDocuments: boolean; + indexTypesMap: IndexTypesMap; + targetMappings: IndexMapping; + preMigrationScript?: string; + readyToReindex: Defer; + doneReindexing: Defer; + logger: Logger; + transformRawDocs: TransformRawDocs; + coreMigrationVersionPerType: SavedObjectsMigrationVersion; + migrationVersionPerType: SavedObjectsMigrationVersion; + indexPrefix: string; + migrationsConfig: SavedObjectsMigrationConfigType; + typeRegistry: ISavedObjectTypeRegistry; + docLinks: DocLinksServiceStart; +} + /** * Migrates the provided indexPrefix index using a resilient algorithm that is * completely lock-free so that any failure can always be retried by @@ -63,25 +83,7 @@ export async function runResilientMigrator({ migrationsConfig, typeRegistry, docLinks, -}: { - client: ElasticsearchClient; - kibanaVersion: string; - waitForMigrationCompletion: boolean; - mustRelocateDocuments: boolean; - indexTypesMap: IndexTypesMap; - targetMappings: IndexMapping; - preMigrationScript?: string; - readyToReindex: Defer; - doneReindexing: Defer; - logger: Logger; - transformRawDocs: TransformRawDocs; - coreMigrationVersionPerType: SavedObjectsMigrationVersion; - migrationVersionPerType: SavedObjectsMigrationVersion; - indexPrefix: string; - migrationsConfig: SavedObjectsMigrationConfigType; - typeRegistry: ISavedObjectTypeRegistry; - docLinks: DocLinksServiceStart; -}): Promise { +}: RunResilientMigratorParams): Promise { const initialState = createInitialState({ kibanaVersion, waitForMigrationCompletion, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts new file mode 100644 index 0000000000000..22d62307aacf8 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts @@ -0,0 +1,273 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import buffer from 'buffer'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { + type MigrationResult, + SavedObjectsSerializer, +} from '@kbn/core-saved-objects-base-server-internal'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; +import { runV2Migration, RunV2MigrationOpts } from './run_v2_migration'; +import { DocumentMigrator } from './document_migrator'; +import { ALLOWED_CONVERT_VERSION } from './kibana_migrator_constants'; +import { buildTypesMappings, createIndexMap } from './core'; +import { + getIndicesInvolvedInRelocation, + indexMapToIndexTypesMap, + createMultiPromiseDefer, + Defer, +} from './kibana_migrator_utils'; +import { runResilientMigrator } from './run_resilient_migrator'; +import { indexTypesMapMock, savedObjectTypeRegistryMock } from './run_resilient_migrator.fixtures'; + +jest.mock('./core', () => { + const actual = jest.requireActual('./core'); + return { + ...actual, + createIndexMap: jest.fn(actual.createIndexMap), + }; +}); + +jest.mock('./kibana_migrator_utils', () => { + const actual = jest.requireActual('./kibana_migrator_utils'); + return { + ...actual, + indexMapToIndexTypesMap: jest.fn(actual.indexMapToIndexTypesMap), + createMultiPromiseDefer: jest.fn(actual.createMultiPromiseDefer), + getIndicesInvolvedInRelocation: jest.fn(() => Promise.resolve(['.my_index', '.other_index'])), + }; +}); + +const V2_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 16, + status: 'migrated', + }, + { + sourceIndex: '.other_index_pre8.2.3_001', + destIndex: '.other_index_8.2.3_001', + elapsedMs: 8, + status: 'migrated', + }, + { + destIndex: '.task_index_8.2.3_001', + elapsedMs: 4, + status: 'patched', + }, +]; + +jest.mock('./run_resilient_migrator', () => { + const actual = jest.requireActual('./run_resilient_migrator'); + return { + ...actual, + runResilientMigrator: jest.fn(() => Promise.resolve(V2_SUCCESSFUL_MIGRATION_RESULT)), + }; +}); + +const nextTick = () => new Promise((resolve) => setImmediate(resolve)); +const mockCreateIndexMap = createIndexMap as jest.MockedFunction; +const mockIndexMapToIndexTypesMap = indexMapToIndexTypesMap as jest.MockedFunction< + typeof indexMapToIndexTypesMap +>; +const mockCreateMultiPromiseDefer = createMultiPromiseDefer as jest.MockedFunction< + typeof createMultiPromiseDefer +>; +const mockGetIndicesInvolvedInRelocation = getIndicesInvolvedInRelocation as jest.MockedFunction< + typeof getIndicesInvolvedInRelocation +>; +const mockRunResilientMigrator = runResilientMigrator as jest.MockedFunction< + typeof runResilientMigrator +>; + +describe('runV2Migration', () => { + beforeEach(() => { + mockCreateIndexMap.mockClear(); + mockIndexMapToIndexTypesMap.mockClear(); + mockCreateMultiPromiseDefer.mockClear(); + mockGetIndicesInvolvedInRelocation.mockClear(); + mockRunResilientMigrator.mockClear(); + }); + + it('rejects if prepare migrations has not been called on the documentMigrator', async () => { + const options = mockOptions(); + await expect(runV2Migration(options)).rejects.toEqual( + new Error('Migrations are not ready. Make sure prepareMigrations is called first.') + ); + }); + + it('calls createIndexMap with the right params', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(createIndexMap).toBeCalledTimes(1); + expect(createIndexMap).toBeCalledWith({ + kibanaIndexName: options.kibanaIndexPrefix, + indexMap: options.mappingProperties, + registry: options.typeRegistry, + }); + }); + + it('calls indexMapToIndexTypesMap with the result from createIndexMap', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(indexMapToIndexTypesMap).toBeCalledTimes(1); + expect(indexMapToIndexTypesMap).toBeCalledWith(mockCreateIndexMap.mock.results[0].value); + }); + + it('calls getIndicesInvolvedInRelocation with the right params', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(getIndicesInvolvedInRelocation).toBeCalledTimes(1); + expect(getIndicesInvolvedInRelocation).toBeCalledWith( + expect.objectContaining({ + client: options.elasticsearchClient, + indexTypesMap: mockIndexMapToIndexTypesMap.mock.results[0].value, + logger: options.logger, + }) + ); + }); + + it('calls createMultiPromiseDefer, with the list of moving indices', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(createMultiPromiseDefer).toBeCalledTimes(2); + expect(createMultiPromiseDefer).toHaveBeenNthCalledWith(1, ['.my_index', '.other_index']); + expect(createMultiPromiseDefer).toHaveBeenNthCalledWith(2, ['.my_index', '.other_index']); + }); + + it('calls runResilientMigrator for each migrator it must spawn', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(runResilientMigrator).toHaveBeenCalledTimes(3); + const runResilientMigratorCommonParams = { + client: options.elasticsearchClient, + kibanaVersion: options.kibanaVersion, + logger: options.logger, + migrationsConfig: options.migrationConfig, + typeRegistry: options.typeRegistry, + }; + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.my_index', + mustRelocateDocuments: true, + readyToReindex: expect.any(Object), + doneReindexing: expect.any(Object), + }) + ); + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.other_index', + mustRelocateDocuments: true, + readyToReindex: expect.any(Object), + doneReindexing: expect.any(Object), + }) + ); + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 3, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.task_index', + mustRelocateDocuments: false, + readyToReindex: undefined, + doneReindexing: undefined, + }) + ); + }); + + it('awaits on all runResilientMigrator promises, and resolves with the results of each of them', async () => { + const myIndexMigratorDefer = new Defer(); + const otherIndexMigratorDefer = new Defer(); + const taskIndexMigratorDefer = new Defer(); + let migrationResults: MigrationResult[] | undefined; + + mockRunResilientMigrator.mockReturnValueOnce(myIndexMigratorDefer.promise); + mockRunResilientMigrator.mockReturnValueOnce(otherIndexMigratorDefer.promise); + mockRunResilientMigrator.mockReturnValueOnce(taskIndexMigratorDefer.promise); + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + + runV2Migration(options).then((results) => (migrationResults = results)); + await nextTick(); + expect(migrationResults).toBeUndefined(); + myIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[0]); + otherIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[1]); + await nextTick(); + expect(migrationResults).toBeUndefined(); + taskIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[2]); + await nextTick(); + expect(migrationResults).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); + }); + + it('rejects if one of the runResilientMigrator promises rejects', async () => { + mockRunResilientMigrator.mockResolvedValueOnce(V2_SUCCESSFUL_MIGRATION_RESULT[0]); + mockRunResilientMigrator.mockResolvedValueOnce(V2_SUCCESSFUL_MIGRATION_RESULT[1]); + const myTaskIndexMigratorError = new Error( + 'Something terrible and unexpected happened whilst tyring to migrate .task_index' + ); + mockRunResilientMigrator.mockRejectedValueOnce(myTaskIndexMigratorError); + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + + await expect(runV2Migration(options)).rejects.toThrowError(myTaskIndexMigratorError); + }); +}); + +const mockOptions = (kibanaVersion = '8.2.3'): RunV2MigrationOpts => { + const mockedClient = elasticsearchClientMock.createElasticsearchClient(); + (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); + + const typeRegistry = savedObjectTypeRegistryMock; + + const logger = loggingSystemMock.create().get(); + + return { + logger, + kibanaVersion, + waitForMigrationCompletion: false, + typeRegistry, + kibanaIndexPrefix: '.my_index', + defaultIndexTypesMap: indexTypesMapMock, + migrationConfig: { + algorithm: 'v2' as const, + batchSize: 20, + maxBatchSizeBytes: ByteSizeValue.parse('20mb'), + maxReadBatchSizeBytes: new ByteSizeValue(buffer.constants.MAX_STRING_LENGTH), + pollInterval: 20000, + scrollDuration: '10m', + skip: false, + retryAttempts: 20, + zdt: { + metaPickupSyncDelaySec: 120, + runOnNonMigratorNodes: true, + }, + }, + elasticsearchClient: mockedClient, + docLinks: docLinksServiceMock.createSetupContract(), + documentMigrator: new DocumentMigrator({ + kibanaVersion, + convertVersion: ALLOWED_CONVERT_VERSION, + typeRegistry, + log: logger, + }), + serializer: new SavedObjectsSerializer(typeRegistry), + mappingProperties: buildTypesMappings(typeRegistry.getAllTypes()), + }; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts new file mode 100644 index 0000000000000..c50a3c6997598 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts @@ -0,0 +1,153 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Logger } from '@kbn/logging'; +import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ISavedObjectTypeRegistry, + ISavedObjectsSerializer, + SavedObjectsRawDoc, +} from '@kbn/core-saved-objects-server'; +import type { + IndexTypesMap, + MigrationResult, + SavedObjectsMigrationConfigType, + SavedObjectsTypeMappingDefinitions, +} from '@kbn/core-saved-objects-base-server-internal'; +import Semver from 'semver'; +import type { DocumentMigrator } from './document_migrator'; +import { buildActiveMappings, createIndexMap } from './core'; +import { + createMultiPromiseDefer, + getIndicesInvolvedInRelocation, + indexMapToIndexTypesMap, +} from './kibana_migrator_utils'; +import { runResilientMigrator } from './run_resilient_migrator'; +import { migrateRawDocsSafely } from './core/migrate_raw_docs'; + +export interface RunV2MigrationOpts { + /** The current Kibana version */ + kibanaVersion: string; + /** The default Kibana SavedObjects index prefix. e.g `.kibana` */ + kibanaIndexPrefix: string; + /** The SO type registry to use for the migration */ + typeRegistry: ISavedObjectTypeRegistry; + /** The map of indices => types to use as a default / baseline state */ + defaultIndexTypesMap: IndexTypesMap; + /** Logger to use for migration output */ + logger: Logger; + /** The document migrator to use to convert the document */ + documentMigrator: DocumentMigrator; + /** docLinks contract to use to link to documentation */ + docLinks: DocLinksServiceStart; + /** SO serializer to use for migration */ + serializer: ISavedObjectsSerializer; + /** The client to use for communications with ES */ + elasticsearchClient: ElasticsearchClient; + /** The configuration that drives the behavior of each migrator */ + migrationConfig: SavedObjectsMigrationConfigType; + /** The definitions of the different saved object types */ + mappingProperties: SavedObjectsTypeMappingDefinitions; + /** Tells whether this instance should actively participate in the migration or not */ + waitForMigrationCompletion: boolean; +} + +export const runV2Migration = async (options: RunV2MigrationOpts): Promise => { + const indexMap = createIndexMap({ + kibanaIndexName: options.kibanaIndexPrefix, + indexMap: options.mappingProperties, + registry: options.typeRegistry, + }); + + options.logger.debug('Applying registered migrations for the following saved object types:'); + Object.entries(options.documentMigrator.getMigrationVersion()) + .sort(([t1, v1], [t2, v2]) => { + return Semver.compare(v1, v2); + }) + .forEach(([type, migrationVersion]) => { + options.logger.debug(`migrationVersion: ${migrationVersion} saved object type: ${type}`); + }); + + // build a indexTypesMap from the info present in tye typeRegistry, e.g.: + // { + // '.kibana': ['typeA', 'typeB', ...] + // '.kibana_task_manager': ['task', ...] + // '.kibana_cases': ['typeC', 'typeD', ...] + // ... + // } + const indexTypesMap = indexMapToIndexTypesMap(indexMap); + + // compare indexTypesMap with the one present (or not) in the .kibana index meta + // and check if some SO types have been moved to different indices + const indicesWithMovingTypes = await getIndicesInvolvedInRelocation({ + mainIndex: options.kibanaIndexPrefix, + client: options.elasticsearchClient, + indexTypesMap, + logger: options.logger, + defaultIndexTypesMap: options.defaultIndexTypesMap, + }); + + // we create 2 synchronization objects (2 synchronization points) for each of the + // migrators involved in relocations, aka each of the migrators that will: + // A) reindex some documents TO other indices + // B) receive some documents FROM other indices + // C) both + const readyToReindexDefers = createMultiPromiseDefer(indicesWithMovingTypes); + const doneReindexingDefers = createMultiPromiseDefer(indicesWithMovingTypes); + + // build a list of all migrators that must be started + const migratorIndices = new Set(Object.keys(indexMap)); + // indices involved in a relocation might no longer be present in current mappings + // but if their SOs must be relocated to another index, we still need a migrator to do the job + indicesWithMovingTypes.forEach((index) => migratorIndices.add(index)); + + const migrators = Array.from(migratorIndices).map((indexName, i) => { + return { + migrate: (): Promise => { + const readyToReindex = readyToReindexDefers[indexName]; + const doneReindexing = doneReindexingDefers[indexName]; + // check if this migrator's index is involved in some document redistribution + const mustRelocateDocuments = !!readyToReindex; + + return runResilientMigrator({ + client: options.elasticsearchClient, + kibanaVersion: options.kibanaVersion, + mustRelocateDocuments, + indexTypesMap, + waitForMigrationCompletion: options.waitForMigrationCompletion, + // a migrator's index might no longer have any associated types to it + targetMappings: buildActiveMappings(indexMap[indexName]?.typeMappings ?? {}), + logger: options.logger, + preMigrationScript: indexMap[indexName]?.script, + readyToReindex, + doneReindexing, + transformRawDocs: (rawDocs: SavedObjectsRawDoc[]) => + migrateRawDocsSafely({ + serializer: options.serializer, + migrateDoc: options.documentMigrator.migrateAndConvert, + rawDocs, + }), + coreMigrationVersionPerType: options.documentMigrator.getMigrationVersion({ + includeDeferred: false, + migrationType: 'core', + }), + migrationVersionPerType: options.documentMigrator.getMigrationVersion({ + includeDeferred: false, + }), + indexPrefix: indexName, + migrationsConfig: options.migrationConfig, + typeRegistry: options.typeRegistry, + docLinks: options.docLinks, + }); + }, + }; + }); + + return Promise.all(migrators.map((migrator) => migrator.migrate())); +}; diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts index d73073d131084..51f7f29e9683a 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts @@ -38,6 +38,7 @@ import { type SavedObjectsConfigType, type SavedObjectsMigrationConfigType, type IKibanaMigrator, + DEFAULT_INDEX_TYPES_MAP, } from '@kbn/core-saved-objects-base-server-internal'; import { SavedObjectsClient, @@ -376,6 +377,7 @@ export class SavedObjectsService kibanaVersion: this.kibanaVersion, soMigrationsConfig, kibanaIndex: MAIN_SAVED_OBJECT_INDEX, + defaultIndexTypesMap: DEFAULT_INDEX_TYPES_MAP, client, docLinks, waitForMigrationCompletion, diff --git a/packages/core/saved-objects/core-saved-objects-server/index.ts b/packages/core/saved-objects/core-saved-objects-server/index.ts index be67c64f9b7ce..53d01003357c1 100644 --- a/packages/core/saved-objects/core-saved-objects-server/index.ts +++ b/packages/core/saved-objects/core-saved-objects-server/index.ts @@ -136,6 +136,7 @@ export type { SavedObjectModelDataBackfillFn, SavedObjectsModelVersionSchemaDefinitions, SavedObjectModelVersionForwardCompatibilityFn, + SavedObjectModelVersionForwardCompatibilityObjectSchema, SavedObjectModelVersionForwardCompatibilitySchema, } from './src/model_version'; diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts index 8bf11ca83067a..ec864bf158ca1 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts @@ -31,5 +31,6 @@ export type { export type { SavedObjectsModelVersionSchemaDefinitions, SavedObjectModelVersionForwardCompatibilitySchema, + SavedObjectModelVersionForwardCompatibilityObjectSchema, SavedObjectModelVersionForwardCompatibilityFn, } from './schemas'; diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts index fb18ac9035b86..fb4745929ae30 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts @@ -27,6 +27,21 @@ export type SavedObjectsModelChange = /** * A {@link SavedObjectsModelChange | model change} adding new mappings. * + * @example + * ```ts + * let change: SavedObjectsModelMappingsAdditionChange = { + * type: 'mappings_addition', + * addedMappings: { + * newField: { type: 'text' }, + * existingNestedField: { + * properties: { + * newNestedProp: { type: 'keyword' }, + * }, + * }, + * }, + * }; + * ``` + * * @remark when adding mappings, {@link SavedObjectsType.mappings | the type mappings} must also be updated accordingly. * Overall, the type's mapping represents the latest version of the mappings, where the model changes * represent the changes of mappings between two versions. @@ -42,8 +57,17 @@ export interface SavedObjectsModelMappingsAdditionChange { } /** - * A {@link SavedObjectsModelChange | model change} flagging mappings as being deprecated. - * Deprecated mappings should no longer be used and will eventually be deleted later. + * A {@link SavedObjectsModelChange | model change} flagging mappings as being no longer used. + * + * @example + * ```ts + * let change: SavedObjectsModelMappingsDeprecationChange = { + * type: 'mappings_deprecation', + * deprecatedMappings: ['someDeprecatedField', 'someNested.deprecatedField'], + * }; + * ``` + * + * @remark Deprecated mappings will eventually be deleted later. */ export interface SavedObjectsModelMappingsDeprecationChange { type: 'mappings_deprecation'; @@ -56,6 +80,17 @@ export interface SavedObjectsModelMappingsDeprecationChange { /** * A {@link SavedObjectsModelChange | model change} used to backfill fields introduced in the same model version. * + * @example + * ``` + * let change: SavedObjectsModelDataBackfillChange = { + * type: 'data_backfill', + * transform: (document) => { + * document.attributes.someAddedField = 'defaultValue'; + * return { document }; + * }, + * }; + * ``` + * * @remark This type of model change should only be used to backfill newly introduced fields. * Even if no check is performed to ensure that, using such transformations to mutate * existing data of the document can lead to data corruption or inconsistency. diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts index 2b8bde3c8e5b6..49107f8ea6190 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts @@ -19,7 +19,34 @@ import type { SavedObjectsModelChange } from './model_change'; */ export interface SavedObjectsModelVersion { /** - * The list of {@link SavedObjectsModelChange | changes} associated with this version. + * The list of changes associated with this version. + * + * Model version changes are defined via low-level components, allowing to use composition + * to describe the list of changes bound to a given version. Composition also allows to more + * easily merge changes from multiple source when needed. + * + * @example Adding a new indexed field with a default value + * ```ts + * const version1: SavedObjectsModelVersion = { + * changes: [ + * { + * type: 'mappings_addition', + * addedMappings: { + * someNewField: { type: 'text' }, + * }, + * }, + * { + * type: 'data_backfill', + * transform: (doc) => { + * doc.attributes.someNewField = 'some default value'; + * return { document: doc }; + * }, + * }, + * ], + * }; + * ``` + * + * See {@link SavedObjectsModelChange | changes} for more information and examples. */ changes: SavedObjectsModelChange[]; /** @@ -37,9 +64,9 @@ export interface SavedObjectsModelVersion { * @example * ```typescript * const modelVersionMap: SavedObjectsModelVersionMap = { - * '1': modelVersion1, - * '2': modelVersion2, - * '3': modelVersion3, + * 1: modelVersion1, + * 2: modelVersion2, + * 3: modelVersion3, * } * ``` * diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts index 6ced7b04b5518..bfcc76de5d4fe 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts @@ -9,7 +9,7 @@ import type { ObjectType } from '@kbn/config-schema'; /** - * The schemas associated with this model version. + * The validation and conversion schemas associated with this model version. * * @public */ @@ -31,14 +31,6 @@ export interface SavedObjectsModelVersionSchemaDefinitions { forwardCompatibility?: SavedObjectModelVersionForwardCompatibilitySchema; } -/** - * Plain javascript function alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema} - * @public - */ -export type SavedObjectModelVersionForwardCompatibilityFn = ( - attributes: InAttrs -) => OutAttrs; - /** * Schema used when retrieving a document of a higher version to convert them to the older version. * @@ -46,7 +38,7 @@ export type SavedObjectModelVersionForwardCompatibilityFn = ObjectType | SavedObjectModelVersionForwardCompatibilityFn; +> = + | SavedObjectModelVersionForwardCompatibilityObjectSchema + | SavedObjectModelVersionForwardCompatibilityFn; + +/** + * Object-schema (from `@kbn/config-schema`) alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema} + * + * @example + * ```ts + * const versionSchema = schema.object( + * { + * someField: schema.maybe(schema.string()), + * anotherField: schema.maybe(schema.string()), + * }, + * { unknowns: 'ignore' } + * ); + * ``` + * @public + */ +export type SavedObjectModelVersionForwardCompatibilityObjectSchema = ObjectType; + +/** + * Plain javascript function alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema} + * + * @example + * ```ts + * const versionSchema: SavedObjectModelVersionForwardCompatibilityFn = (attributes) => { + * const knownFields = ['someField', 'anotherField']; + * return pick(attributes, knownFields); + * } + * ``` + * @public + */ +export type SavedObjectModelVersionForwardCompatibilityFn = ( + attributes: InAttrs +) => OutAttrs; diff --git a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts index b9fa8e6365114..716b31406649c 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts @@ -20,6 +20,8 @@ import type { } from './model_version'; /** + * Definition of a type of savedObject. + * * @public */ export interface SavedObjectsType { @@ -142,9 +144,9 @@ export interface SavedObjectsType { * Model versioning is decoupled from Kibana versioning, and isolated between types. * Model versions are identified by a single numeric value, starting at `1` and without gaps. * - * Please refer to {@link SavedObjectsModelVersion} for details on the API's usages. + * Please refer to {@link SavedObjectsModelVersion} for more details on the model version API. * - * A **valid** versioning would be: + * @example A **valid** versioning would be: * * ```ts * { @@ -158,7 +160,7 @@ export interface SavedObjectsType { * } * ``` * - * A **invalid** versioning would be: + * @example An **invalid** versioning would be: * * ```ts * { @@ -171,8 +173,6 @@ export interface SavedObjectsType { * } * } * ``` - * - * @alpha experimental and subject to change. */ modelVersions?: SavedObjectsModelVersionMap | SavedObjectsModelVersionMapProvider; @@ -184,9 +184,9 @@ export interface SavedObjectsType { * When specified, the type will switch from using the {@link SavedObjectsType.migrations | legacy migration API} * to use the {@link SavedObjectsType.modelVersions | modelVersion API} after the specified version. * - * When opted in, it will no longer be possible to use the legacy migration API after the specified version. + * Once opted in, it will no longer be possible to use the legacy migration API after the specified version. * - * A **valid** usage example would be: + * @example A **valid** usage example would be: * * ```ts * { @@ -203,7 +203,7 @@ export interface SavedObjectsType { * } * ``` * - * An **invalid** usage example would be: + * @example An **invalid** usage example would be: * * ```ts * { @@ -224,8 +224,8 @@ export interface SavedObjectsType { * Please refer to the {@link SavedObjectsType.modelVersions | modelVersion API} for more documentation on * the new API. * - * @remarks All types will be forced to switch to use the new API in a later version. This switch is - * allowing types owners to switch their types before the milestone. + * @remarks All types will be forced to switch to use the new API during `8.10.0`. This switch is + * allowing types owners to switch their types before the milestone (and for testing purposes). */ switchToModelVersionAt?: string; } diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json index 60a3e7bcd2646..8196478232792 100644 --- a/packages/kbn-check-mappings-update-cli/current_mappings.json +++ b/packages/kbn-check-mappings-update-cli/current_mappings.json @@ -931,6 +931,17 @@ } } }, + "event-annotation-group": { + "dynamic": false, + "properties": { + "title": { + "type": "text" + }, + "description": { + "type": "text" + } + } + }, "visualization": { "dynamic": false, "properties": { diff --git a/packages/kbn-docs-utils/src/build_api_docs_cli.ts b/packages/kbn-docs-utils/src/build_api_docs_cli.ts index c5db0718927ca..c771ebd743b40 100644 --- a/packages/kbn-docs-utils/src/build_api_docs_cli.ts +++ b/packages/kbn-docs-utils/src/build_api_docs_cli.ts @@ -10,11 +10,14 @@ import Fs from 'fs'; import Fsp from 'fs/promises'; import Path from 'path'; +import apm, { type Transaction } from 'elastic-apm-node'; +import { Project } from 'ts-morph'; + import { run } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; import { REPO_ROOT } from '@kbn/repo-info'; -import { Project } from 'ts-morph'; +import { initApm } from '@kbn/apm-config-loader'; import { writePluginDocs } from './mdx/write_plugin_mdx_docs'; import { ApiDeclaration, ApiStats, PluginMetaInfo } from './types'; @@ -35,9 +38,23 @@ function isStringArray(arr: unknown | string[]): arr is string[] { return Array.isArray(arr) && arr.every((p) => typeof p === 'string'); } +const rootDir = Path.join(__dirname, '../../..'); +initApm(process.argv, rootDir, false, 'build_api_docs_cli'); + +async function endTransactionWithFailure(transaction: Transaction | null) { + if (transaction !== null) { + transaction.setOutcome('failure'); + transaction.end(); + await apm.flush(); + } +} + export function runBuildApiDocsCli() { run( async ({ log, flags }) => { + const transaction = apm.startTransaction('build-api-docs', 'kibana-cli'); + const spanSetup = transaction?.startSpan('build_api_docs.setup', 'setup'); + const collectReferences = flags.references as boolean; const stats = flags.stats && typeof flags.stats === 'string' ? [flags.stats] : flags.stats; const pluginFilter = @@ -46,6 +63,7 @@ export function runBuildApiDocsCli() { : (flags.plugin as string[] | undefined); if (pluginFilter && !isStringArray(pluginFilter)) { + await endTransactionWithFailure(transaction); throw createFlagError('expected --plugin must only contain strings'); } @@ -55,6 +73,7 @@ export function runBuildApiDocsCli() { stats.find((s) => s !== 'any' && s !== 'comments' && s !== 'exports')) || (stats && !isStringArray(stats)) ) { + await endTransactionWithFailure(transaction); throw createFlagError( 'expected --stats must only contain `any`, `comments` and/or `exports`' ); @@ -62,14 +81,45 @@ export function runBuildApiDocsCli() { const outputFolder = Path.resolve(REPO_ROOT, 'api_docs'); + spanSetup?.end(); + const spanInitialDocIds = transaction?.startSpan('build_api_docs.initialDocIds', 'setup'); + const initialDocIds = !pluginFilter && Fs.existsSync(outputFolder) ? await getAllDocFileIds(outputFolder) : undefined; - const project = getTsProject(REPO_ROOT); + spanInitialDocIds?.end(); + const spanPlugins = transaction?.startSpan('build_api_docs.findPlugins', 'setup'); + + const plugins = findPlugins(stats && pluginFilter ? pluginFilter : undefined); + + if (stats && Array.isArray(pluginFilter) && pluginFilter.length !== plugins.length) { + await endTransactionWithFailure(transaction); + throw createFlagError('expected --plugin was not found'); + } + + spanPlugins?.end(); + + const spanPathsByPackage = transaction?.startSpan( + 'build_api_docs.getPathsByPackage', + 'setup' + ); + + const pathsByPlugin = await getPathsByPackage(plugins); + + spanPathsByPackage?.end(); + + const spanProject = transaction?.startSpan('build_api_docs.getTsProject', 'setup'); + + const project = getTsProject( + REPO_ROOT, + stats && pluginFilter && plugins.length === 1 ? plugins[0].directory : undefined + ); - const plugins = findPlugins(); + spanProject?.end(); + + const spanFolders = transaction?.startSpan('build_api_docs.check-folders', 'setup'); // if the output folder already exists, and we don't have a plugin filter, delete all the files in the output folder if (Fs.existsSync(outputFolder) && !pluginFilter) { @@ -81,6 +131,9 @@ export function runBuildApiDocsCli() { await Fsp.mkdir(outputFolder, { recursive: true }); } + spanFolders?.end(); + const spanPluginApiMap = transaction?.startSpan('build_api_docs.getPluginApiMap', 'setup'); + const { pluginApiMap, missingApiItems, @@ -89,12 +142,23 @@ export function runBuildApiDocsCli() { adoptionTrackedAPIs, } = getPluginApiMap(project, plugins, log, { collectReferences, pluginFilter }); + spanPluginApiMap?.end(); + const reporter = CiStatsReporter.fromEnv(log); - const pathsByPlugin = await getPathsByPackage(plugins); const allPluginStats: { [key: string]: PluginMetaInfo & ApiStats & EslintDisableCounts } = {}; for (const plugin of plugins) { const id = plugin.id; + + if (stats && pluginFilter && !pluginFilter.includes(plugin.id)) { + continue; + } + + const spanApiStatsForPlugin = transaction?.startSpan( + `build_api_docs.collectApiStatsForPlugin-${id}`, + 'stats' + ); + const pluginApi = pluginApiMap[id]; const paths = pathsByPlugin.get(plugin) ?? []; @@ -110,9 +174,20 @@ export function runBuildApiDocsCli() { description: plugin.manifest.description, isPlugin: plugin.isPlugin, }; + + spanApiStatsForPlugin?.end(); } - await writePluginDirectoryDoc(outputFolder, pluginApiMap, allPluginStats, log); + if (!stats) { + const spanWritePluginDirectoryDoc = transaction?.startSpan( + 'build_api_docs.writePluginDirectoryDoc', + 'write' + ); + + await writePluginDirectoryDoc(outputFolder, pluginApiMap, allPluginStats, log); + + spanWritePluginDirectoryDoc?.end(); + } for (const plugin of plugins) { // Note that the filtering is done here, and not above because the entire public plugin API has to @@ -127,6 +202,11 @@ export function runBuildApiDocsCli() { const pluginStats = allPluginStats[id]; const pluginTeam = plugin.manifest.owner.name; + const spanMetrics = transaction?.startSpan( + `build_api_docs.collectApiStatsForPlugin-${id}`, + 'stats' + ); + reporter.metrics([ { id, @@ -283,20 +363,56 @@ export function runBuildApiDocsCli() { } } - if (pluginStats.apiCount > 0) { - log.info(`Writing public API doc for plugin ${pluginApi.id}.`); - await writePluginDocs(outputFolder, { doc: pluginApi, plugin, pluginStats, log }); - } else { - log.info(`Plugin ${pluginApi.id} has no public API.`); + spanMetrics?.end(); + + if (!stats) { + if (pluginStats.apiCount > 0) { + log.info(`Writing public API doc for plugin ${pluginApi.id}.`); + + const spanWritePluginDocs = transaction?.startSpan( + 'build_api_docs.writePluginDocs', + 'write' + ); + + await writePluginDocs(outputFolder, { doc: pluginApi, plugin, pluginStats, log }); + + spanWritePluginDocs?.end(); + } else { + log.info(`Plugin ${pluginApi.id} has no public API.`); + } + + const spanWriteDeprecationDocByPlugin = transaction?.startSpan( + 'build_api_docs.writeDeprecationDocByPlugin', + 'write' + ); + + await writeDeprecationDocByPlugin(outputFolder, referencedDeprecations, log); + + spanWriteDeprecationDocByPlugin?.end(); + + const spanWriteDeprecationDueByTeam = transaction?.startSpan( + 'build_api_docs.writeDeprecationDueByTeam', + 'write' + ); + + await writeDeprecationDueByTeam(outputFolder, referencedDeprecations, plugins, log); + + spanWriteDeprecationDueByTeam?.end(); + + const spanWriteDeprecationDocByApi = transaction?.startSpan( + 'build_api_docs.writeDeprecationDocByApi', + 'write' + ); + + await writeDeprecationDocByApi( + outputFolder, + referencedDeprecations, + unreferencedDeprecations, + log + ); + + spanWriteDeprecationDocByApi?.end(); } - await writeDeprecationDocByPlugin(outputFolder, referencedDeprecations, log); - await writeDeprecationDueByTeam(outputFolder, referencedDeprecations, plugins, log); - await writeDeprecationDocByApi( - outputFolder, - referencedDeprecations, - unreferencedDeprecations, - log - ); } if (Object.values(pathsOutsideScopes).length > 0) { @@ -307,6 +423,8 @@ export function runBuildApiDocsCli() { if (initialDocIds) { await trimDeletedDocsFromNav(log, initialDocIds, outputFolder); } + + transaction?.end(); }, { log: { @@ -316,26 +434,36 @@ export function runBuildApiDocsCli() { string: ['plugin', 'stats'], boolean: ['references'], help: ` - --plugin Optionally, run for only a specific plugin - --stats Optionally print API stats. Must be one or more of: any, comments or exports. - --references Collect references for API items + --plugin Optionally, run for only a specific plugin + --stats Optionally print API stats. Must be one or more of: any, comments or exports. + In combination with a single plugin filter this option will skip writing any + API docs as a tradeoff to just produce the stats output more quickly. + --references Collect references for API items `, }, } ); } -function getTsProject(repoPath: string) { - const xpackTsConfig = `${repoPath}/tsconfig.json`; +function getTsProject(repoPath: string, overridePath?: string) { + const xpackTsConfig = !overridePath + ? `${repoPath}/tsconfig.json` + : `${overridePath}/tsconfig.json`; + const project = new Project({ tsConfigFilePath: xpackTsConfig, // We'll use the files added below instead. skipAddingFilesFromTsConfig: true, }); - project.addSourceFilesAtPaths([`${repoPath}/x-pack/plugins/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/x-pack/packages/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/src/plugins/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/packages/**/*.ts`, '!**/*.d.ts']); + + if (!overridePath) { + project.addSourceFilesAtPaths([`${repoPath}/x-pack/plugins/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/x-pack/packages/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/src/plugins/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/packages/**/*.ts`, '!**/*.d.ts']); + } else { + project.addSourceFilesAtPaths([`${overridePath}/**/*.ts`, '!**/*.d.ts']); + } project.resolveSourceFileDependencies(); return project; } diff --git a/packages/kbn-docs-utils/src/find_plugins.ts b/packages/kbn-docs-utils/src/find_plugins.ts index 30a63b55172e1..c77816ba3b6c8 100644 --- a/packages/kbn-docs-utils/src/find_plugins.ts +++ b/packages/kbn-docs-utils/src/find_plugins.ts @@ -52,7 +52,7 @@ function toPluginOrPackage(pkg: Package): PluginOrPackage { }; } -export function findPlugins(): PluginOrPackage[] { +export function findPlugins(pluginOrPackageFilter?: string[]): PluginOrPackage[] { const packages = getPackages(REPO_ROOT); const plugins = packages.filter( getPluginPackagesFilter({ @@ -66,14 +66,30 @@ export function findPlugins(): PluginOrPackage[] { throw new Error('unable to find @kbn/core'); } - return [...[core, ...plugins].map(toPluginOrPackage), ...findPackages()]; + if (!pluginOrPackageFilter) { + return [...[core, ...plugins].map(toPluginOrPackage), ...findPackages()]; + } else { + return [ + ...plugins + .filter((p) => pluginOrPackageFilter.includes(p.manifest.plugin.id)) + .map(toPluginOrPackage), + ...findPackages(pluginOrPackageFilter), + ]; + } } /** * Helper to find packages. */ -export function findPackages(): PluginOrPackage[] { +export function findPackages(packageFilter?: string[]): PluginOrPackage[] { return getPackages(REPO_ROOT) .filter((p) => !p.isPlugin()) + .filter((p) => { + if (!Array.isArray(packageFilter)) { + return true; + } else { + return packageFilter.includes(p.manifest.id); + } + }) .map(toPluginOrPackage); } diff --git a/packages/kbn-docs-utils/tsconfig.json b/packages/kbn-docs-utils/tsconfig.json index fa23110abcb1f..9116acc8dcbc5 100644 --- a/packages/kbn-docs-utils/tsconfig.json +++ b/packages/kbn-docs-utils/tsconfig.json @@ -23,5 +23,6 @@ "@kbn/std", "@kbn/get-repo-files", "@kbn/repo-packages", + "@kbn/apm-config-loader", ] } diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 422130eca5608..cad710f8b64ee 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -39,7 +39,7 @@ pageLoadAssetSize: embeddableEnhanced: 22107 enterpriseSearch: 35741 esUiShared: 326654 - eventAnnotation: 20500 + eventAnnotation: 22000 exploratoryView: 74673 expressionError: 22127 expressionGauge: 25000 diff --git a/packages/kbn-securitysolution-grouping/src/containers/query/types.ts b/packages/kbn-securitysolution-grouping/src/containers/query/types.ts index 095bf90ea01e8..b208aef1e840b 100644 --- a/packages/kbn-securitysolution-grouping/src/containers/query/types.ts +++ b/packages/kbn-securitysolution-grouping/src/containers/query/types.ts @@ -11,9 +11,14 @@ import type { MappingRuntimeField, MappingRuntimeFields, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { RuntimeFieldSpec, RuntimePrimitiveTypes } from '@kbn/data-views-plugin/common'; import type { BoolQuery } from '@kbn/es-query'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +type RunTimeMappings = + | Record & { type: RuntimePrimitiveTypes }> + | undefined; + interface BoolAgg { bool: BoolQuery; } @@ -29,7 +34,7 @@ export interface GroupingQueryArgs { from: string; groupByField: string; rootAggregations?: NamedAggregation[]; - runtimeMappings?: MappingRuntimeFields; + runtimeMappings?: RunTimeMappings; additionalAggregationsRoot?: NamedAggregation[]; pageNumber?: number; uniqueValue: string; diff --git a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts index cc2ef92e5d6d5..8534c6da57a98 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts @@ -86,6 +86,7 @@ describe('checking migration metadata changes on all registered SO types', () => "enterprise_search_telemetry": "9ac912e1417fc8681e0cd383775382117c9e3d3d", "epm-packages": "2449bb565f987eff70b1b39578bb17e90c404c6e", "epm-packages-assets": "7a3e58efd9a14191d0d1a00b8aaed30a145fd0b1", + "event-annotation-group": "715ba867d8c68f3c9438052210ea1c30a9362582", "event_loop_delays_daily": "01b967e8e043801357503de09199dfa3853bab88", "exception-list": "4aebc4e61fb5d608cae48eaeb0977e8db21c61a4", "exception-list-agnostic": "6d3262d58eee28ac381ec9654f93126a58be6f5d", diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/active_delete_multiple_instances.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/active_delete_multiple_instances.test.ts index 57e4844ef3182..e297b39847f10 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/active_delete_multiple_instances.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/active_delete_multiple_instances.test.ts @@ -15,6 +15,7 @@ import { REPO_ROOT } from '@kbn/repo-info'; import { type TestElasticsearchUtils } from '@kbn/core-test-helpers-kbn-server'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import type { SavedObjectsBulkCreateObject } from '@kbn/core-saved-objects-api-server'; +import { DEFAULT_INDEX_TYPES_MAP } from '@kbn/core-saved-objects-base-server-internal'; import { defaultLogFilePath, getEsClient, @@ -113,6 +114,7 @@ describe('multiple migrator instances running in parallel', () => { getKibanaMigratorTestKit({ ...config, logFilePath: Path.join(__dirname, `active_delete_instance_${index}.log`), + defaultIndexTypesMap: DEFAULT_INDEX_TYPES_MAP, }) ) ); diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/dot_kibana_split.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/dot_kibana_split.test.ts index a5a10cd05e574..626a89df410a8 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/dot_kibana_split.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/dot_kibana_split.test.ts @@ -13,6 +13,7 @@ import { type SavedObjectsType, MAIN_SAVED_OBJECT_INDEX, } from '@kbn/core-saved-objects-server'; +import { DEFAULT_INDEX_TYPES_MAP } from '@kbn/core-saved-objects-base-server-internal'; import { clearLog, startElasticsearch, @@ -80,6 +81,7 @@ describe('split .kibana index into multiple system indices', () => { types: updatedTypeRegistry.getAllTypes(), kibanaIndex: '.kibana', logFilePath, + defaultIndexTypesMap: DEFAULT_INDEX_TYPES_MAP, }); const { runMigrations, client } = await migratorTestKitFactory(); @@ -201,6 +203,7 @@ describe('split .kibana index into multiple system indices', () => { "enterprise_search_telemetry", "epm-packages", "epm-packages-assets", + "event-annotation-group", "event_loop_delays_daily", "exception-list", "exception-list-agnostic", diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts index f528d6af100e3..ed6cd97136781 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts @@ -43,6 +43,7 @@ const previouslyRegisteredTypes = [ 'csp-rule-template', 'csp_rule', 'dashboard', + 'event-annotation-group', 'endpoint:user-artifact', 'endpoint:user-artifact-manifest', 'enterprise_search_telemetry', 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 43d5cc746a7e3..57258aef0916e 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 @@ -24,6 +24,7 @@ import { SavedObjectTypeRegistry, type IKibanaMigrator, type MigrationResult, + type IndexTypesMap, } from '@kbn/core-saved-objects-base-server-internal'; import { SavedObjectsRepository } from '@kbn/core-saved-objects-api-server-internal'; import { @@ -73,6 +74,7 @@ export interface KibanaMigratorTestKitParams { nodeRoles?: NodeRoles; settings?: Record; types?: Array>; + defaultIndexTypesMap?: IndexTypesMap; logFilePath?: string; } @@ -126,6 +128,7 @@ export const getEsClient = async ({ export const getKibanaMigratorTestKit = async ({ settings = {}, kibanaIndex = defaultKibanaIndex, + defaultIndexTypesMap = {}, // do NOT assume any types are stored in any index by default kibanaVersion = currentVersion, kibanaBranch = currentBranch, types = [], @@ -149,16 +152,17 @@ export const getKibanaMigratorTestKit = async ({ // types must be registered before instantiating the migrator registerTypes(typeRegistry, types); - const migrator = await getMigrator( + const migrator = await getMigrator({ configService, client, typeRegistry, loggerFactory, kibanaIndex, + defaultIndexTypesMap, kibanaVersion, kibanaBranch, - nodeRoles - ); + nodeRoles, + }); const runMigrations = async () => { if (hasRun) { @@ -261,16 +265,28 @@ const getElasticsearchClient = async ( }); }; -const getMigrator = async ( - configService: ConfigService, - client: ElasticsearchClient, - typeRegistry: ISavedObjectTypeRegistry, - loggerFactory: LoggerFactory, - kibanaIndex: string, - kibanaVersion: string, - kibanaBranch: string, - nodeRoles: NodeRoles -) => { +interface GetMigratorParams { + configService: ConfigService; + client: ElasticsearchClient; + kibanaIndex: string; + typeRegistry: ISavedObjectTypeRegistry; + defaultIndexTypesMap: IndexTypesMap; + loggerFactory: LoggerFactory; + kibanaVersion: string; + kibanaBranch: string; + nodeRoles: NodeRoles; +} +const getMigrator = async ({ + configService, + client, + kibanaIndex, + typeRegistry, + defaultIndexTypesMap, + loggerFactory, + kibanaVersion, + kibanaBranch, + nodeRoles, +}: GetMigratorParams) => { const savedObjectsConf = await firstValueFrom( configService.atPath('savedObjects') ); @@ -286,8 +302,9 @@ const getMigrator = async ( return new KibanaMigrator({ client, - typeRegistry, kibanaIndex, + typeRegistry, + defaultIndexTypesMap, soMigrationsConfig: soConfig.migration, kibanaVersion, logger: loggerFactory.get('savedobjects-service'), diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index 08c33c4062398..313ea43261928 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -85,7 +85,7 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.4.0': ['Elastic License 2.0'], - '@elastic/eui@80.0.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@81.0.0': ['SSPL-1.0 OR Elastic License 2.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary }; diff --git a/src/plugins/chart_expressions/expression_xy/common/expression_functions/reference_line.ts b/src/plugins/chart_expressions/expression_xy/common/expression_functions/reference_line.ts index 93832291b9835..a4f615ba0e869 100644 --- a/src/plugins/chart_expressions/expression_xy/common/expression_functions/reference_line.ts +++ b/src/plugins/chart_expressions/expression_xy/common/expression_functions/reference_line.ts @@ -119,11 +119,18 @@ export const referenceLineFunction: ReferenceLineFn = { ? false : args.textVisibility; + const valueMeta = + args.forAccessor && table + ? table.columns.find(({ id }) => id === args.forAccessor)?.meta + : undefined; + return { type: REFERENCE_LINE, layerType: LayerTypes.REFERENCELINE, lineLength: table?.rows.length ?? 0, - decorations: [{ ...args, textVisibility, type: EXTENDED_REFERENCE_LINE_DECORATION_CONFIG }], + decorations: [ + { ...args, textVisibility, type: EXTENDED_REFERENCE_LINE_DECORATION_CONFIG, valueMeta }, + ], }; }, }; diff --git a/src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts b/src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts index 0a2c00ed4f17f..55fd63786570b 100644 --- a/src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts +++ b/src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts @@ -9,7 +9,11 @@ import { type AxisProps, HorizontalAlignment, Position, VerticalAlignment } from '@elastic/charts'; import type { $Values } from '@kbn/utility-types'; import type { PaletteOutput } from '@kbn/coloring'; -import type { Datatable, ExpressionFunctionDefinition } from '@kbn/expressions-plugin/common'; +import type { + Datatable, + DatatableColumnMeta, + ExpressionFunctionDefinition, +} from '@kbn/expressions-plugin/common'; import { LegendSize } from '@kbn/visualizations-plugin/common'; import { EventAnnotationOutput } from '@kbn/event-annotation-plugin/common'; import { ExpressionValueVisDimension } from '@kbn/visualizations-plugin/common'; @@ -334,6 +338,7 @@ export interface ReferenceLineArgs extends Omit>; xAxisFormatter: FieldFormat; + formatters: FormattersMap; axesConfiguration: GroupsConfiguration; isHorizontal: boolean; nextValue?: number; @@ -28,6 +29,7 @@ export const ReferenceLine: FC = ({ layer, axesConfiguration, xAxisFormatter, + formatters, paddingMap, isHorizontal, nextValue, @@ -47,7 +49,8 @@ export const ReferenceLine: FC = ({ const axisGroup = getAxisGroupForReferenceLine(axesConfiguration, decorationConfig, isHorizontal); - const formatter = axisGroup?.formatter || xAxisFormatter; + const formatter = + formatters[decorationConfig.forAccessor] || axisGroup?.formatter || xAxisFormatter; const id = `${layer.layerId}-${value}`; const name = decorationConfig.textVisibility ? columnToLabelMap[decorationConfig.forAccessor] diff --git a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_line_layer.tsx b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_line_layer.tsx index 6c3792d6e7ea3..e34469ab74423 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_line_layer.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_line_layer.tsx @@ -13,13 +13,14 @@ import { Position } from '@elastic/charts'; import { ReferenceLineLayerConfig } from '../../../common/types'; import { ReferenceLineAnnotations } from './reference_line_annotations'; import { LayerAccessorsTitles, GroupsConfiguration, AxesMap } from '../../helpers'; -import { getAxisGroupForReferenceLine } from './utils'; +import { FormattersMap, getAxisGroupForReferenceLine } from './utils'; interface ReferenceLineLayerProps { layer: ReferenceLineLayerConfig; paddingMap: Partial>; isHorizontal: boolean; titles?: LayerAccessorsTitles; + formatters: FormattersMap; xAxisFormatter: FieldFormat; axesConfiguration: GroupsConfiguration; yAxesMap: AxesMap; @@ -28,6 +29,7 @@ interface ReferenceLineLayerProps { export const ReferenceLineLayer: FC = ({ layer, axesConfiguration, + formatters, xAxisFormatter, paddingMap, isHorizontal, @@ -59,7 +61,8 @@ export const ReferenceLineLayer: FC = ({ isHorizontal ); - const formatter = axisGroup?.formatter || xAxisFormatter; + const formatter = + formatters[decorationConfig.forAccessor] || axisGroup?.formatter || xAxisFormatter; const name = columnToLabelMap[decorationConfig.forAccessor] ?? titles?.yTitles?.[decorationConfig.forAccessor]; diff --git a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.test.tsx b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.test.tsx index 810705a71fa3e..320b51310bb76 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.test.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.test.tsx @@ -47,7 +47,8 @@ const data: Datatable = { }; function createLayers( - decorations: ReferenceLineLayerArgs['decorations'] + decorations: ReferenceLineLayerArgs['decorations'], + table?: Datatable ): ReferenceLineLayerConfig[] { return [ { @@ -56,7 +57,7 @@ function createLayers( decorations, type: 'referenceLineLayer', layerType: LayerTypes.REFERENCELINE, - table: data, + table: table || data, }, ]; } @@ -96,6 +97,7 @@ describe('ReferenceLines', () => { beforeEach(() => { defaultProps = { + formatters: {}, xAxisFormatter: { convert: jest.fn((x) => x) } as unknown as FieldFormat, isHorizontal: false, axesConfiguration: [ @@ -163,6 +165,68 @@ describe('ReferenceLines', () => { ).not.toThrow(); }); + it('should prefer column formatter over x axis default one', () => { + const convertLeft = jest.fn((x) => `left-${x}`); + const convertRight = jest.fn((x) => `right-${x}`); + const wrapper = shallow( + ({ + id, + name: `Static value: ${row[id]}`, + meta: { + type: 'number', + params: { id: 'number', params: { formatOverride: true, pattern: '0.0' } }, + }, + })), + } + )} + /> + ); + const referenceLineLayer = wrapper.find(ReferenceLineLayer).dive(); + const annotations = referenceLineLayer.find(ReferenceLineAnnotations); + expect(annotations.first().dive().find(LineAnnotation).prop('dataValues')).toEqual( + expect.arrayContaining([{ dataValue: 5, details: `left-5`, header: undefined }]) + ); + expect(annotations.last().dive().find(RectAnnotation).prop('dataValues')).toEqual( + expect.arrayContaining([ + { + coordinates: { x0: undefined, x1: undefined, y0: 5, y1: undefined }, + details: `right-5`, + header: undefined, + }, + ]) + ); + + expect(convertLeft).toHaveBeenCalled(); + expect(convertRight).toHaveBeenCalled(); + expect(defaultProps.xAxisFormatter.convert).not.toHaveBeenCalled(); + }); + it.each([ ['yAccessorLeft', 'above'], ['yAccessorLeft', 'below'], @@ -482,6 +546,7 @@ describe('ReferenceLines', () => { beforeEach(() => { defaultProps = { + formatters: {}, xAxisFormatter: { convert: jest.fn((x) => x) } as unknown as FieldFormat, isHorizontal: false, axesConfiguration: [ diff --git a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.tsx b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.tsx index bb250c0a133bf..2b3f0b225c8e1 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/reference_lines.tsx @@ -20,7 +20,7 @@ import { } from '../../helpers'; import { ReferenceLineLayer } from './reference_line_layer'; import { ReferenceLine } from './reference_line'; -import { getNextValuesForReferenceLines } from './utils'; +import { FormattersMap, getNextValuesForReferenceLines } from './utils'; export interface ReferenceLinesProps { layers: CommonXYReferenceLineLayerConfig[]; @@ -30,6 +30,7 @@ export interface ReferenceLinesProps { paddingMap: Partial>; titles?: LayersAccessorsTitles; yAxesMap: AxesMap; + formatters: FormattersMap; } export const ReferenceLines = ({ layers, titles = {}, ...rest }: ReferenceLinesProps) => { diff --git a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/utils.tsx b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/utils.tsx index 33c513a42c603..be70777f76f22 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/utils.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/reference_lines/utils.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { Position } from '@elastic/charts'; import { euiLightVars } from '@kbn/ui-theme'; -import { FieldFormat } from '@kbn/field-formats-plugin/common'; +import { FieldFormat, FormatFactory } from '@kbn/field-formats-plugin/common'; import { groupBy, orderBy } from 'lodash'; import { IconPosition, @@ -17,6 +17,7 @@ import { FillStyle, ExtendedReferenceLineDecorationConfig, ReferenceLineDecorationConfig, + CommonXYReferenceLineLayerConfig, } from '../../../common/types'; import { FillStyles } from '../../../common/constants'; import { @@ -27,6 +28,7 @@ import { getAxisPosition, getOriginalAxisPosition, AxesMap, + isReferenceLine, } from '../../helpers'; import type { ReferenceLineAnnotationConfig } from './reference_line_annotations'; @@ -241,3 +243,29 @@ export function getAxisGroupForReferenceLine( getAxisPosition(decorationConfig.position ?? Position.Left, shouldRotate) === axis.position ); } + +export type FormattersMap = Record; + +export function getReferenceLinesFormattersMap( + referenceLinesLayers: CommonXYReferenceLineLayerConfig[], + formatFactory: FormatFactory +): FormattersMap { + const formattersMap: Record = {}; + for (const layer of referenceLinesLayers) { + if (isReferenceLine(layer)) { + for (const { valueMeta, forAccessor } of layer.decorations) { + if (valueMeta?.params?.params?.formatOverride) { + formattersMap[forAccessor] = formatFactory(valueMeta.params); + } + } + } else { + for (const { forAccessor } of layer.decorations || []) { + const columnFormat = layer.table.columns.find(({ id }) => id === forAccessor)?.meta.params; + if (columnFormat?.params?.formatOverride) { + formattersMap[forAccessor] = formatFactory(columnFormat); + } + } + } + } + return formattersMap; +} diff --git a/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx b/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx index 8d903a233fee7..feca72389a35f 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx @@ -93,6 +93,7 @@ import { ReferenceLines, computeChartMargins, getAxisGroupForReferenceLine, + getReferenceLinesFormattersMap, } from './reference_lines'; import { visualizationDefinitions } from '../definitions'; import { CommonXYLayerConfig } from '../../common/types'; @@ -452,7 +453,7 @@ export function XYChart({ : Position.Bottom, })), ...groupedLineAnnotations, - ].filter(Boolean); + ].filter(nonNullable); const shouldHideDetails = annotations?.layers && annotations.layers.length > 0 @@ -800,6 +801,11 @@ export function XYChart({ 'settings' ) as Partial; + const referenceLinesFormatters = getReferenceLinesFormattersMap( + referenceLineLayers, + formatFactory + ); + return (
{showLegend !== undefined && uiState && ( @@ -1073,6 +1079,7 @@ export function XYChart({ paddingMap={linesPaddings} titles={titles} yAxesMap={yAxesMap} + formatters={referenceLinesFormatters} /> ) : null} {(rangeAnnotations.length || lineAnnotations.length) && isTimeViz ? ( diff --git a/src/plugins/chart_expressions/expression_xy/public/plugin.ts b/src/plugins/chart_expressions/expression_xy/public/plugin.ts index 9c76a0d59395f..c818377896421 100755 --- a/src/plugins/chart_expressions/expression_xy/public/plugin.ts +++ b/src/plugins/chart_expressions/expression_xy/public/plugin.ts @@ -12,7 +12,7 @@ import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { ChartsPluginStart } from '@kbn/charts-plugin/public'; import { CoreSetup, CoreStart, IUiSettingsClient } from '@kbn/core/public'; -import { EventAnnotationPluginSetup } from '@kbn/event-annotation-plugin/public'; +import type { EventAnnotationPluginStart } from '@kbn/event-annotation-plugin/public'; import { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import { ExpressionXyPluginSetup, ExpressionXyPluginStart, SetupDeps } from './types'; import { @@ -37,7 +37,7 @@ export interface XYPluginStartDependencies { data: DataPublicPluginStart; fieldFormats: FieldFormatsStart; charts: ChartsPluginStart; - eventAnnotation: EventAnnotationPluginSetup; + eventAnnotation: EventAnnotationPluginStart; usageCollection?: UsageCollectionStart; } diff --git a/src/plugins/controls/public/control_group/component/control_error_component.tsx b/src/plugins/controls/public/control_group/component/control_error_component.tsx new file mode 100644 index 0000000000000..409455f0e304e --- /dev/null +++ b/src/plugins/controls/public/control_group/component/control_error_component.tsx @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useState } from 'react'; + +import { EuiButtonEmpty, EuiPopover } from '@elastic/eui'; +import { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; +import { Markdown } from '@kbn/kibana-react-plugin/public'; + +interface ControlErrorProps { + error: Error | string; +} + +export const ControlError = ({ error }: ControlErrorProps) => { + const [isPopoverOpen, setPopoverOpen] = useState(false); + const errorMessage = error instanceof Error ? error.message : error; + + const popoverButton = ( + setPopoverOpen((open) => !open)} + className={'errorEmbeddableCompact__button'} + textProps={{ className: 'errorEmbeddableCompact__text' }} + > + + + ); + + return ( + + setPopoverOpen(false)} + > + + + + ); +}; diff --git a/src/plugins/controls/public/control_group/component/control_frame_component.tsx b/src/plugins/controls/public/control_group/component/control_frame_component.tsx index 49282b05d76f9..6cb9a9b0cb970 100644 --- a/src/plugins/controls/public/control_group/component/control_frame_component.tsx +++ b/src/plugins/controls/public/control_group/component/control_frame_component.tsx @@ -10,16 +10,13 @@ import classNames from 'classnames'; import React, { useEffect, useMemo, useState } from 'react'; import { - EuiButtonEmpty, EuiFormControlLayout, EuiFormLabel, EuiFormRow, EuiLoadingChart, - EuiPopover, EuiToolTip, } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { Markdown } from '@kbn/kibana-react-plugin/public'; +import { isErrorEmbeddable } from '@kbn/embeddable-plugin/public'; import { FloatingActions } from '@kbn/presentation-util-plugin/public'; import { @@ -28,45 +25,7 @@ import { } from '../embeddable/control_group_container'; import { ControlGroupStrings } from '../control_group_strings'; import { useChildEmbeddable } from '../../hooks/use_child_embeddable'; - -interface ControlFrameErrorProps { - error: Error; -} - -const ControlFrameError = ({ error }: ControlFrameErrorProps) => { - const [isPopoverOpen, setPopoverOpen] = useState(false); - const popoverButton = ( - setPopoverOpen((open) => !open)} - className={'errorEmbeddableCompact__button'} - textProps={{ className: 'errorEmbeddableCompact__text' }} - > - - - ); - - return ( - setPopoverOpen(false)} - > - - - ); -}; +import { ControlError } from './control_error_component'; export interface ControlFrameProps { customPrepend?: JSX.Element; @@ -82,7 +41,6 @@ export const ControlFrame = ({ embeddableType, }: ControlFrameProps) => { const embeddableRoot: React.RefObject = useMemo(() => React.createRef(), []); - const [fatalError, setFatalError] = useState(); const controlGroup = useControlGroupContainer(); @@ -107,19 +65,14 @@ export const ControlFrame = ({ const inputSubscription = embeddable ?.getInput$() .subscribe((newInput) => setTitle(newInput.title)); - const errorSubscription = embeddable?.getOutput$().subscribe({ - error: setFatalError, - }); return () => { inputSubscription?.unsubscribe(); - errorSubscription?.unsubscribe(); }; }, [embeddable, embeddableRoot]); const embeddableParentClassNames = classNames('controlFrame__control', { 'controlFrame--twoLine': controlStyle === 'twoLine', 'controlFrame--oneLine': controlStyle === 'oneLine', - 'controlFrame--fatalError': !!fatalError, }); function renderEmbeddablePrepend() { @@ -149,18 +102,13 @@ export const ControlFrame = ({ } > - {embeddable && !fatalError && ( + {embeddable && (
- {fatalError && } -
- )} - {fatalError && ( -
- {} + {isErrorEmbeddable(embeddable) && }
)} {!embeddable && ( diff --git a/src/plugins/controls/public/control_group/control_group.scss b/src/plugins/controls/public/control_group/control_group.scss index e0bb26b57c820..82bf3a3d1c854 100644 --- a/src/plugins/controls/public/control_group/control_group.scss +++ b/src/plugins/controls/public/control_group/control_group.scss @@ -205,11 +205,4 @@ $controlMinWidth: $euiSize * 14; &--twoLine { top: (-$euiSizeXS) !important; } - - &--fatalError { - padding: $euiSizeXS; - border-radius: $euiBorderRadius; - background-color: $euiColorEmptyShade; - box-shadow: 0 0 0 1px $euiColorLightShade; - } } diff --git a/src/plugins/controls/public/options_list/components/options_list_control.tsx b/src/plugins/controls/public/options_list/components/options_list_control.tsx index 7d899f8a90e31..0df08a69eb4d5 100644 --- a/src/plugins/controls/public/options_list/components/options_list_control.tsx +++ b/src/plugins/controls/public/options_list/components/options_list_control.tsx @@ -19,6 +19,7 @@ import { OptionsListPopover } from './options_list_popover'; import { useOptionsList } from '../embeddable/options_list_embeddable'; import './options_list.scss'; +import { ControlError } from '../../control_group/component/control_error_component'; export const OptionsListControl = ({ typeaheadSubject, @@ -31,6 +32,7 @@ export const OptionsListControl = ({ const optionsList = useOptionsList(); const dimensions = useResizeObserver(resizeRef.current); + const error = optionsList.select((state) => state.componentState.error); const isPopoverOpen = optionsList.select((state) => state.componentState.popoverOpen); const validSelections = optionsList.select((state) => state.componentState.validSelections); const invalidSelections = optionsList.select((state) => state.componentState.invalidSelections); @@ -143,7 +145,9 @@ export const OptionsListControl = ({
); - return ( + return error ? ( + + ) : ( { '[data-test-subj="optionsList-control-available-options"] ul' ); availableOptions.children().forEach((child, i) => { - expect(child.text()).toBe(`${selections[i]} - Checked option.`); + expect(child.text()).toBe(`${selections[i]}. Checked option.`); }); }); @@ -134,7 +134,7 @@ describe('Options list popover', () => { }); const validSelection = findTestSubject(popover, 'optionsList-control-selection-bark'); expect(validSelection.find('.euiSelectableListItem__text').text()).toEqual( - 'bark - Checked option.' + 'bark. Checked option.' ); expect( validSelection.find('div[data-test-subj="optionsList-document-count-badge"]').text().trim() @@ -143,7 +143,7 @@ describe('Options list popover', () => { expect(title).toEqual('Ignored selection'); const invalidSelection = findTestSubject(popover, 'optionsList-control-ignored-selection-woof'); expect(invalidSelection.find('.euiSelectableListItem__text').text()).toEqual( - 'woof - Checked option.' + 'woof. Checked option.' ); expect(invalidSelection.hasClass('optionsList__selectionInvalid')).toBe(true); }); @@ -230,7 +230,7 @@ describe('Options list popover', () => { const availableOptions = popover.find( '[data-test-subj="optionsList-control-available-options"] ul' ); - expect(availableOptions.text()).toBe('Exists - Checked option.'); + expect(availableOptions.text()).toBe('Exists. Checked option.'); }); test('when sorting suggestions, show both sorting types for keyword field', async () => { @@ -244,7 +244,7 @@ describe('Options list popover', () => { const sortingOptionsDiv = findTestSubject(popover, 'optionsListControl__sortingOptions'); const optionsText = sortingOptionsDiv.find('ul li').map((element) => element.text().trim()); - expect(optionsText).toEqual(['By document count - Checked option.', 'Alphabetically']); + expect(optionsText).toEqual(['By document count. Checked option.', 'Alphabetically']); }); test('sorting popover selects appropriate sorting type on load', async () => { @@ -259,7 +259,7 @@ describe('Options list popover', () => { const sortingOptionsDiv = findTestSubject(popover, 'optionsListControl__sortingOptions'); const optionsText = sortingOptionsDiv.find('ul li').map((element) => element.text().trim()); - expect(optionsText).toEqual(['By document count', 'Alphabetically - Checked option.']); + expect(optionsText).toEqual(['By document count', 'Alphabetically. Checked option.']); const ascendingButton = findTestSubject(popover, 'optionsList__sortOrder_asc').instance(); expect(ascendingButton).toHaveClass('euiButtonGroupButton-isSelected'); @@ -276,7 +276,7 @@ describe('Options list popover', () => { const sortingOptionsDiv = findTestSubject(popover, 'optionsListControl__sortingOptions'); const optionsText = sortingOptionsDiv.find('ul li').map((element) => element.text().trim()); - expect(optionsText).toEqual(['By document count - Checked option.']); + expect(optionsText).toEqual(['By document count. Checked option.']); }); test('ensure warning icon does not show up when testAllowExpensiveQueries = true/undefined', async () => { diff --git a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx index 08d5f1150baf5..7d816d3a4c4fa 100644 --- a/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx +++ b/src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx @@ -247,7 +247,7 @@ export class OptionsListEmbeddable extends Embeddable { + this.dispatch.setErrorMessage(undefined); this.dispatch.setLoading(false); this.dispatch.publishFilters(newFilters); }); } else { batch(() => { + this.dispatch.setErrorMessage(undefined); this.dispatch.updateQueryResults({ availableOptions: [], }); @@ -412,14 +414,6 @@ export class OptionsListEmbeddable extends Embeddable { - batch(() => { - this.dispatch.setLoading(false); - this.dispatch.setPopoverOpen(false); - }); - super.onFatalError(e); - }; - public destroy = () => { super.destroy(); this.cleanupStateTools(); @@ -433,6 +427,7 @@ export class OptionsListEmbeddable extends Embeddable diff --git a/src/plugins/controls/public/options_list/options_list_reducers.ts b/src/plugins/controls/public/options_list/options_list_reducers.ts index f50ab9bd6f7f7..868a831370f46 100644 --- a/src/plugins/controls/public/options_list/options_list_reducers.ts +++ b/src/plugins/controls/public/options_list/options_list_reducers.ts @@ -103,6 +103,12 @@ export const optionsListReducers = { state.componentState.invalidSelections = invalidSelections; state.componentState.validSelections = validSelections; }, + setErrorMessage: ( + state: WritableDraft, + action: PayloadAction + ) => { + state.componentState.error = action.payload; + }, setLoading: (state: WritableDraft, action: PayloadAction) => { state.output.loading = action.payload; }, diff --git a/src/plugins/controls/public/options_list/types.ts b/src/plugins/controls/public/options_list/types.ts index c0501b0b6f38b..30b561d5e7964 100644 --- a/src/plugins/controls/public/options_list/types.ts +++ b/src/plugins/controls/public/options_list/types.ts @@ -33,6 +33,7 @@ export interface OptionsListComponentState { totalCardinality?: number; popoverOpen: boolean; field?: FieldSpec; + error?: string; } // public only - redux embeddable state type diff --git a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx index c96637b55f1d7..e483cf4bb16ae 100644 --- a/src/plugins/controls/public/range_slider/components/range_slider_control.tsx +++ b/src/plugins/controls/public/range_slider/components/range_slider_control.tsx @@ -21,6 +21,7 @@ import { useRangeSlider } from '../embeddable/range_slider_embeddable'; import { RangeSliderPopover, EuiDualRangeRef } from './range_slider_popover'; import './range_slider.scss'; +import { ControlError } from '../../control_group/component/control_error_component'; const INVALID_CLASS = 'rangeSliderAnchor__fieldNumber--invalid'; @@ -32,7 +33,9 @@ export const RangeSliderControl: FC = () => { const min = rangeSlider.select((state) => state.componentState.min); const max = rangeSlider.select((state) => state.componentState.max); + const error = rangeSlider.select((state) => state.componentState.error); const isInvalid = rangeSlider.select((state) => state.componentState.isInvalid); + const id = rangeSlider.select((state) => state.explicitInput.id); const value = rangeSlider.select((state) => state.explicitInput.value) ?? ['', '']; const isLoading = rangeSlider.select((state) => state.output.loading); @@ -116,7 +119,9 @@ export const RangeSliderControl: FC = () => { ); - return ( + return error ? ( + + ) : ( { - if (initialValue) { - this.setInitializationFinished(); - } - this.setupSubscriptions(); - }); + this.runRangeSliderQuery() + .catch((e) => { + batch(() => { + this.dispatch.setLoading(false); + this.dispatch.setErrorMessage(e.message); + }); + }) + .then(async () => { + if (initialValue) { + this.setInitializationFinished(); + } + this.setupSubscriptions(); + }); }; private setupSubscriptions = () => { @@ -161,7 +168,13 @@ export class RangeSliderEmbeddable extends Embeddable + this.runRangeSliderQuery().catch((e) => { + this.dispatch.setErrorMessage(e.message); + }) + ) + ); // build filters when value change this.subscriptions.add( @@ -186,7 +199,6 @@ export class RangeSliderEmbeddable extends Embeddable { this.dispatch.setLoading(true); + const { dataView, field } = await this.getCurrentDataViewAndField(); if (!dataView || !field) return; @@ -268,15 +282,18 @@ export class RangeSliderEmbeddable extends Embeddable { + throw e; }); this.dispatch.setMinMax({ min: `${min ?? ''}`, max: `${max ?? ''}`, }); - // build filter with new min/max - await this.buildFilter(); + await this.buildFilter().catch((e) => { + throw e; + }); }; private fetchMinMax = async ({ @@ -321,11 +338,11 @@ export class RangeSliderEmbeddable extends Embeddable { + throw e; + }); const min = get(resp, 'rawResponse.aggregations.minAgg.value', ''); const max = get(resp, 'rawResponse.aggregations.maxAgg.value', ''); @@ -343,7 +360,6 @@ export class RangeSliderEmbeddable extends Embeddable { - this.runRangeSliderQuery(); + this.runRangeSliderQuery().catch((e) => { + this.dispatch.setErrorMessage(e.message); + }); }; public destroy = () => { diff --git a/src/plugins/controls/public/range_slider/range_slider_reducers.ts b/src/plugins/controls/public/range_slider/range_slider_reducers.ts index 074345d40596d..e8fcf0a10b2c3 100644 --- a/src/plugins/controls/public/range_slider/range_slider_reducers.ts +++ b/src/plugins/controls/public/range_slider/range_slider_reducers.ts @@ -40,6 +40,12 @@ export const rangeSliderReducers = { ) => { state.output.dataViewId = action.payload; }, + setErrorMessage: ( + state: WritableDraft, + action: PayloadAction + ) => { + state.componentState.error = action.payload; + }, setLoading: (state: WritableDraft, action: PayloadAction) => { state.output.loading = action.payload; }, diff --git a/src/plugins/controls/public/range_slider/types.ts b/src/plugins/controls/public/range_slider/types.ts index bf0064fa37665..ad321271631e0 100644 --- a/src/plugins/controls/public/range_slider/types.ts +++ b/src/plugins/controls/public/range_slider/types.ts @@ -17,6 +17,7 @@ export interface RangeSliderComponentState { field?: FieldSpec; min: string; max: string; + error?: string; isInvalid?: boolean; } diff --git a/src/plugins/controls/public/services/options_list/options_list_service.ts b/src/plugins/controls/public/services/options_list/options_list_service.ts index 8d634af65fa99..f5c0cbf408e1f 100644 --- a/src/plugins/controls/public/services/options_list/options_list_service.ts +++ b/src/plugins/controls/public/services/options_list/options_list_service.ts @@ -72,14 +72,12 @@ class OptionsListService implements ControlsOptionsListService { async (request: OptionsListRequest, abortSignal: AbortSignal) => { const index = request.dataView.title; const requestBody = this.getRequestBody(request); - return await this.http.fetch( - `/api/kibana/controls/optionsList/${index}`, - { - body: JSON.stringify(requestBody), - signal: abortSignal, - method: 'POST', - } - ); + return await this.http.fetch(`/internal/controls/optionsList/${index}`, { + version: '1', + body: JSON.stringify(requestBody), + signal: abortSignal, + method: 'POST', + }); }, this.optionsListCacheResolver ); @@ -104,7 +102,9 @@ class OptionsListService implements ControlsOptionsListService { private cachedAllowExpensiveQueries = memoize(async () => { const { allowExpensiveQueries } = await this.http.get<{ allowExpensiveQueries: boolean; - }>('/api/kibana/controls/optionsList/getExpensiveQueriesSetting'); + }>('/internal/controls/optionsList/getExpensiveQueriesSetting', { + version: '1', + }); return allowExpensiveQueries; }); diff --git a/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts b/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts index c757a56950da3..aa1c839ffe778 100644 --- a/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts +++ b/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts @@ -11,41 +11,46 @@ import { CoreSetup } from '@kbn/core/server'; export const setupOptionsListClusterSettingsRoute = ({ http }: CoreSetup) => { const router = http.createRouter(); - router.get( - { - path: '/api/kibana/controls/optionsList/getExpensiveQueriesSetting', - validate: false, - }, - async (context, _, response) => { - try { - /** - * using internal user here because in many cases the logged in user will not have the monitor permission required - * to check cluster settings. This endpoint does not take a query, params, or a body, so there is no chance of leaking info. - */ - const esClient = (await context.core).elasticsearch.client.asInternalUser; - const settings = await esClient.cluster.getSettings({ - include_defaults: true, - filter_path: '**.allow_expensive_queries', - }); + router.versioned + .get({ + access: 'internal', + path: '/internal/controls/optionsList/getExpensiveQueriesSetting', + }) + .addVersion( + { + version: '1', + validate: false, + }, + async (context, _, response) => { + try { + /** + * using internal user here because in many cases the logged in user will not have the monitor permission required + * to check cluster settings. This endpoint does not take a query, params, or a body, so there is no chance of leaking info. + */ + const esClient = (await context.core).elasticsearch.client.asInternalUser; + const settings = await esClient.cluster.getSettings({ + include_defaults: true, + filter_path: '**.allow_expensive_queries', + }); - // priority: transient -> persistent -> default - const allowExpensiveQueries: string = - settings.transient?.search?.allow_expensive_queries ?? - settings.persistent?.search?.allow_expensive_queries ?? - settings.defaults?.search?.allow_expensive_queries ?? - // by default, the allowExpensiveQueries cluster setting is undefined; so, we need to treat this the same - // as `true` since that's the way other applications (such as the dashboard listing page) handle this. - 'true'; + // priority: transient -> persistent -> default + const allowExpensiveQueries: string = + settings.transient?.search?.allow_expensive_queries ?? + settings.persistent?.search?.allow_expensive_queries ?? + settings.defaults?.search?.allow_expensive_queries ?? + // by default, the allowExpensiveQueries cluster setting is undefined; so, we need to treat this the same + // as `true` since that's the way other applications (such as the dashboard listing page) handle this. + 'true'; - return response.ok({ - body: { - allowExpensiveQueries: allowExpensiveQueries === 'true', - }, - }); - } catch (e) { - const kbnErr = getKbnServerError(e); - return reportServerError(response, kbnErr); + return response.ok({ + body: { + allowExpensiveQueries: allowExpensiveQueries === 'true', + }, + }); + } catch (e) { + const kbnErr = getKbnServerError(e); + return reportServerError(response, kbnErr); + } } - } - ); + ); }; diff --git a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts index 61d50419d94a0..d6fe08f275ccf 100644 --- a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts +++ b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts @@ -26,50 +26,57 @@ export const setupOptionsListSuggestionsRoute = ( ) => { const router = http.createRouter(); - router.post( - { - path: '/api/kibana/controls/optionsList/{index}', - validate: { - params: schema.object( - { - index: schema.string(), + router.versioned + .post({ + access: 'internal', + path: '/internal/controls/optionsList/{index}', + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: schema.object( + { + index: schema.string(), + }, + { unknowns: 'allow' } + ), + body: schema.object( + { + size: schema.number(), + fieldName: schema.string(), + sort: schema.maybe(schema.any()), + filters: schema.maybe(schema.any()), + fieldSpec: schema.maybe(schema.any()), + allowExpensiveQueries: schema.boolean(), + searchString: schema.maybe(schema.string()), + selectedOptions: schema.maybe(schema.arrayOf(schema.string())), + }, + { unknowns: 'allow' } + ), }, - { unknowns: 'allow' } - ), - body: schema.object( - { - size: schema.number(), - fieldName: schema.string(), - sort: schema.maybe(schema.any()), - filters: schema.maybe(schema.any()), - fieldSpec: schema.maybe(schema.any()), - allowExpensiveQueries: schema.boolean(), - searchString: schema.maybe(schema.string()), - selectedOptions: schema.maybe(schema.arrayOf(schema.string())), - }, - { unknowns: 'allow' } - ), + }, }, - }, - async (context, request, response) => { - try { - const suggestionRequest: OptionsListRequestBody = request.body; - const { index } = request.params; - const esClient = (await context.core).elasticsearch.client.asCurrentUser; + async (context, request, response) => { + try { + const suggestionRequest: OptionsListRequestBody = request.body; + const { index } = request.params; + const esClient = (await context.core).elasticsearch.client.asCurrentUser; - const suggestionsResponse = await getOptionsListSuggestions({ - abortedEvent$: request.events.aborted$, - request: suggestionRequest, - esClient, - index, - }); - return response.ok({ body: suggestionsResponse }); - } catch (e) { - const kbnErr = getKbnServerError(e); - return reportServerError(response, kbnErr); + const suggestionsResponse = await getOptionsListSuggestions({ + abortedEvent$: request.events.aborted$, + request: suggestionRequest, + esClient, + index, + }); + return response.ok({ body: suggestionsResponse }); + } catch (e) { + const kbnErr = getKbnServerError(e); + return reportServerError(response, kbnErr); + } } - } - ); + ); const getOptionsListSuggestions = async ({ abortedEvent$, diff --git a/src/plugins/dashboard/public/assets/dashboards_dark.svg b/src/plugins/dashboard/public/assets/dashboards_dark.svg new file mode 100644 index 0000000000000..6499131ce6b5a --- /dev/null +++ b/src/plugins/dashboard/public/assets/dashboards_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/plugins/dashboard/public/assets/dashboards_light.svg b/src/plugins/dashboard/public/assets/dashboards_light.svg new file mode 100644 index 0000000000000..4ca82bfe3ff98 --- /dev/null +++ b/src/plugins/dashboard/public/assets/dashboards_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss b/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss index 186e0758defaf..aa5b5950a0d59 100644 --- a/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss +++ b/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss @@ -14,26 +14,21 @@ align-items: center; } -.dshStartScreen { - text-align: center; -} - -.dshStartScreen__pageContent { - padding: $euiSizeXXL; +.dshEmptyPromptParent { + flex-grow: 1; + display: flex; } -.dshStartScreen__panelDesc { - max-width: 260px; - margin: 0 auto; +.dshEmptyPromptPageTemplate { + background-color: inherit; + padding-block-start: 0 !important; } -.dshEmptyWidget { - background-color: $euiColorLightestShade; - border: $euiBorderThin; - border-style: dashed; +.dshEmptyWidgetContainer { + padding: $euiSizeXL; + padding-top: 0 !important; border-radius: $euiBorderRadius; - padding: $euiSizeXXL * 2; - max-width: 400px; - margin-left: $euiSizeS; - text-align: center; + .euiEmptyPrompt__icon { + margin-bottom: 0; + } } \ No newline at end of file diff --git a/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts b/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts index 5bd6a24d8130f..2fd068f5b5816 100644 --- a/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts +++ b/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts @@ -12,33 +12,46 @@ import { i18n } from '@kbn/i18n'; Empty Screen */ export const emptyScreenStrings = { - getEmptyDashboardTitle: () => - i18n.translate('dashboard.emptyDashboardTitle', { - defaultMessage: 'This dashboard is empty.', + // Edit mode + getEditModeTitle: () => + i18n.translate('dashboard.emptyScreen.editModeTitle', { + defaultMessage: 'This dashboard is empty. Let\u2019s fill it up!', }), - getEmptyDashboardAdditionalPrivilege: () => - i18n.translate('dashboard.emptyDashboardAdditionalPrivilege', { - defaultMessage: 'You need additional privileges to edit this dashboard.', + getEditModeSubtitle: () => + i18n.translate('dashboard.emptyScreen.editModeSubtitle', { + defaultMessage: 'Create a visualization of your data, or add one from the Visualize Library.', }), - getFillDashboardTitle: () => - i18n.translate('dashboard.fillDashboardTitle', { - defaultMessage: 'This dashboard is empty. Let\u2019s fill it up!', + getAddFromLibraryButtonTitle: () => + i18n.translate('dashboard.emptyScreen.addFromLibrary', { + defaultMessage: 'Add from library', + }), + getCreateVisualizationButtonTitle: () => + i18n.translate('dashboard.emptyScreen.createVisualization', { + defaultMessage: 'Create visualization', }), - getHowToStartWorkingOnNewDashboardDescription: () => - i18n.translate('dashboard.howToStartWorkingOnNewDashboardDescription', { - defaultMessage: 'Click edit in the menu bar above to start adding panels.', + + // View Mode with permissions + getViewModeWithPermissionsTitle: () => + i18n.translate('dashboard.emptyScreen.viewModeTitle', { + defaultMessage: 'Add visualizations to your dashboard', + }), + getViewModeWithPermissionsSubtitle: () => + i18n.translate('dashboard.emptyScreen.viewModeSubtitle', { + defaultMessage: 'Enter edit mode, and then start adding your visualizations.', }), - getHowToStartWorkingOnNewDashboardEditLinkAriaLabel: () => - i18n.translate('dashboard.howToStartWorkingOnNewDashboardEditLinkAriaLabel', { + getEditLinkTitle: () => + i18n.translate('dashboard.emptyScreen.editDashboard', { defaultMessage: 'Edit dashboard', }), - getEmptyWidgetTitle: () => - i18n.translate('dashboard.emptyWidget.addPanelTitle', { - defaultMessage: 'Add your first visualization', + + // View Mode without permissions + getViewModeWithoutPermissionsTitle: () => + i18n.translate('dashboard.emptyScreen.noPermissionsTitle', { + defaultMessage: 'This dashboard is empty.', }), - getEmptyWidgetDescription: () => - i18n.translate('dashboard.emptyWidget.addPanelDescription', { - defaultMessage: 'Create content that tells a story about your data.', + getViewModeWithoutPermissionsSubtitle: () => + i18n.translate('dashboard.emptyScreen.noPermissionsSubtitle', { + defaultMessage: 'You need additional privileges to edit this dashboard.', }), }; diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap index bfa152c38553a..2fd8a7d904006 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap @@ -2,121 +2,369 @@ exports[`DashboardEmptyScreen renders correctly with edit mode 1`] = `
-
-

- Add your first visualization -

-
+
+
+
+
+
+
+
+ +
+
+
+
+

+ This dashboard is empty. Let’s fill it up! +

+
+
+
+ + Create a visualization of your data, or add one from the Visualize Library. + +
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+`; + +exports[`DashboardEmptyScreen renders correctly with readonly and edit mode 1`] = ` +
- - Create content that tells a story about your data. - +
+
+
+
+
+
+
+ +
+
+
+
+

+ This dashboard is empty. +

+
+
+
+ + You need additional privileges to edit this dashboard. + +
+
+
+
+
+
+
+
+
`; exports[`DashboardEmptyScreen renders correctly with readonly mode 1`] = `
-
-
- -
-
-

- This dashboard is empty. -

-
-
- You need additional privileges to edit this dashboard. -
-
+
+
+
+
+ +
+
+
+
+

+ This dashboard is empty. +

+
+
+
+ + You need additional privileges to edit this dashboard. + +
+
+
+
+
+
+
+ +
`; exports[`DashboardEmptyScreen renders correctly with view mode 1`] = `
-
-
- -
-
-

- This dashboard is empty. Let’s fill it up! -

-
-
-
-

- Click edit in the menu bar above to start adding panels. -

+
+
+
+
+ +
+
+
+
+

+ Add visualizations to your dashboard +

+
+
+
+ + Enter edit mode, and then start adding your visualizations. + +
+
+
+ +
+
+
+
-
-
+ +
`; diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx index 9f5fd97bafb25..439fc43ce8eb0 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx @@ -10,49 +10,76 @@ import React from 'react'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { findTestSubject } from '@elastic/eui/lib/test'; +import { buildMockDashboard } from '../../../mocks'; +import { DashboardEmptyScreen } from './dashboard_empty_screen'; import { pluginServices } from '../../../services/plugin_services'; -import { DashboardEmptyScreen, DashboardEmptyScreenProps } from './dashboard_empty_screen'; +import { DashboardContainerContext } from '../../embeddable/dashboard_container'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; -describe('DashboardEmptyScreen', () => { - const DashboardServicesProvider = pluginServices.getContextProvider(); - - const defaultProps = { - onLinkClick: jest.fn(), - }; +pluginServices.getServices().visualizations.getAliases = jest + .fn() + .mockReturnValue([{ name: 'lens' }]); - function mountComponent(props?: Partial) { - const compProps = { ...defaultProps, ...props }; +describe('DashboardEmptyScreen', () => { + function mountComponent(viewMode: ViewMode) { + const dashboardContainer = buildMockDashboard({ viewMode }); return mountWithIntl( - - - + + + ); } test('renders correctly with view mode', () => { - const component = mountComponent(); + const component = mountComponent(ViewMode.VIEW); expect(component.render()).toMatchSnapshot(); - const enterEditModeParagraph = component.find('.dshStartScreen__panelDesc'); - expect(enterEditModeParagraph.length).toBe(1); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(1); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(0); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); }); test('renders correctly with edit mode', () => { - const component = mountComponent({ isEditMode: true }); + const component = mountComponent(ViewMode.EDIT); expect(component.render()).toMatchSnapshot(); - const paragraph = component.find('.dshStartScreen__panelDesc'); - expect(paragraph.length).toBe(0); - const emptyPanel = findTestSubject(component, 'emptyDashboardWidget'); - expect(emptyPanel.length).toBe(1); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(0); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(1); }); test('renders correctly with readonly mode', () => { pluginServices.getServices().dashboardCapabilities.showWriteControls = false; - const component = mountComponent(); + const component = mountComponent(ViewMode.VIEW); + expect(component.render()).toMatchSnapshot(); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(1); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); + }); + + // even when in edit mode, readonly users should not have access to the editing buttons in the empty prompt. + test('renders correctly with readonly and edit mode', () => { + pluginServices.getServices().dashboardCapabilities.showWriteControls = false; + + const component = mountComponent(ViewMode.EDIT); expect(component.render()).toMatchSnapshot(); - const paragraph = component.find('.dshStartScreen__panelDesc'); - expect(paragraph.length).toBe(0); - const emptyPanel = findTestSubject(component, 'emptyDashboardWidget'); - expect(emptyPanel.length).toBe(0); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(1); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); }); }); diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx index 74d02cd4234b9..050de4189c279 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx @@ -6,95 +6,153 @@ * Side Public License, v 1. */ -import React from 'react'; -import { I18nProvider } from '@kbn/i18n-react'; +import React, { useCallback, useMemo } from 'react'; +import useObservable from 'react-use/lib/useObservable'; + import { - EuiIcon, - EuiSpacer, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageBody, - EuiPage, - EuiImage, EuiText, - EuiTitle, + EuiImage, + EuiButton, + EuiFlexItem, + EuiFlexGroup, + EuiButtonEmpty, + EuiPageTemplate, } from '@elastic/eui'; +import { METRIC_TYPE } from '@kbn/analytics'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; + import { pluginServices } from '../../../services/plugin_services'; import { emptyScreenStrings } from '../../_dashboard_container_strings'; +import { useDashboardContainer } from '../../embeddable/dashboard_container'; +import { DASHBOARD_UI_METRIC_ID, DASHBOARD_APP_ID } from '../../../dashboard_constants'; -export interface DashboardEmptyScreenProps { - isEditMode?: boolean; -} - -export function DashboardEmptyScreen({ isEditMode }: DashboardEmptyScreenProps) { +export function DashboardEmptyScreen() { const { - dashboardCapabilities: { showWriteControls }, + settings: { + theme: { theme$ }, + }, + usageCollection, + data: { search }, http: { basePath }, - settings: { uiSettings }, + embeddable: { getStateTransfer }, + dashboardCapabilities: { showWriteControls }, + visualizations: { getAliases: getVisTypeAliases }, } = pluginServices.getServices(); - const isReadonlyMode = !showWriteControls; - const IS_DARK_THEME = uiSettings.get('theme:darkMode'); - const emptyStateGraphicURL = IS_DARK_THEME - ? '/plugins/home/assets/welcome_graphic_dark_2x.png' - : '/plugins/home/assets/welcome_graphic_light_2x.png'; + const lensAlias = useMemo( + () => getVisTypeAliases().find(({ name }) => name === 'lens'), + [getVisTypeAliases] + ); - const page = (mainText: string, showAdditionalParagraph?: boolean, additionalText?: string) => { - return ( - - - - - -

{mainText}

-
- {additionalText ? ( - - {additionalText} - - ) : null} - {showAdditionalParagraph ? ( - - -
- -

{emptyScreenStrings.getHowToStartWorkingOnNewDashboardDescription()}

-
-
-
- ) : null} -
-
-
+ const goToLens = useCallback(() => { + if (!lensAlias || !lensAlias.aliasPath) return; + const trackUiMetric = usageCollection.reportUiCounter?.bind( + usageCollection, + DASHBOARD_UI_METRIC_ID ); - }; - const readonlyMode = page( - emptyScreenStrings.getEmptyDashboardTitle(), - false, - emptyScreenStrings.getEmptyDashboardAdditionalPrivilege() + + if (trackUiMetric) { + trackUiMetric(METRIC_TYPE.CLICK, `${lensAlias.name}:create`); + } + getStateTransfer().navigateToEditor(lensAlias.aliasApp, { + path: lensAlias.aliasPath, + state: { + originatingApp: DASHBOARD_APP_ID, + searchSessionId: search.session.getSessionId(), + }, + }); + }, [getStateTransfer, lensAlias, search.session, usageCollection]); + + const dashboardContainer = useDashboardContainer(); + const isDarkTheme = useObservable(theme$)?.darkMode; + const isEditMode = + dashboardContainer.select((state) => state.explicitInput.viewMode) === ViewMode.EDIT; + + // TODO replace these SVGs with versions from EuiIllustration as soon as it becomes available. + const imageUrl = basePath.prepend( + `/plugins/dashboard/assets/${isDarkTheme ? 'dashboards_dark' : 'dashboards_light'}.svg` ); - const viewMode = page(emptyScreenStrings.getFillDashboardTitle(), true); - const editMode = ( -
- - - -

{emptyScreenStrings.getEmptyWidgetTitle()}

-
- + + // If the user ends up in edit mode without write privileges, we shouldn't show the edit prompt. + const showEditPrompt = showWriteControls && isEditMode; + + const emptyPromptTestSubject = (() => { + if (showEditPrompt) return 'emptyDashboardWidget'; + return showWriteControls ? 'dashboardEmptyReadWrite' : 'dashboardEmptyReadOnly'; + })(); + + const title = (() => { + const titleString = showEditPrompt + ? emptyScreenStrings.getEditModeTitle() + : showWriteControls + ? emptyScreenStrings.getViewModeWithPermissionsTitle() + : emptyScreenStrings.getViewModeWithoutPermissionsTitle(); + return

{titleString}

; + })(); + + const body = (() => { + const bodyString = showEditPrompt + ? emptyScreenStrings.getEditModeSubtitle() + : showWriteControls + ? emptyScreenStrings.getViewModeWithPermissionsSubtitle() + : emptyScreenStrings.getViewModeWithoutPermissionsSubtitle(); + return ( - {emptyScreenStrings.getEmptyWidgetDescription()} + {bodyString} + ); + })(); + + const actions = (() => { + if (showEditPrompt) { + return ( + + + goToLens()}> + {emptyScreenStrings.getCreateVisualizationButtonTitle()} + + + + dashboardContainer.addFromLibrary()} + > + {emptyScreenStrings.getAddFromLibraryButtonTitle()} + + + + ); + } + if (showWriteControls) { + return ( + dashboardContainer.dispatch.setViewMode(ViewMode.EDIT)} + > + {emptyScreenStrings.getEditLinkTitle()} + + ); + } + })(); + + return ( +
+ + } + title={title} + body={body} + actions={actions} + titleSize="xs" + color="transparent" + className="dshEmptyWidgetContainer" + /> +
); - const actionableMode = isEditMode ? editMode : viewMode; - return {isReadonlyMode ? readonlyMode : actionableMode}; } diff --git a/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss b/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss index 81fdbadf7632d..7cfd8ec50a6a4 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss +++ b/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss @@ -18,10 +18,6 @@ padding-bottom: $euiSizeXS; } -.dshDashboardEmptyScreen { - margin-top: $euiSizeS; -} - .dashboardViewport--screenshotMode .controlsWrapper--empty { display:none } diff --git a/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx b/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx index 07bb9d111cd07..117234a0cceb1 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx @@ -74,6 +74,7 @@ export const DashboardViewportComponent = () => { ref={controlsRoot} /> ) : null} + {panelCount === 0 && }
{ data-description={description} data-shared-items-count={panelCount} > - {panelCount === 0 && ( -
- -
- )}
diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap index dbf3cb7ab8241..05a8cc2964003 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap @@ -2,32 +2,13 @@ exports[`renders DashboardSaveModal 1`] = ` - - } - labelType="label" - > - - } showCopyOnSave={true} - showDescription={false} + showDescription={true} title="dash title" /> `; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx index 2f2254e054c21..737b8eac640f4 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx @@ -9,7 +9,7 @@ import { i18n } from '@kbn/i18n'; import React, { Fragment } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiFormRow, EuiTextArea, EuiSwitch } from '@elastic/eui'; +import { EuiFormRow, EuiSwitch } from '@elastic/eui'; import { SavedObjectSaveModal } from '@kbn/saved-objects-plugin/public'; import type { DashboardSaveOptions } from '../../../types'; @@ -39,14 +39,12 @@ interface Props { } interface State { - description: string; tags: string[]; timeRestore: boolean; } export class DashboardSaveModal extends React.Component { state: State = { - description: this.props.description, timeRestore: this.props.timeRestore, tags: this.props.tags ?? [], }; @@ -57,18 +55,20 @@ export class DashboardSaveModal extends React.Component { saveDashboard = ({ newTitle, + newDescription, newCopyOnSave, isTitleDuplicateConfirmed, onTitleDuplicate, }: { newTitle: string; + newDescription: string; newCopyOnSave: boolean; isTitleDuplicateConfirmed: boolean; onTitleDuplicate: () => void; }) => { this.props.onSave({ newTitle, - newDescription: this.state.description, + newDescription, newCopyOnSave, newTimeRestore: this.state.timeRestore, isTitleDuplicateConfirmed, @@ -77,12 +77,6 @@ export class DashboardSaveModal extends React.Component { }); }; - onDescriptionChange = (event: any) => { - this.setState({ - description: event.target.value, - }); - }; - onTimeRestoreChange = (event: any) => { this.setState({ timeRestore: event.target.checked, @@ -102,26 +96,12 @@ export class DashboardSaveModal extends React.Component { tags, }); }} + markOptional /> ) : undefined; return ( - - } - > - - - {tagSelector} { onSave={this.saveDashboard} onClose={this.props.onClose} title={this.props.title} + description={this.props.description} + showDescription showCopyOnSave={this.props.showCopyOnSave} initialCopyOnSave={this.props.showCopyOnSave} objectType={i18n.translate('dashboard.topNav.saveModal.objectType', { defaultMessage: 'dashboard', })} options={this.renderDashboardSaveOptions()} - showDescription={false} /> ); } diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index a213cfbdd12ad..c5560122c3885 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -16,6 +16,7 @@ import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { ElasticRequestState } from '../types'; import { useEsDocSearch } from '../../../hooks/use_es_doc_search'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; +import type { DataTableRecord } from '../../../types'; export interface DocProps { /** @@ -38,6 +39,10 @@ export interface DocProps { * Discover main view url */ referrer?: string; + /** + * Records fetched from text based query + */ + textBasedHits?: DataTableRecord[]; } export function Doc(props: DocProps) { diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx index 3070f447712c5..bf26ffaade95a 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx @@ -208,6 +208,7 @@ function DiscoverDocumentsComponent({ isLoading={isDataLoading} searchDescription={savedSearch.description} sharedItemTitle={savedSearch.title} + isPlainRecord={isPlainRecord} onAddColumn={onAddColumn} onFilter={onAddFilter as DocViewFilterFn} onMoveColumn={onMoveColumn} @@ -238,7 +239,7 @@ function DiscoverDocumentsComponent({ sampleSize={sampleSize} searchDescription={savedSearch.description} searchTitle={savedSearch.title} - setExpandedDoc={!isPlainRecord ? setExpandedDoc : undefined} + setExpandedDoc={setExpandedDoc} showTimeCol={showTimeCol} settings={grid} onAddColumn={onAddColumn} @@ -252,6 +253,7 @@ function DiscoverDocumentsComponent({ onUpdateRowHeight={onUpdateRowHeight} isSortEnabled={!isPlainRecord} isPlainRecord={isPlainRecord} + query={query} rowsPerPageState={rowsPerPage} onUpdateRowsPerPage={onUpdateRowsPerPage} onFieldEdited={onFieldEdited} diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.scss b/src/plugins/discover/public/components/discover_grid/discover_grid.scss index a80f2cd6b5534..18fc15f024fa4 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.scss +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.scss @@ -15,16 +15,12 @@ padding: 0; } - .dscDiscoverGrid__textLanguageMode .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - padding: $euiSizeXS; - } - .euiDataGridRowCell.euiDataGridRowCell--lastColumn { border-right: none; } - .dscDiscoverGrid__documentsMode .euiDataGridRowCell:first-of-type, - .dscDiscoverGrid__documentsMode .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { + .dscDiscoverGrid__table .euiDataGridRowCell:first-of-type, + .dscDiscoverGrid__table .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { border-left: none; border-right: none; } diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx index 4f72f9550b1a3..34ddd0c995666 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx @@ -25,7 +25,7 @@ import { } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; -import { Filter } from '@kbn/es-query'; +import type { AggregateQuery, Filter, Query } from '@kbn/es-query'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { ToastsStart, IUiSettingsClient, HttpStart, CoreStart } from '@kbn/core/public'; import { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; @@ -191,6 +191,10 @@ export interface DiscoverGridProps { * Filters applied by saved search embeddable */ filters?: Filter[]; + /** + * Query applied by KQL bar or text based editor + */ + query?: Query | AggregateQuery; /** * Saved search id used for links to single doc and surrounding docs in the flyout */ @@ -224,6 +228,7 @@ export const DiscoverGrid = ({ expandedDoc, onAddColumn, filters, + query, savedSearchId, onFilter, onRemoveColumn, @@ -596,11 +601,7 @@ export const DiscoverGrid = ({ data-title={searchTitle} data-description={searchDescription} data-document-number={displayedRows.length} - className={classnames( - className, - 'dscDiscoverGrid__table', - isPlainRecord ? 'dscDiscoverGrid__textLanguageMode' : 'dscDiscoverGrid__documentsMode' - )} + className={classnames(className, 'dscDiscoverGrid__table')} > setExpandedDoc(undefined)} setExpandedDoc={setExpandedDoc} + query={query} /> )} diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx index bdda6d80436c8..22ed742dd3f94 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; +import type { Query, AggregateQuery } from '@kbn/es-query'; import { DiscoverGridFlyout, DiscoverGridFlyoutProps } from './discover_grid_flyout'; import { esHits } from '../../__mocks__/es_hits'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; @@ -40,10 +41,12 @@ describe('Discover flyout', function () { dataView, hits, hitIndex, + query, }: { dataView?: DataView; hits?: DataTableRecord[]; hitIndex?: number; + query?: Query | AggregateQuery; }) => { const onClose = jest.fn(); const services = { @@ -71,6 +74,7 @@ describe('Discover flyout', function () { hits: hits || esHits.map((entry: EsHitRecord) => buildDataTableRecord(entry, dataView || dataViewMock)), + query, onAddColumn: jest.fn(), onClose, onFilter: jest.fn(), @@ -192,4 +196,14 @@ describe('Discover flyout', function () { findTestSubject(component, 'docTableDetailsFlyout').simulate('keydown', { key: 'ArrowRight' }); expect(props.setExpandedDoc).not.toHaveBeenCalled(); }); + + it('should not render single/surrounding views for text based', async () => { + const { component } = await mountComponent({ + query: { sql: 'Select * from indexpattern' }, + }); + const singleDocumentView = findTestSubject(component, 'docTableRowAction'); + expect(singleDocumentView.length).toBeFalsy(); + const flyoutTitle = findTestSubject(component, 'docTableRowDetailsTitle'); + expect(flyoutTitle.text()).toBe('Expanded row'); + }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx index ade63023dd7bc..b2ff52600793f 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx @@ -25,16 +25,18 @@ import { EuiHideFor, keys, } from '@elastic/eui'; -import { Filter } from '@kbn/es-query'; +import type { Filter, Query, AggregateQuery } from '@kbn/es-query'; import { DocViewer } from '../../services/doc_views/components/doc_viewer/doc_viewer'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { useNavigationProps } from '../../hooks/use_navigation_props'; import { useDiscoverServices } from '../../hooks/use_discover_services'; +import { isTextBasedQuery } from '../../application/main/utils/is_text_based_query'; import type { DataTableRecord } from '../../types'; export interface DiscoverGridFlyoutProps { savedSearchId?: string; filters?: Filter[]; + query?: Query | AggregateQuery; columns: string[]; hit: DataTableRecord; hits?: DataTableRecord[]; @@ -61,6 +63,7 @@ export function DiscoverGridFlyout({ columns, savedSearchId, filters, + query, onFilter, onClose, onRemoveColumn, @@ -68,6 +71,7 @@ export function DiscoverGridFlyout({ setExpandedDoc, }: DiscoverGridFlyoutProps) { const services = useDiscoverServices(); + const isPlainRecord = isTextBasedQuery(query); // Get actual hit with updated highlighted searches const actualHit = useMemo(() => hits?.find(({ id }) => id === hit?.id) || hit, [hit, hits]); const pageCount = useMemo(() => (hits ? hits.length : 0), [hits]); @@ -120,80 +124,88 @@ export function DiscoverGridFlyout({ data-test-subj="docTableRowDetailsTitle" >

- {i18n.translate('discover.grid.tableRow.detailHeading', { - defaultMessage: 'Expanded document', - })} + {isPlainRecord + ? i18n.translate('discover.grid.tableRow.textBasedDetailHeading', { + defaultMessage: 'Expanded row', + }) + : i18n.translate('discover.grid.tableRow.detailHeading', { + defaultMessage: 'Expanded document', + })}

- - - - - {i18n.translate('discover.grid.tableRow.viewText', { - defaultMessage: 'View:', - })} - - - - - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - - {i18n.translate('discover.grid.tableRow.viewSingleDocumentLinkTextSimple', { - defaultMessage: 'Single document', - })} - - - {dataView.isTimeBased() && dataView.id && ( - + {!isPlainRecord && ( + <> + + + + + {i18n.translate('discover.grid.tableRow.viewText', { + defaultMessage: 'View:', + })} + + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - {i18n.translate( - 'discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple', - { - defaultMessage: 'Surrounding documents', - } - )} + {i18n.translate('discover.grid.tableRow.viewSingleDocumentLinkTextSimple', { + defaultMessage: 'Single document', + })} - - - - + {dataView.isTimeBased() && dataView.id && ( + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} + + {i18n.translate( + 'discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple', + { + defaultMessage: 'Surrounding documents', + } + )} + + + + + + + )} + )} {activePage !== -1 && ( @@ -236,6 +248,7 @@ export function DiscoverGridFlyout({ }) ); }} + textBasedHits={isPlainRecord ? hits : undefined} /> diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx index 0ada6a3c09ed5..d6a94a5e766f0 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx @@ -132,5 +132,17 @@ describe('Doc table row component', () => { toggleButton.simulate('click'); expect(findTestSubject(component, 'docTableRowDetailsTitle').exists()).toBeTruthy(); }); + + it('should hide the single/surrounding views for text based languages', () => { + const props = { + ...defaultProps, + isPlainRecord: true, + }; + const component = mountComponent(props); + const toggleButton = findTestSubject(component, 'docTableExpandToggleColumn'); + toggleButton.simulate('click'); + expect(findTestSubject(component, 'docTableRowDetailsTitle').text()).toBe('Expanded row'); + expect(findTestSubject(component, 'docTableRowAction').length).toBeFalsy(); + }); }); }); diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.tsx index 34ceaa1d5c5e9..fe1dd59e825b5 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.tsx @@ -31,8 +31,10 @@ export interface TableRowProps { columns: string[]; filter: DocViewFilterFn; filters?: Filter[]; + isPlainRecord?: boolean; savedSearchId?: string; row: DataTableRecord; + rows: DataTableRecord[]; dataView: DataView; useNewFieldsApi: boolean; shouldShowFieldHandler: ShouldShowFieldInTableHandler; @@ -43,10 +45,12 @@ export interface TableRowProps { export const TableRow = ({ filters, + isPlainRecord, columns, filter, savedSearchId, row, + rows, dataView, useNewFieldsApi, shouldShowFieldHandler, @@ -212,6 +216,7 @@ export const TableRow = ({ columns={columns} filters={filters} savedSearchId={savedSearchId} + isPlainRecord={isPlainRecord} > )} diff --git a/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx b/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx index 08ebd3072b17e..1ef01a7094ef9 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx @@ -23,6 +23,7 @@ interface TableRowDetailsProps { dataView: DataView; filters?: Filter[]; savedSearchId?: string; + isPlainRecord?: boolean; } export const TableRowDetails = ({ @@ -35,6 +36,7 @@ export const TableRowDetails = ({ columns, filters, savedSearchId, + isPlainRecord, }: TableRowDetailsProps) => { const { singleDocHref, contextViewHref, onOpenSingleDoc, onOpenContextView } = useNavigationProps( { @@ -58,55 +60,65 @@ export const TableRowDetails = ({

- + {isPlainRecord && ( + + )} + {!isPlainRecord && ( + + )}

- - - - {isTimeBased && ( - /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + {!isPlainRecord && ( + + + + {isTimeBased && ( + /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + + + + )} + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - )} - - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - - - - - - + + + + )}
{children}
diff --git a/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx b/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx index d629c6f61f469..e45faec8cbaa1 100644 --- a/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx +++ b/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx @@ -32,6 +32,7 @@ export function DiscoverDocTableEmbeddable(renderProps: DocTableEmbeddableProps) searchDescription={renderProps.searchDescription} sharedItemTitle={renderProps.sharedItemTitle} isLoading={renderProps.isLoading} + isPlainRecord={renderProps.isPlainRecord} dataTestSubj="embeddedSavedSearchDocTable" DocViewer={DocViewer} /> diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx index 23558a4979490..b824a70ceb862 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx @@ -61,6 +61,11 @@ export interface DocTableProps { * Filters applied by embeddalbe */ filters?: Filter[]; + /** + * Flag which identifies if Discover operates + * in text based mode (ESQL) + */ + isPlainRecord?: boolean; /** * Saved search id */ @@ -114,6 +119,7 @@ export const DocTableWrapper = forwardRef( render, columns, filters, + isPlainRecord, savedSearchId, rows, dataView, @@ -187,6 +193,8 @@ export const DocTableWrapper = forwardRef( onAddColumn={onAddColumn} onRemoveColumn={onRemoveColumn} DocViewer={DocViewer} + isPlainRecord={isPlainRecord} + rows={rows} /> )); }, @@ -201,6 +209,8 @@ export const DocTableWrapper = forwardRef( onAddColumn, onRemoveColumn, DocViewer, + isPlainRecord, + rows, ] ); diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index 1317916588184..fa0a74f5d0205 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -556,10 +556,13 @@ export class SavedSearchEmbeddable return; } const useLegacyTable = this.services.uiSettings.get(DOC_TABLE_LEGACY); + const query = this.savedSearch.searchSource.getField('query'); + const props = { savedSearch: this.savedSearch, searchProps, useLegacyTable, + query, }; if (searchProps.services) { ReactDOM.render( diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx index f19dff31b8c0a..03ab602cd760a 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx @@ -7,15 +7,17 @@ */ import React from 'react'; - +import { AggregateQuery, Query } from '@kbn/es-query'; import { DiscoverGridEmbeddable, DiscoverGridEmbeddableProps } from './saved_search_grid'; import { DiscoverDocTableEmbeddable } from '../components/doc_table/create_doc_table_embeddable'; import { DocTableEmbeddableProps } from '../components/doc_table/doc_table_embeddable'; +import { isTextBasedQuery } from '../application/main/utils/is_text_based_query'; import { SearchProps } from './saved_search_embeddable'; interface SavedSearchEmbeddableComponentProps { searchProps: SearchProps; useLegacyTable: boolean; + query?: AggregateQuery | Query; } const DiscoverDocTableEmbeddableMemoized = React.memo(DiscoverDocTableEmbeddable); @@ -24,14 +26,22 @@ const DiscoverGridEmbeddableMemoized = React.memo(DiscoverGridEmbeddable); export function SavedSearchEmbeddableComponent({ searchProps, useLegacyTable, + query, }: SavedSearchEmbeddableComponentProps) { if (useLegacyTable) { - return ; + const isPlainRecord = isTextBasedQuery(query); + return ( + + ); } return ( ); diff --git a/src/plugins/discover/public/embeddable/saved_search_grid.tsx b/src/plugins/discover/public/embeddable/saved_search_grid.tsx index 21514a61c87a9..8428d6a488fbc 100644 --- a/src/plugins/discover/public/embeddable/saved_search_grid.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_grid.tsx @@ -29,7 +29,7 @@ export function DiscoverGridEmbeddable(props: DiscoverGridEmbeddableProps) { > diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx index 007512d235657..f095ae8bc3a24 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx +++ b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx @@ -286,4 +286,39 @@ describe('Test of helper / hook', () => { buildDataTableRecord(record), ]); }); + + test('useEsDocSearch for text based languages', async () => { + const dataView = { + getComputedFields: () => [], + getIndexPattern: () => index, + }; + const props = { + id: '1', + index: 'index1', + dataView, + textBasedHits: [ + { + id: '1', + raw: { field1: 1, field2: 2 }, + flattened: { field1: 1, field2: 2 }, + }, + ], + } as unknown as DocProps; + + const hook = renderHook((p: DocProps) => useEsDocSearch(p), { + initialProps: props, + wrapper: ({ children }) => ( + {children} + ), + }); + + expect(hook.result.current.slice(0, 2)).toEqual([ + ElasticRequestState.Found, + { + id: '1', + raw: { field1: 1, field2: 2 }, + flattened: { field1: 1, field2: 2 }, + }, + ]); + }); }); diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.ts b/src/plugins/discover/public/hooks/use_es_doc_search.ts index f2a5e3b112371..59538bb62ebe1 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.ts +++ b/src/plugins/discover/public/hooks/use_es_doc_search.ts @@ -27,6 +27,7 @@ export function useEsDocSearch({ index, dataView, requestSource, + textBasedHits, }: DocProps): [ElasticRequestState, DataTableRecord | null, () => void] { const [status, setStatus] = useState(ElasticRequestState.Loading); const [hit, setHit] = useState(null); @@ -65,8 +66,16 @@ export function useEsDocSearch({ }, [id, index, dataView, data.search, useNewFieldsApi, requestSource]); useEffect(() => { - requestData(); - }, [requestData]); + if (textBasedHits) { + const selectedHit = textBasedHits?.find((r) => r.id === id); + if (selectedHit) { + setStatus(ElasticRequestState.Found); + setHit(selectedHit); + } + } else { + requestData(); + } + }, [id, requestData, textBasedHits]); return [status, hit, requestData]; } diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index 969ec70a104f2..afaaf2f66cd9c 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -262,22 +262,25 @@ export class DiscoverPlugin defaultMessage: 'JSON', }), order: 20, - component: ({ hit, dataView }) => ( - - - - } - > - - - ), + component: ({ hit, dataView, query, textBasedHits }) => { + return ( + + + + } + > + + + ); + }, }); const { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx index 98a242c20ea91..7a28934dab424 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx @@ -16,6 +16,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { JSONCodeEditorCommonMemoized } from '../../../../components/json_code_editor/json_code_editor_common'; import { DOC_TABLE_LEGACY, SEARCH_FIELDS_FROM_SOURCE } from '../../../../../common'; +import type { DataTableRecord } from '../../../../types'; import { useEsDocSearch } from '../../../../hooks/use_es_doc_search'; import { ElasticRequestState } from '../../../../application/doc/types'; import { getHeight } from './get_height'; @@ -24,6 +25,7 @@ interface SourceViewerProps { id: string; index: string; dataView: DataView; + textBasedHits?: DataTableRecord[]; hasLineNumbers: boolean; width?: number; } @@ -40,6 +42,7 @@ export const DocViewerSource = ({ dataView, width, hasLineNumbers, + textBasedHits, }: SourceViewerProps) => { const [editor, setEditor] = useState(); const [editorHeight, setEditorHeight] = useState(); @@ -52,6 +55,7 @@ export const DocViewerSource = ({ index, dataView, requestSource: useNewFieldsApi, + textBasedHits, }); useEffect(() => { diff --git a/src/plugins/discover/public/services/doc_views/doc_views_types.ts b/src/plugins/discover/public/services/doc_views/doc_views_types.ts index 80ee0c724edd1..c91285e144b38 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_types.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_types.ts @@ -7,6 +7,7 @@ */ import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; +import type { AggregateQuery, Query } from '@kbn/es-query'; import { DataTableRecord } from '../../types'; import { IgnoredReason } from '../../utils/get_ignored_reason'; @@ -29,6 +30,8 @@ export interface DocViewRenderProps { hit: DataTableRecord; dataView: DataView; columns?: string[]; + query?: Query | AggregateQuery; + textBasedHits?: DataTableRecord[]; filter?: DocViewFilterFn; onAddColumn?: (columnName: string) => void; onRemoveColumn?: (columnName: string) => void; diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx index 75c666d4e2903..695c23fa0a2e2 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx @@ -277,6 +277,11 @@ export abstract class Embeddable< } } + /** + * Call this **only** when your embeddable has encountered a non-recoverable error; recoverable errors + * should be handled by the individual embeddable types + * @param e The fatal, unrecoverable Error that was thrown + */ protected onFatalError(e: Error) { this.fatalError = e; this.outputSubject.error(e); diff --git a/src/plugins/event_annotation/common/constants.ts b/src/plugins/event_annotation/common/constants.ts index 3f3f9877b9786..04255cee00c22 100644 --- a/src/plugins/event_annotation/common/constants.ts +++ b/src/plugins/event_annotation/common/constants.ts @@ -23,3 +23,5 @@ export const AvailableAnnotationIcons = { TAG: 'tag', TRIANGLE: 'triangle', } as const; + +export const EVENT_ANNOTATION_GROUP_TYPE = 'event-annotation-group'; diff --git a/src/plugins/event_annotation/common/index.ts b/src/plugins/event_annotation/common/index.ts index 779d0e13e7813..f7a62d4f3918a 100644 --- a/src/plugins/event_annotation/common/index.ts +++ b/src/plugins/event_annotation/common/index.ts @@ -33,4 +33,7 @@ export type { QueryPointEventAnnotationConfig, AvailableAnnotationIcon, EventAnnotationOutput, + EventAnnotationGroupAttributes, } from './types'; + +export { EVENT_ANNOTATION_GROUP_TYPE } from './constants'; diff --git a/src/plugins/event_annotation/common/types.ts b/src/plugins/event_annotation/common/types.ts index 5f869cbee5520..b3e704ef647e5 100644 --- a/src/plugins/event_annotation/common/types.ts +++ b/src/plugins/event_annotation/common/types.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { KibanaQueryOutput } from '@kbn/data-plugin/common'; +import { DataViewSpec, KibanaQueryOutput } from '@kbn/data-plugin/common'; import { DatatableColumn } from '@kbn/expressions-plugin/common'; import { $Values } from '@kbn/utility-types'; import { AvailableAnnotationIcons } from './constants'; @@ -82,10 +82,23 @@ export type EventAnnotationConfig = | RangeEventAnnotationConfig | QueryPointEventAnnotationConfig; +export interface EventAnnotationGroupAttributes { + title: string; + description: string; + tags: string[]; + ignoreGlobalFilters: boolean; + annotations: EventAnnotationConfig[]; + dataViewSpec?: DataViewSpec; +} + export interface EventAnnotationGroupConfig { annotations: EventAnnotationConfig[]; indexPatternId: string; - ignoreGlobalFilters?: boolean; + ignoreGlobalFilters: boolean; + title: string; + description: string; + tags: string[]; + dataViewSpec?: DataViewSpec; } export type EventAnnotationArgs = diff --git a/src/plugins/event_annotation/kibana.jsonc b/src/plugins/event_annotation/kibana.jsonc index f4f2a4791cfbb..b4df5edf135af 100644 --- a/src/plugins/event_annotation/kibana.jsonc +++ b/src/plugins/event_annotation/kibana.jsonc @@ -9,7 +9,12 @@ "browser": true, "requiredPlugins": [ "expressions", - "data" + "savedObjectsManagement", + "data", + ], + "requiredBundles": [ + "savedObjectsFinder", + "dataViews" ], "extraPublicDirs": [ "common" diff --git a/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx b/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx new file mode 100644 index 0000000000000..34b1ce7eb0694 --- /dev/null +++ b/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx @@ -0,0 +1,133 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useEffect, useState } from 'react'; +import { i18n } from '@kbn/i18n'; +import { CoreStart } from '@kbn/core/public'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; +import type { SavedObjectCommon } from '@kbn/saved-objects-finder-plugin/common'; +import { SavedObjectFinder } from '@kbn/saved-objects-finder-plugin/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { + EuiButton, + EuiEmptyPrompt, + EuiFlexGroup, + EuiFlexItem, + EuiLoadingSpinner, + EuiText, +} from '@elastic/eui'; +import { css } from '@emotion/react'; +import { EVENT_ANNOTATION_GROUP_TYPE } from '../../common'; + +export const EventAnnotationGroupSavedObjectFinder = ({ + uiSettings, + http, + savedObjectsManagement, + fixedPageSize = 10, + checkHasAnnotationGroups, + onChoose, + onCreateNew, +}: { + uiSettings: IUiSettingsClient; + http: CoreStart['http']; + savedObjectsManagement: SavedObjectsManagementPluginStart; + fixedPageSize?: number; + checkHasAnnotationGroups: () => Promise; + onChoose: (value: { + id: string; + type: string; + fullName: string; + savedObject: SavedObjectCommon; + }) => void; + onCreateNew: () => void; +}) => { + const [hasAnnotationGroups, setHasAnnotationGroups] = useState(); + + useEffect(() => { + checkHasAnnotationGroups().then(setHasAnnotationGroups); + }, [checkHasAnnotationGroups]); + + return hasAnnotationGroups === undefined ? ( + + + + + + ) : hasAnnotationGroups === false ? ( + + + + + } + body={ + +

+ +

+
+ } + actions={ + onCreateNew()} size="s"> + + + } + /> +
+ ) : ( + { + onChoose({ id, type, fullName, savedObject }); + }} + showFilter={false} + noItemsMessage={ + + } + savedObjectMetaData={savedObjectMetaData} + services={{ + uiSettings, + http, + savedObjectsManagement, + }} + /> + ); +}; + +const savedObjectMetaData = [ + { + type: EVENT_ANNOTATION_GROUP_TYPE, + getIconForSavedObject: () => 'annotation', + name: i18n.translate('eventAnnotation.eventAnnotationGroup.metadata.name', { + defaultMessage: 'Annotations Groups', + }), + includeFields: ['*'], + }, +]; diff --git a/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap b/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap new file mode 100644 index 0000000000000..73073c0e7ea16 --- /dev/null +++ b/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap @@ -0,0 +1,13 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Event Annotation Service loadAnnotationGroup should properly load an annotation group with a multiple annotation 1`] = ` +Object { + "annotations": undefined, + "dataViewSpec": undefined, + "description": undefined, + "ignoreGlobalFilters": undefined, + "indexPatternId": "ipid", + "tags": undefined, + "title": "groupTitle", +} +`; diff --git a/src/plugins/event_annotation/public/event_annotation_service/index.tsx b/src/plugins/event_annotation/public/event_annotation_service/index.tsx index e967a7cb0f0a2..18ef89681d621 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/index.tsx +++ b/src/plugins/event_annotation/public/event_annotation_service/index.tsx @@ -6,14 +6,28 @@ * Side Public License, v 1. */ +import { CoreStart } from '@kbn/core/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { EventAnnotationServiceType } from './types'; export class EventAnnotationService { private eventAnnotationService?: EventAnnotationServiceType; + + private core: CoreStart; + private savedObjectsManagement: SavedObjectsManagementPluginStart; + + constructor(core: CoreStart, savedObjectsManagement: SavedObjectsManagementPluginStart) { + this.core = core; + this.savedObjectsManagement = savedObjectsManagement; + } + public async getService() { if (!this.eventAnnotationService) { const { getEventAnnotationService } = await import('./service'); - this.eventAnnotationService = getEventAnnotationService(); + this.eventAnnotationService = getEventAnnotationService( + this.core, + this.savedObjectsManagement + ); } return this.eventAnnotationService; } diff --git a/src/plugins/event_annotation/public/event_annotation_service/service.test.ts b/src/plugins/event_annotation/public/event_annotation_service/service.test.ts index 5df25bc69d308..c131ca288a88d 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/service.test.ts +++ b/src/plugins/event_annotation/public/event_annotation_service/service.test.ts @@ -6,14 +6,150 @@ * Side Public License, v 1. */ +import { CoreStart, SimpleSavedObject } from '@kbn/core/public'; +import { coreMock } from '@kbn/core/public/mocks'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { EventAnnotationConfig, EventAnnotationGroupAttributes } from '../../common'; import { getEventAnnotationService } from './service'; import { EventAnnotationServiceType } from './types'; +type AnnotationGroupSavedObject = SimpleSavedObject; + +const annotationGroupResolveMocks: Record = { + nonExistingGroup: { + attributes: {} as EventAnnotationGroupAttributes, + references: [], + id: 'nonExistingGroup', + error: { + error: 'Saved object not found', + statusCode: 404, + message: 'Not found', + }, + } as Partial as AnnotationGroupSavedObject, + noAnnotations: { + attributes: { + title: 'groupTitle', + description: '', + tags: [], + ignoreGlobalFilters: false, + annotations: [], + }, + type: 'event-annotation-group', + references: [ + { + id: 'ipid', + name: 'ipid', + type: 'index-pattern', + }, + ], + } as Partial as AnnotationGroupSavedObject, + multiAnnotations: { + attributes: { + title: 'groupTitle', + }, + id: 'multiAnnotations', + type: 'event-annotation-group', + references: [ + { + id: 'ipid', + name: 'ipid', + type: 'index-pattern', + }, + ], + } as Partial as AnnotationGroupSavedObject, + withAdHocDataView: { + attributes: { + title: 'groupTitle', + dataViewSpec: { + id: 'my-id', + }, + } as Partial, + id: 'multiAnnotations', + type: 'event-annotation-group', + references: [], + } as Partial as AnnotationGroupSavedObject, +}; + +const annotationResolveMocks = { + nonExistingGroup: { savedObjects: [] }, + noAnnotations: { savedObjects: [] }, + multiAnnotations: { + savedObjects: [ + { + id: 'annotation1', + attributes: { + id: 'annotation1', + type: 'manual', + key: { type: 'point_in_time' as const, timestamp: '2022-03-18T08:25:00.000Z' }, + label: 'Event', + icon: 'triangle' as const, + color: 'red', + lineStyle: 'dashed' as const, + lineWidth: 3, + } as EventAnnotationConfig, + type: 'event-annotation', + references: [ + { + id: 'multiAnnotations', + name: 'event_annotation_group_ref', + type: 'event-annotation-group', + }, + ], + }, + { + id: 'annotation2', + attributes: { + id: 'ann2', + label: 'Query based event', + icon: 'triangle', + color: 'red', + type: 'query', + timeField: 'timestamp', + key: { + type: 'point_in_time', + }, + lineStyle: 'dashed', + lineWidth: 3, + filter: { type: 'kibana_query', query: '', language: 'kuery' }, + } as EventAnnotationConfig, + type: 'event-annotation', + references: [ + { + id: 'multiAnnotations', + name: 'event_annotation_group_ref', + type: 'event-annotation-group', + }, + ], + }, + ], + }, +}; + +let core: CoreStart; + describe('Event Annotation Service', () => { let eventAnnotationService: EventAnnotationServiceType; - beforeAll(() => { - eventAnnotationService = getEventAnnotationService(); + beforeEach(() => { + core = coreMock.createStart(); + (core.savedObjects.client.create as jest.Mock).mockImplementation(() => { + return annotationGroupResolveMocks.multiAnnotations; + }); + (core.savedObjects.client.get as jest.Mock).mockImplementation((_type, id) => { + const typedId = id as keyof typeof annotationGroupResolveMocks; + return annotationGroupResolveMocks[typedId]; + }); + (core.savedObjects.client.bulkCreate as jest.Mock).mockImplementation(() => { + return annotationResolveMocks.multiAnnotations; + }); + eventAnnotationService = getEventAnnotationService( + core, + {} as SavedObjectsManagementPluginStart + ); }); + afterEach(() => { + jest.clearAllMocks(); + }); + describe('toExpression', () => { it('should work for an empty list', () => { expect(eventAnnotationService.toExpression([])).toEqual([]); @@ -318,4 +454,190 @@ describe('Event Annotation Service', () => { } ); }); + describe('loadAnnotationGroup', () => { + it('should throw error when loading group doesnt exist', async () => { + expect(() => eventAnnotationService.loadAnnotationGroup('nonExistingGroup')).rejects + .toMatchInlineSnapshot(` + Object { + "error": "Saved object not found", + "message": "Not found", + "statusCode": 404, + } + `); + }); + it('should properly load an annotation group with no annotation', async () => { + expect(await eventAnnotationService.loadAnnotationGroup('noAnnotations')) + .toMatchInlineSnapshot(` + Object { + "annotations": Array [], + "dataViewSpec": undefined, + "description": "", + "ignoreGlobalFilters": false, + "indexPatternId": "ipid", + "tags": Array [], + "title": "groupTitle", + } + `); + }); + it('should properly load an annotation group with a multiple annotation', async () => { + expect( + await eventAnnotationService.loadAnnotationGroup('multiAnnotations') + ).toMatchSnapshot(); + }); + it('populates id if group has ad-hoc data view', async () => { + const group = await eventAnnotationService.loadAnnotationGroup('withAdHocDataView'); + + expect(group.indexPatternId).toBe(group.dataViewSpec?.id); + }); + }); + // describe.skip('deleteAnnotationGroup', () => { + // it('deletes annotation group along with annotations that reference them', async () => { + // await eventAnnotationService.deleteAnnotationGroup('multiAnnotations'); + // expect(core.savedObjects.client.bulkDelete).toHaveBeenCalledWith([ + // { id: 'multiAnnotations', type: 'event-annotation-group' }, + // { id: 'annotation1', type: 'event-annotation' }, + // { id: 'annotation2', type: 'event-annotation' }, + // ]); + // }); + // }); + describe('createAnnotationGroup', () => { + it('creates annotation group along with annotations', async () => { + const annotations = [ + annotationResolveMocks.multiAnnotations.savedObjects[0].attributes, + annotationResolveMocks.multiAnnotations.savedObjects[1].attributes, + ]; + await eventAnnotationService.createAnnotationGroup({ + title: 'newGroupTitle', + description: 'my description', + tags: ['my', 'many', 'tags'], + indexPatternId: 'ipid', + ignoreGlobalFilters: false, + annotations, + }); + expect(core.savedObjects.client.create).toHaveBeenCalledWith( + 'event-annotation-group', + { + title: 'newGroupTitle', + description: 'my description', + tags: ['my', 'many', 'tags'], + ignoreGlobalFilters: false, + dataViewSpec: null, + annotations, + }, + { + references: [ + { + id: 'ipid', + name: 'event-annotation-group_dataView-ref-ipid', + type: 'index-pattern', + }, + ], + } + ); + }); + }); + describe('updateAnnotationGroup', () => { + it('updates annotation group attributes', async () => { + await eventAnnotationService.updateAnnotationGroup( + { + title: 'newTitle', + description: '', + tags: [], + indexPatternId: 'newId', + annotations: [], + ignoreGlobalFilters: false, + }, + 'multiAnnotations' + ); + expect(core.savedObjects.client.update).toHaveBeenCalledWith( + 'event-annotation-group', + 'multiAnnotations', + { + title: 'newTitle', + description: '', + tags: [], + annotations: [], + dataViewSpec: null, + ignoreGlobalFilters: false, + }, + { + references: [ + { + id: 'newId', + name: 'event-annotation-group_dataView-ref-newId', + type: 'index-pattern', + }, + ], + } + ); + }); + }); + // describe.skip('updateAnnotations', () => { + // const upsert = [ + // { + // id: 'annotation2', + // label: 'Query based event', + // icon: 'triangle', + // color: 'red', + // type: 'query', + // timeField: 'timestamp', + // key: { + // type: 'point_in_time', + // }, + // lineStyle: 'dashed', + // lineWidth: 3, + // filter: { type: 'kibana_query', query: '', language: 'kuery' }, + // }, + // { + // id: 'annotation4', + // label: 'Query based event', + // type: 'query', + // timeField: 'timestamp', + // key: { + // type: 'point_in_time', + // }, + // filter: { type: 'kibana_query', query: '', language: 'kuery' }, + // }, + // ] as EventAnnotationConfig[]; + // it('updates annotations - deletes annotations', async () => { + // await eventAnnotationService.updateAnnotations('multiAnnotations', { + // delete: ['annotation1', 'annotation2'], + // }); + // expect(core.savedObjects.client.bulkDelete).toHaveBeenCalledWith([ + // { id: 'annotation1', type: 'event-annotation' }, + // { id: 'annotation2', type: 'event-annotation' }, + // ]); + // }); + // it('updates annotations - inserts new annotations', async () => { + // await eventAnnotationService.updateAnnotations('multiAnnotations', { upsert }); + // expect(core.savedObjects.client.bulkCreate).toHaveBeenCalledWith([ + // { + // id: 'annotation2', + // type: 'event-annotation', + // attributes: upsert[0], + // overwrite: true, + // references: [ + // { + // id: 'multiAnnotations', + // name: 'event-annotation-group-ref-annotation2', + // type: 'event-annotation-group', + // }, + // ], + // }, + // { + // id: 'annotation4', + // type: 'event-annotation', + // attributes: upsert[1], + // overwrite: true, + // references: [ + // { + // id: 'multiAnnotations', + // name: 'event-annotation-group-ref-annotation4', + // type: 'event-annotation-group', + // }, + // ], + // }, + // ]); + // }); + // }); }); diff --git a/src/plugins/event_annotation/public/event_annotation_service/service.tsx b/src/plugins/event_annotation/public/event_annotation_service/service.tsx index 1b2bdbc9611cc..a5ac2e265b0f7 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/service.tsx +++ b/src/plugins/event_annotation/public/event_annotation_service/service.tsx @@ -6,10 +6,19 @@ * Side Public License, v 1. */ +import React from 'react'; import { partition } from 'lodash'; import { queryToAst } from '@kbn/data-plugin/common'; import { ExpressionAstExpression } from '@kbn/expressions-plugin/common'; -import { EventAnnotationConfig } from '../../common'; +import { CoreStart, SavedObjectReference, SavedObjectsClientContract } from '@kbn/core/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { DataViewPersistableStateService } from '@kbn/data-views-plugin/common'; +import { + EventAnnotationConfig, + EventAnnotationGroupAttributes, + EventAnnotationGroupConfig, + EVENT_ANNOTATION_GROUP_TYPE, +} from '../../common'; import { EventAnnotationServiceType } from './types'; import { defaultAnnotationColor, @@ -18,108 +27,138 @@ import { isRangeAnnotationConfig, isQueryAnnotationConfig, } from './helpers'; +import { EventAnnotationGroupSavedObjectFinder } from '../components/event_annotation_group_saved_object_finder'; export function hasIcon(icon: string | undefined): icon is string { return icon != null && icon !== 'empty'; } -export function getEventAnnotationService(): EventAnnotationServiceType { - const annotationsToExpression = (annotations: EventAnnotationConfig[]) => { - const [queryBasedAnnotations, manualBasedAnnotations] = partition( - annotations, - isQueryAnnotationConfig +export function getEventAnnotationService( + core: CoreStart, + savedObjectsManagement: SavedObjectsManagementPluginStart +): EventAnnotationServiceType { + const client: SavedObjectsClientContract = core.savedObjects.client; + + const loadAnnotationGroup = async ( + savedObjectId: string + ): Promise => { + const savedObject = await client.get( + EVENT_ANNOTATION_GROUP_TYPE, + savedObjectId ); - const expressions = []; - - for (const annotation of manualBasedAnnotations) { - if (isRangeAnnotationConfig(annotation)) { - const { label, color, key, outside, id } = annotation; - const { timestamp: time, endTimestamp: endTime } = key; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'manual_range_event_annotation', - arguments: { - id: [id], - time: [time], - endTime: [endTime], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationRangeColor], - outside: [Boolean(outside)], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); - } else { - const { label, color, lineStyle, lineWidth, icon, key, textVisibility, id } = annotation; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'manual_point_event_annotation', - arguments: { - id: [id], - time: [key.timestamp], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationColor], - lineWidth: [lineWidth || 1], - lineStyle: [lineStyle || 'solid'], - icon: hasIcon(icon) ? [icon] : ['triangle'], - textVisibility: [textVisibility || false], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); - } + if (savedObject.error) { + throw savedObject.error; } - for (const annotation of queryBasedAnnotations) { - const { - id, - label, - color, - lineStyle, - lineWidth, - icon, - timeField, - textVisibility, - textField, - filter, - extraFields, - } = annotation; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'query_point_event_annotation', - arguments: { - id: [id], - timeField: timeField ? [timeField] : [], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationColor], - lineWidth: [lineWidth || 1], - lineStyle: [lineStyle || 'solid'], - icon: hasIcon(icon) ? [icon] : ['triangle'], - textVisibility: [textVisibility || false], - textField: textVisibility && textField ? [textField] : [], - filter: filter ? [queryToAst(filter)] : [], - extraFields: extraFields || [], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); + const adHocDataViewSpec = savedObject.attributes.dataViewSpec + ? DataViewPersistableStateService.inject( + savedObject.attributes.dataViewSpec, + savedObject.references + ) + : undefined; + + return { + title: savedObject.attributes.title, + description: savedObject.attributes.description, + tags: savedObject.attributes.tags, + ignoreGlobalFilters: savedObject.attributes.ignoreGlobalFilters, + indexPatternId: adHocDataViewSpec + ? adHocDataViewSpec.id! + : savedObject.references.find((ref) => ref.type === 'index-pattern')?.id!, + annotations: savedObject.attributes.annotations, + dataViewSpec: adHocDataViewSpec, + }; + }; + + const extractDataViewInformation = (group: EventAnnotationGroupConfig) => { + let { dataViewSpec = null } = group; + + let references: SavedObjectReference[]; + + if (dataViewSpec) { + if (!dataViewSpec.id) + throw new Error( + 'tried to create annotation group with a data view spec that did not include an ID!' + ); + + const { state, references: refsFromDataView } = + DataViewPersistableStateService.extract(dataViewSpec); + dataViewSpec = state; + references = refsFromDataView; + } else { + references = [ + { + type: 'index-pattern', + id: group.indexPatternId, + name: `event-annotation-group_dataView-ref-${group.indexPatternId}`, + }, + ]; } - return expressions; + + return { references, dataViewSpec }; + }; + + const createAnnotationGroup = async ( + group: EventAnnotationGroupConfig + ): Promise<{ id: string }> => { + const { references, dataViewSpec } = extractDataViewInformation(group); + const { title, description, tags, ignoreGlobalFilters, annotations } = group; + + const groupSavedObjectId = ( + await client.create( + EVENT_ANNOTATION_GROUP_TYPE, + { title, description, tags, ignoreGlobalFilters, annotations, dataViewSpec }, + { + references, + } + ) + ).id; + + return { id: groupSavedObjectId }; + }; + + const updateAnnotationGroup = async ( + group: EventAnnotationGroupConfig, + annotationGroupId: string + ): Promise => { + const { references, dataViewSpec } = extractDataViewInformation(group); + const { title, description, tags, ignoreGlobalFilters, annotations } = group; + + await client.update( + EVENT_ANNOTATION_GROUP_TYPE, + annotationGroupId, + { title, description, tags, ignoreGlobalFilters, annotations, dataViewSpec }, + { + references, + } + ); }; + + const checkHasAnnotationGroups = async (): Promise => { + const response = await client.find({ + type: EVENT_ANNOTATION_GROUP_TYPE, + perPage: 0, + }); + + return response.total > 0; + }; + return { + loadAnnotationGroup, + updateAnnotationGroup, + createAnnotationGroup, + renderEventAnnotationGroupSavedObjectFinder: (props) => { + return ( + + ); + }, toExpression: annotationsToExpression, toFetchExpression: ({ interval, groups }) => { if (groups.length === 0) { @@ -177,3 +216,99 @@ export function getEventAnnotationService(): EventAnnotationServiceType { }, }; } + +const annotationsToExpression = (annotations: EventAnnotationConfig[]) => { + const [queryBasedAnnotations, manualBasedAnnotations] = partition( + annotations, + isQueryAnnotationConfig + ); + + const expressions = []; + + for (const annotation of manualBasedAnnotations) { + if (isRangeAnnotationConfig(annotation)) { + const { label, color, key, outside, id } = annotation; + const { timestamp: time, endTimestamp: endTime } = key; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'manual_range_event_annotation', + arguments: { + id: [id], + time: [time], + endTime: [endTime], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationRangeColor], + outside: [Boolean(outside)], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } else { + const { label, color, lineStyle, lineWidth, icon, key, textVisibility, id } = annotation; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'manual_point_event_annotation', + arguments: { + id: [id], + time: [key.timestamp], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationColor], + lineWidth: [lineWidth || 1], + lineStyle: [lineStyle || 'solid'], + icon: hasIcon(icon) ? [icon] : ['triangle'], + textVisibility: [textVisibility || false], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } + } + + for (const annotation of queryBasedAnnotations) { + const { + id, + label, + color, + lineStyle, + lineWidth, + icon, + timeField, + textVisibility, + textField, + filter, + extraFields, + } = annotation; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'query_point_event_annotation', + arguments: { + id: [id], + timeField: timeField ? [timeField] : [], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationColor], + lineWidth: [lineWidth || 1], + lineStyle: [lineStyle || 'solid'], + icon: hasIcon(icon) ? [icon] : ['triangle'], + textVisibility: [textVisibility || false], + textField: textVisibility && textField ? [textField] : [], + filter: filter ? [queryToAst(filter)] : [], + extraFields: extraFields || [], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } + return expressions; +}; diff --git a/src/plugins/event_annotation/public/event_annotation_service/types.ts b/src/plugins/event_annotation/public/event_annotation_service/types.ts index cf3d759b7a324..603cc20c34bc8 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/types.ts +++ b/src/plugins/event_annotation/public/event_annotation_service/types.ts @@ -7,12 +7,31 @@ */ import { ExpressionAstExpression } from '@kbn/expressions-plugin/common/ast'; +import type { SavedObjectCommon } from '@kbn/saved-objects-finder-plugin/common'; import { EventAnnotationConfig, EventAnnotationGroupConfig } from '../../common'; export interface EventAnnotationServiceType { + loadAnnotationGroup: (savedObjectId: string) => Promise; + createAnnotationGroup: (group: EventAnnotationGroupConfig) => Promise<{ id: string }>; + updateAnnotationGroup: ( + group: EventAnnotationGroupConfig, + savedObjectId: string + ) => Promise; toExpression: (props: EventAnnotationConfig[]) => ExpressionAstExpression[]; toFetchExpression: (props: { interval: string; - groups: EventAnnotationGroupConfig[]; + groups: Array< + Pick + >; }) => ExpressionAstExpression[]; + renderEventAnnotationGroupSavedObjectFinder: (props: { + fixedPageSize?: number; + onChoose: (value: { + id: string; + type: string; + fullName: string; + savedObject: SavedObjectCommon; + }) => void; + onCreateNew: () => void; + }) => JSX.Element; } diff --git a/src/plugins/event_annotation/public/mocks.ts b/src/plugins/event_annotation/public/mocks.ts index e78d4e8f75de7..100b5d3f1c3e2 100644 --- a/src/plugins/event_annotation/public/mocks.ts +++ b/src/plugins/event_annotation/public/mocks.ts @@ -6,7 +6,12 @@ * Side Public License, v 1. */ +import { coreMock } from '@kbn/core/public/mocks'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { getEventAnnotationService } from './event_annotation_service/service'; // not really mocking but avoiding async loading -export const eventAnnotationServiceMock = getEventAnnotationService(); +export const eventAnnotationServiceMock = getEventAnnotationService( + coreMock.createStart(), + {} as SavedObjectsManagementPluginStart +); diff --git a/src/plugins/event_annotation/public/plugin.ts b/src/plugins/event_annotation/public/plugin.ts index 47df586e061d7..4d390f308a474 100644 --- a/src/plugins/event_annotation/public/plugin.ts +++ b/src/plugins/event_annotation/public/plugin.ts @@ -6,8 +6,9 @@ * Side Public License, v 1. */ -import { Plugin, CoreSetup, CoreStart, IUiSettingsClient } from '@kbn/core/public'; +import { Plugin, CoreSetup, CoreStart } from '@kbn/core/public'; import { ExpressionsSetup } from '@kbn/expressions-plugin/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { EventAnnotationService } from './event_annotation_service'; import { @@ -19,8 +20,8 @@ import { import { getFetchEventAnnotations } from './fetch_event_annotations'; export interface EventAnnotationStartDependencies { + savedObjectsManagement: SavedObjectsManagementPluginStart; data: DataPublicPluginStart; - uiSettings: IUiSettingsClient; } interface SetupDependencies { @@ -29,14 +30,12 @@ interface SetupDependencies { /** @public */ export type EventAnnotationPluginStart = EventAnnotationService; -export type EventAnnotationPluginSetup = EventAnnotationService; +export type EventAnnotationPluginSetup = void; /** @public */ export class EventAnnotationPlugin implements Plugin { - private readonly eventAnnotationService = new EventAnnotationService(); - public setup( core: CoreSetup, dependencies: SetupDependencies @@ -48,13 +47,12 @@ export class EventAnnotationPlugin dependencies.expressions.registerFunction( getFetchEventAnnotations({ getStartServices: core.getStartServices }) ); - return this.eventAnnotationService; } public start( core: CoreStart, startDependencies: EventAnnotationStartDependencies ): EventAnnotationService { - return this.eventAnnotationService; + return new EventAnnotationService(core, startDependencies.savedObjectsManagement); } } diff --git a/src/plugins/event_annotation/server/plugin.ts b/src/plugins/event_annotation/server/plugin.ts index 4d59f0e6800dd..0ae55744016e6 100644 --- a/src/plugins/event_annotation/server/plugin.ts +++ b/src/plugins/event_annotation/server/plugin.ts @@ -15,6 +15,7 @@ import { manualRangeEventAnnotation, queryPointEventAnnotation, } from '../common'; +import { setupSavedObjects } from './saved_objects'; // import { getFetchEventAnnotations } from './fetch_event_annotations'; interface SetupDependencies { @@ -33,9 +34,8 @@ export class EventAnnotationServerPlugin implements Plugin { dependencies.expressions.registerFunction(manualRangeEventAnnotation); dependencies.expressions.registerFunction(queryPointEventAnnotation); dependencies.expressions.registerFunction(eventAnnotationGroup); - // dependencies.expressions.registerFunction( - // getFetchEventAnnotations({ getStartServices: core.getStartServices }) - // ); + + setupSavedObjects(core); return {}; } diff --git a/src/plugins/event_annotation/server/saved_objects.ts b/src/plugins/event_annotation/server/saved_objects.ts new file mode 100644 index 0000000000000..768def6b27f79 --- /dev/null +++ b/src/plugins/event_annotation/server/saved_objects.ts @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ANALYTICS_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; +import { + CoreSetup, + mergeSavedObjectMigrationMaps, + SavedObjectMigrationMap, +} from '@kbn/core/server'; + +import { DataViewPersistableStateService } from '@kbn/data-views-plugin/common'; +import { EVENT_ANNOTATION_GROUP_TYPE } from '../common/constants'; +import { EventAnnotationGroupAttributes } from '../common/types'; + +export function setupSavedObjects(coreSetup: CoreSetup) { + coreSetup.savedObjects.registerType({ + name: EVENT_ANNOTATION_GROUP_TYPE, + indexPattern: ANALYTICS_SAVED_OBJECT_INDEX, + hidden: false, + namespaceType: 'multiple', + management: { + icon: 'flag', + defaultSearchField: 'title', + importableAndExportable: true, + getTitle: (obj: { attributes: EventAnnotationGroupAttributes }) => obj.attributes.title, + }, + migrations: () => { + const dataViewMigrations = DataViewPersistableStateService.getAllMigrations(); + return mergeSavedObjectMigrationMaps(eventAnnotationGroupMigrations, dataViewMigrations); + }, + mappings: { + dynamic: false, + properties: { + title: { + type: 'text', + }, + description: { + type: 'text', + }, + }, + }, + }); +} + +const eventAnnotationGroupMigrations: SavedObjectMigrationMap = {}; diff --git a/src/plugins/event_annotation/tsconfig.json b/src/plugins/event_annotation/tsconfig.json index 0b5e98d364fed..562bf05259c44 100644 --- a/src/plugins/event_annotation/tsconfig.json +++ b/src/plugins/event_annotation/tsconfig.json @@ -19,6 +19,10 @@ "@kbn/core-ui-settings-browser", "@kbn/datemath", "@kbn/ui-theme", + "@kbn/saved-objects-finder-plugin", + "@kbn/saved-objects-management-plugin", + "@kbn/i18n-react", + "@kbn/core-saved-objects-server" ], "exclude": [ "target/**/*", diff --git a/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts b/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts index 8ae5cfbe0ca84..597ddcaefc500 100644 --- a/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts +++ b/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts @@ -64,7 +64,6 @@ export class RenderCompleteDispatcher { if (!this.el) return; this.count++; this.el.setAttribute('data-render-complete', 'true'); - this.el.setAttribute('data-loading', 'false'); this.el.setAttribute('data-rendering-count', String(this.count)); } diff --git a/src/plugins/presentation_util/public/components/field_picker/field_picker.scss b/src/plugins/presentation_util/public/components/field_picker/field_picker.scss index cb81739118249..74e29b409b5f4 100644 --- a/src/plugins/presentation_util/public/components/field_picker/field_picker.scss +++ b/src/plugins/presentation_util/public/components/field_picker/field_picker.scss @@ -6,9 +6,7 @@ .fieldPickerSelectable { height: $euiSizeXXL * 9; // 40 * 9 = 360px - &.fieldPickerSelectableLoading { - .euiSelectableMessage { - height: 100%; - } + .euiSelectableMessage { + height: 100%; } } \ No newline at end of file diff --git a/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap b/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap index 0f2367910cefd..70ba2d5619d03 100644 --- a/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap +++ b/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap @@ -62,17 +62,45 @@ exports[`SavedObjectSaveModal should render matching snapshot 1`] = ` values={Object {}} /> } + labelAppend={ + + + + } labelType="label" >
- + + } + labelAppend={ + + + + } labelType="label" >
- + + } + labelAppend={ + + + + } labelType="label" > - + + } + labelAppend={ + + + + } labelType="label" > @@ -383,7 +477,22 @@ exports[`SavedObjectSaveModal should render matching snapshot when given options - + + hasTitleDuplicate: false, isLoading: false, visualizationDescription: this.props.description ? this.props.description : '', + hasAttemptedSubmit: false, }; public render() { - const { isTitleDuplicateConfirmed, hasTitleDuplicate, title } = this.state; + const { isTitleDuplicateConfirmed, hasTitleDuplicate, title, hasAttemptedSubmit } = this.state; const duplicateWarningId = generateId(); const hasColumns = !!this.props.rightOptions; @@ -101,7 +105,10 @@ export class SavedObjectSaveModal extends React.Component data-test-subj="savedObjectTitle" value={title} onChange={this.onTitleChange} - isInvalid={(!isTitleDuplicateConfirmed && hasTitleDuplicate) || title.length === 0} + isInvalid={ + hasAttemptedSubmit && + ((!isTitleDuplicateConfirmed && hasTitleDuplicate) || title.length === 0) + } aria-describedby={this.state.hasTitleDuplicate ? duplicateWarningId : undefined} /> @@ -135,11 +142,15 @@ export class SavedObjectSaveModal extends React.Component > - + {this.props.customModalTitle ? ( + this.props.customModalTitle + ) : ( + + )} @@ -153,11 +164,15 @@ export class SavedObjectSaveModal extends React.Component )} {formBody} - {this.renderCopyOnSave()} - + + {this.renderCopyOnSave()} return ( + + + } label={ } > private onFormSubmit = (event: React.FormEvent) => { event.preventDefault(); - this.saveSavedObject(); + + const { hasAttemptedSubmit, title } = this.state; + + if (!hasAttemptedSubmit) { + this.setState({ hasAttemptedSubmit: true }); + } + + const isValid = this.props.isValid !== undefined ? this.props.isValid : true; + + if (title.length !== 0 && isValid) { + this.saveSavedObject(); + } }; private renderConfirmButton = () => { - const { isLoading, title } = this.state; + const { isLoading } = this.state; let confirmLabel: string | React.ReactNode = i18n.translate( 'savedObjects.saveModal.saveButtonLabel', @@ -269,14 +301,11 @@ export class SavedObjectSaveModal extends React.Component confirmLabel = this.props.confirmButtonLabel; } - const isValid = this.props.isValid !== undefined ? this.props.isValid : true; - return ( @@ -327,21 +356,18 @@ export class SavedObjectSaveModal extends React.Component } return ( - <> - - - } - /> - + + } + /> ); }; } diff --git a/src/plugins/saved_objects_tagging_oss/public/api.ts b/src/plugins/saved_objects_tagging_oss/public/api.ts index 54afed5d6203c..50508b4f5a0c3 100644 --- a/src/plugins/saved_objects_tagging_oss/public/api.ts +++ b/src/plugins/saved_objects_tagging_oss/public/api.ts @@ -268,6 +268,11 @@ export type SavedObjectSaveModalTagSelectorComponentProps = EuiComboBoxProps< * tags selection callback */ onTagsSelected: (ids: string[]) => void; + + /** + * Add "Optional" to the label + */ + markOptional?: boolean; }; /** diff --git a/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx b/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx index 250f6b40c1e52..9bc781f464084 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx +++ b/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx @@ -544,6 +544,7 @@ export const getTopNavConfig = ( onTagsSelected={(newSelection) => { selectedTags = newSelection; }} + markOptional /> ); } diff --git a/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts b/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts index bda198fc16e8b..fd506429ba54f 100644 --- a/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts +++ b/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts @@ -16,7 +16,6 @@ import { FtrProviderContext } from '../../../../ftr_provider_context'; import { OPTIONS_LIST_DASHBOARD_NAME } from '.'; export default function ({ getService, getPageObjects }: FtrProviderContext) { - const retry = getService('retry'); const queryBar = getService('queryBar'); const pieChart = getService('pieChart'); const elasticChart = getService('elasticChart'); @@ -45,6 +44,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await elasticChart.setNewChartUiDebugFlag(); await dashboard.loadSavedDashboard(OPTIONS_LIST_DASHBOARD_NAME); await dashboard.ensureDashboardIsInEditMode(); + await header.waitUntilLoadingHasFinished(); }; before(async () => { @@ -67,12 +67,21 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); describe('Applies query settings to controls', async () => { - it('Applies dashboard query to options list control', async () => { - await queryBar.setQuery('animal.keyword : "dog" '); + it('Malformed query throws an error', async () => { + await queryBar.setQuery('animal.keyword : "dog" error'); await queryBar.submitQuery(); // quicker than clicking the submit button, but hides the time picker - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); + await testSubjects.existOrFail('control-frame-error'); + }); + it('Can recover from malformed query error', async () => { + await queryBar.setQuery('animal.keyword : "dog"'); + await queryBar.submitQuery(); + await header.waitUntilLoadingHasFinished(); + await testSubjects.missingOrFail('control-frame-error'); + }); + + it('Applies dashboard query to options list control', async () => { const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ 'ruff', 'bark', @@ -85,7 +94,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { invalidSelections: [], }); await queryBar.setQuery(''); - await queryBar.clickQuerySubmitButton(); // ensures that the time picker is visible for the next test + await queryBar.clickQuerySubmitButton(); // slower than submitQuery but ensures that the time picker is visible for the next test }); it('Applies dashboard time range to options list control', async () => { @@ -94,7 +103,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'Jan 1, 2017 @ 00:00:00.000', 'Jan 1, 2017 @ 00:00:00.000' ); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); await dashboardControls.optionsListOpenPopover(controlId); @@ -110,7 +118,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { operation: 'is one of', value: ['bark', 'bow ow ow', 'ruff'], }); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); }); @@ -128,20 +135,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('Does not apply disabled dashboard filters to options list control', async () => { await filterBar.toggleFilterEnabled('sound.keyword'); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); await dashboardControls.ensureAvailableOptionsEqual(controlId, { suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, invalidSelections: [], }); await filterBar.toggleFilterEnabled('sound.keyword'); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); }); it('Negated filters apply to options control', async () => { await filterBar.toggleFilterNegated('sound.keyword'); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); const suggestions = pick(OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, [ @@ -167,7 +171,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('Shows available options in options list', async () => { await queryBar.setQuery(''); await queryBar.submitQuery(); - await dashboard.waitForRenderComplete(); await header.waitUntilLoadingHasFinished(); await dashboardControls.ensureAvailableOptionsEqual(controlId, { suggestions: OPTIONS_LIST_ANIMAL_SOUND_SUGGESTIONS, @@ -218,16 +221,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('Applies options list control options to dashboard', async () => { - await retry.try(async () => { - expect(await pieChart.getPieSliceCount()).to.be(2); - }); + await dashboard.waitForRenderComplete(); + expect(await pieChart.getPieSliceCount()).to.be(2); }); it('Applies options list control options to dashboard by default on open', async () => { await dashboard.gotoDashboardLandingPage(); await header.waitUntilLoadingHasFinished(); await dashboard.clickUnsavedChangesContinueEditing(OPTIONS_LIST_DASHBOARD_NAME); - await header.waitUntilLoadingHasFinished(); + await dashboard.waitForRenderComplete(); expect(await pieChart.getPieSliceCount()).to.be(2); const selectionString = await dashboardControls.optionsListGetSelectionsString(controlId); @@ -236,13 +238,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('excluding selections has expected results', async () => { await dashboard.clickQuickSave(); - await dashboard.waitForRenderComplete(); + await header.waitUntilLoadingHasFinished(); await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSetIncludeSelections(false); await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); - await dashboard.waitForRenderComplete(); + await dashboard.waitForRenderComplete(); expect(await pieChart.getPieSliceCount()).to.be(5); await dashboard.clearUnsavedChanges(); }); @@ -251,8 +253,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSetIncludeSelections(true); await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); - await dashboard.waitForRenderComplete(); + await dashboard.waitForRenderComplete(); expect(await pieChart.getPieSliceCount()).to.be(2); await dashboard.clearUnsavedChanges(); }); @@ -339,8 +341,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSelectOption('B'); await dashboardControls.optionsListEnsurePopoverIsClosed(controlId); - await dashboard.waitForRenderComplete(); + await dashboard.waitForRenderComplete(); expect(await pieChart.getPieChartLabels()).to.eql(['bark', 'bow ow ow']); }); @@ -387,10 +389,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); controlId = (await dashboardControls.getAllControlIds())[0]; await header.waitUntilLoadingHasFinished(); - await dashboard.waitForRenderComplete(); }); it('creating exists query has expected results', async () => { + await dashboard.waitForRenderComplete(); expect((await pieChart.getPieChartValues())[0]).to.be(6); await dashboardControls.optionsListOpenPopover(controlId); await dashboardControls.optionsListPopoverSelectExists(); diff --git a/test/functional/apps/dashboard_elements/controls/range_slider.ts b/test/functional/apps/dashboard_elements/controls/range_slider.ts index fa075093fcbec..f1ccf742ad844 100644 --- a/test/functional/apps/dashboard_elements/controls/range_slider.ts +++ b/test/functional/apps/dashboard_elements/controls/range_slider.ts @@ -15,10 +15,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); const esArchiver = getService('esArchiver'); const security = getService('security'); + const queryBar = getService('queryBar'); const filterBar = getService('filterBar'); const testSubjects = getService('testSubjects'); const kibanaServer = getService('kibanaServer'); - const { dashboardControls, timePicker, common, dashboard } = getPageObjects([ + const { dashboardControls, timePicker, common, dashboard, header } = getPageObjects([ 'dashboardControls', 'timePicker', 'dashboard', @@ -231,5 +232,29 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect((await testSubjects.getVisibleText('rangeSlider__helpText')).length).to.be.above(0); }); }); + + describe('interaction', async () => { + it('Malformed query throws an error', async () => { + await queryBar.setQuery('AvgTicketPrice <= 300 error'); + await queryBar.submitQuery(); + await header.waitUntilLoadingHasFinished(); + await testSubjects.existOrFail('control-frame-error'); + }); + + it('Can recover from malformed query error', async () => { + await queryBar.setQuery('AvgTicketPrice <= 300'); + await queryBar.submitQuery(); + await header.waitUntilLoadingHasFinished(); + await testSubjects.missingOrFail('control-frame-error'); + }); + + it('Applies dashboard query to range slider control', async () => { + const firstId = (await dashboardControls.getAllControlIds())[0]; + await dashboardControls.rangeSliderWaitForLoading(); + await dashboardControls.validateRange('placeholder', firstId, '100', '300'); + await queryBar.setQuery(''); + await queryBar.submitQuery(); + }); + }); }); } diff --git a/test/functional/apps/discover/group2/_sql_view.ts b/test/functional/apps/discover/group2/_sql_view.ts index 3cc65ba4c3502..e2cfb68cef5b5 100644 --- a/test/functional/apps/discover/group2/_sql_view.ts +++ b/test/functional/apps/discover/group2/_sql_view.ts @@ -77,7 +77,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(await testSubjects.exists('unifiedHistogramQueryHits')).to.be(true); expect(await testSubjects.exists('discoverAlertsButton')).to.be(false); expect(await testSubjects.exists('shareTopNavButton')).to.be(true); - expect(await testSubjects.exists('docTableExpandToggleColumn')).to.be(false); + expect(await testSubjects.exists('docTableExpandToggleColumn')).to.be(true); expect(await testSubjects.exists('dataGridColumnSortingButton')).to.be(false); expect(await testSubjects.exists('fieldListFiltersFieldTypeFilterToggle')).to.be(true); await testSubjects.click('field-@message-showDetails'); @@ -97,7 +97,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // here Lens suggests a heatmap so it is rendered expect(await testSubjects.exists('unifiedHistogramChart')).to.be(true); expect(await testSubjects.exists('heatmapChart')).to.be(true); - const cell = await dataGrid.getCellElement(0, 3); + const cell = await dataGrid.getCellElement(0, 4); expect(await cell.getVisibleText()).to.be('2269'); }); @@ -110,7 +110,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await monacoEditor.setCodeEditorValue(testQuery); await testSubjects.click('querySubmitButton'); await PageObjects.header.waitUntilLoadingHasFinished(); - let cell = await dataGrid.getCellElement(0, 3); + let cell = await dataGrid.getCellElement(0, 4); expect(await cell.getVisibleText()).to.be('2269'); await PageObjects.timePicker.setAbsoluteRange( 'Sep 19, 2015 @ 06:31:44.000', @@ -120,7 +120,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(await testSubjects.exists('discoverNoResults')).to.be(true); await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.header.waitUntilLoadingHasFinished(); - cell = await dataGrid.getCellElement(0, 3); + cell = await dataGrid.getCellElement(0, 4); expect(await cell.getVisibleText()).to.be('2269'); }); @@ -135,7 +135,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await testSubjects.click('querySubmitButton'); await PageObjects.header.waitUntilLoadingHasFinished(); - const cell = await dataGrid.getCellElement(0, 3); + const cell = await dataGrid.getCellElement(0, 4); expect(await cell.getVisibleText()).to.be('2269'); }); }); diff --git a/test/functional/page_objects/visualize_page.ts b/test/functional/page_objects/visualize_page.ts index be870ce24e127..bcfbc8caa9ce1 100644 --- a/test/functional/page_objects/visualize_page.ts +++ b/test/functional/page_objects/visualize_page.ts @@ -16,6 +16,7 @@ interface VisualizeSaveModalArgs { redirectToOrigin?: boolean; addToDashboard?: boolean; dashboardId?: string; + description?: string; } type DashboardPickerOption = @@ -393,10 +394,20 @@ export class VisualizePageObject extends FtrService { public async setSaveModalValues( vizName: string, - { saveAsNew, redirectToOrigin, addToDashboard, dashboardId }: VisualizeSaveModalArgs = {} + { + saveAsNew, + redirectToOrigin, + addToDashboard, + dashboardId, + description, + }: VisualizeSaveModalArgs = {} ) { await this.testSubjects.setValue('savedObjectTitle', vizName); + if (description) { + await this.testSubjects.setValue('viewDescription', description); + } + const saveAsNewCheckboxExists = await this.testSubjects.exists('saveAsNewCheckbox'); if (saveAsNewCheckboxExists) { const state = saveAsNew ? 'check' : 'uncheck'; diff --git a/test/functional/screenshots/baseline/dashboard_controls_dark.png b/test/functional/screenshots/baseline/dashboard_controls_dark.png index ed39115481b86..8cd3d27384c3d 100644 Binary files a/test/functional/screenshots/baseline/dashboard_controls_dark.png and b/test/functional/screenshots/baseline/dashboard_controls_dark.png differ diff --git a/test/functional/screenshots/baseline/dashboard_controls_light.png b/test/functional/screenshots/baseline/dashboard_controls_light.png index 3139588dc6730..df1cf54bdbe20 100644 Binary files a/test/functional/screenshots/baseline/dashboard_controls_light.png and b/test/functional/screenshots/baseline/dashboard_controls_light.png differ diff --git a/x-pack/packages/ml/aiops_utils/src/fetch_stream.ts b/x-pack/packages/ml/aiops_utils/src/fetch_stream.ts index d8d71adc81bc3..d52ffcbf1a6d1 100644 --- a/x-pack/packages/ml/aiops_utils/src/fetch_stream.ts +++ b/x-pack/packages/ml/aiops_utils/src/fetch_stream.ts @@ -7,6 +7,8 @@ import type { ReducerAction } from 'react'; +import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; + import type { UseFetchStreamParamsDefault } from './use_fetch_stream'; type GeneratorError = string | null; @@ -23,6 +25,7 @@ type GeneratorError = string | null; * ``` * * @param endpoint — The API endpoint including the Kibana basepath. + * @param apiVersion - The API version to be used. * @param abortCtrl — Abort controller for cancelling the request. * @param body — The request body. For now all requests are POST. * @param ndjson — Boolean flag to receive the stream as a raw string or NDJSON. @@ -37,6 +40,7 @@ type GeneratorError = string | null; */ export async function* fetchStream( endpoint: `${BasePath}${I['endpoint']}`, + apiVersion: string, abortCtrl: React.MutableRefObject, body: I['body'], ndjson = true, @@ -54,6 +58,7 @@ export async function* fetchStream 0 ? { body: JSON.stringify(body) } : {}), diff --git a/x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts b/x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts index 7402161db64a1..cbfb5d6626586 100644 --- a/x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts +++ b/x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts @@ -7,11 +7,31 @@ /** * Time range definition for baseline and deviation to be used by spike log analysis. + * + * @export + * @interface WindowParameters + * @typedef {WindowParameters} */ export interface WindowParameters { + /** + * Baseline minimum value + * @type {number} + */ baselineMin: number; + /** + * Baseline maximum value + * @type {number} + */ baselineMax: number; + /** + * Deviation minimum value + * @type {number} + */ deviationMin: number; + /** + * Deviation maximum value + * @type {number} + */ deviationMax: number; } diff --git a/x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts b/x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts index 516a63e165ffb..e5e8edc136ae8 100644 --- a/x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts +++ b/x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts @@ -21,10 +21,31 @@ import { stringReducer, StringReducer } from './string_reducer'; /** * Custom hook type definition of the base params for an NDJSON stream with custom reducer. + * + * @export + * @interface UseFetchStreamCustomReducerParams + * @typedef {UseFetchStreamCustomReducerParams} */ export interface UseFetchStreamCustomReducerParams { + /** + * API endpoint + * @type {string} + */ endpoint: string; + /** + * API version + * @type {string} + */ + apiVersion: string; + /** + * Request body + * @type {object} + */ body: object; + /** + * Reducer function to be applied to response chunks. + * @type {Reducer} + */ reducer: Reducer; } @@ -32,11 +53,36 @@ export interface UseFetchStreamCustomReducerParams { * Custom hook type definition of the base params for a string base stream without a custom reducer. */ export interface UseFetchStreamParamsDefault { + /** + * API endpoint + * @type {string} + */ endpoint: string; + /** + * API version + * @type {string} + */ + apiVersion: string; + /** + * Request body + * @type {object} + */ body: object; + /** + * Reducer function to be applied to response chunks. + * @type {StringReducer} + */ reducer: StringReducer; } +/** + * The return type of the `useFetchStream` hook. + * + * @interface UseFetchStreamReturnType + * @typedef {UseFetchStreamReturnType} + * @template Data + * @template Action + */ interface UseFetchStreamReturnType { cancel: () => void; data: Data; @@ -47,34 +93,83 @@ interface UseFetchStreamReturnType { start: () => Promise; } -// These overloads allow us to fall back to a simple reducer that just acts on a string as the reducer state -// if no options are supplied. Passing in options will use a custom reducer with appropriate type support. +/** + * This overload allows us to fall back to a simple reducer that + * just acts on a string as the reducer state if no options are supplied. + * + * @export + * @template I + * @template BasePath + * @param {`${I['endpoint']}`} endpoint - API endpoint including Kibana base path. + * @param {I['apiVersion']} apiVersion - API version. + * @param {I['body']} body - API request body. + * @returns {UseFetchStreamReturnType>} - An object with streaming data and methods to act on the stream. + */ export function useFetchStream( endpoint: `${BasePath}${I['endpoint']}`, + apiVersion: I['apiVersion'], body: I['body'] ): UseFetchStreamReturnType>; +/** + * This overload covers passing in options and will use + * a custom reducer with appropriate type support. + * + * @export + * @template I + * @template BasePath + * @param {`${I['endpoint']}`} endpoint - API endpoint including Kibana base path. + * @param {I['apiVersion']} apiVersion - API version. + * @param {I['body']} body - API request body. + * @param {{ reducer: I['reducer']; initialState: ReducerState }} options - Custom reducer and initial state. + * @returns {UseFetchStreamReturnType, ReducerAction>} - An object with streaming data and methods to act on the stream. + */ export function useFetchStream< I extends UseFetchStreamCustomReducerParams, BasePath extends string >( endpoint: `${BasePath}${I['endpoint']}`, + apiVersion: I['apiVersion'], body: I['body'], - options: { reducer: I['reducer']; initialState: ReducerState } + options: { + /** + * Custom reducer + * @type {I['reducer']} + */ + reducer: I['reducer']; + /** + * Initial state + * @type {ReducerState} + */ + initialState: ReducerState; + } ): UseFetchStreamReturnType, ReducerAction>; /** * Custom hook to receive streaming data. * * @param endpoint - API endpoint including Kibana base path. + * @param apiVersion - API version. * @param body - API request body. * @param options - Optional custom reducer and initial state. - * @returns An object with streaming data and methods act on the stream. + * @returns An object with streaming data and methods to act on the stream. */ export function useFetchStream( endpoint: `${BasePath}${I['endpoint']}`, + apiVersion: string, body: I['body'], - options?: { reducer: I['reducer']; initialState: ReducerState } + options?: { + /** + * Custom reducer + * @type {I['reducer']} + */ + reducer: I['reducer']; + /** + * Initial state + * @type {ReducerState} + */ + initialState: ReducerState; + } ): UseFetchStreamReturnType, ReducerAction> { const [errors, setErrors] = useState([]); const [isCancelled, setIsCancelled] = useState(false); @@ -106,7 +201,7 @@ export function useFetchStream(endpoint, abortCtrl, body, options !== undefined)) { + >(endpoint, apiVersion, abortCtrl, body, options !== undefined)) { if (fetchStreamError !== null) { addError(fetchStreamError); } else if (actions.length > 0) { diff --git a/x-pack/packages/ml/aiops_utils/tsconfig.json b/x-pack/packages/ml/aiops_utils/tsconfig.json index 727c591601218..a548e35816a38 100644 --- a/x-pack/packages/ml/aiops_utils/tsconfig.json +++ b/x-pack/packages/ml/aiops_utils/tsconfig.json @@ -16,6 +16,7 @@ "kbn_references": [ "@kbn/logging", "@kbn/core-http-server", + "@kbn/core-http-common", ], "exclude": [ "target/**/*", diff --git a/x-pack/packages/security-solution/data_table/common/constants.ts b/x-pack/packages/security-solution/data_table/common/constants.ts deleted file mode 100644 index b2e623eebddb6..0000000000000 --- a/x-pack/packages/security-solution/data_table/common/constants.ts +++ /dev/null @@ -1,501 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -/** - * as const - * - * The const assertion ensures that type widening does not occur - * https://mariusschulz.com/blog/literal-type-widening-in-typescript - * Please follow this convention when adding to this file - */ - -export const APP_ID = 'securitySolution' as const; -export const APP_UI_ID = 'securitySolutionUI' as const; -export const CASES_FEATURE_ID = 'securitySolutionCases' as const; -export const SERVER_APP_ID = 'siem' as const; -export const APP_NAME = 'Security' as const; -export const APP_ICON = 'securityAnalyticsApp' as const; -export const APP_ICON_SOLUTION = 'logoSecurity' as const; -export const APP_PATH = `/app/security` as const; -export const ADD_DATA_PATH = `/app/integrations/browse/security`; -export const ADD_THREAT_INTELLIGENCE_DATA_PATH = `/app/integrations/browse/threat_intel`; -export const DEFAULT_BYTES_FORMAT = 'format:bytes:defaultPattern' as const; -export const DEFAULT_DATE_FORMAT = 'dateFormat' as const; -export const DEFAULT_DATE_FORMAT_TZ = 'dateFormat:tz' as const; -export const DEFAULT_DARK_MODE = 'theme:darkMode' as const; -export const DEFAULT_INDEX_KEY = 'securitySolution:defaultIndex' as const; -export const DEFAULT_NUMBER_FORMAT = 'format:number:defaultPattern' as const; -export const DEFAULT_DATA_VIEW_ID = 'security-solution' as const; -export const DEFAULT_TIME_FIELD = '@timestamp' as const; -export const DEFAULT_TIME_RANGE = 'timepicker:timeDefaults' as const; -export const DEFAULT_REFRESH_RATE_INTERVAL = 'timepicker:refreshIntervalDefaults' as const; -export const DEFAULT_APP_TIME_RANGE = 'securitySolution:timeDefaults' as const; -export const DEFAULT_APP_REFRESH_INTERVAL = 'securitySolution:refreshIntervalDefaults' as const; -export const DEFAULT_ALERTS_INDEX = '.alerts-security.alerts' as const; -export const DEFAULT_SIGNALS_INDEX = '.siem-signals' as const; -export const DEFAULT_PREVIEW_INDEX = '.preview.alerts-security.alerts' as const; -export const DEFAULT_LISTS_INDEX = '.lists' as const; -export const DEFAULT_ITEMS_INDEX = '.items' as const; -// The DEFAULT_MAX_SIGNALS value exists also in `x-pack/plugins/cases/common/constants.ts` -// If either changes, engineer should ensure both values are updated -export const DEFAULT_MAX_SIGNALS = 100 as const; -export const DEFAULT_SEARCH_AFTER_PAGE_SIZE = 100 as const; -export const DEFAULT_ANOMALY_SCORE = 'securitySolution:defaultAnomalyScore' as const; -export const DEFAULT_MAX_TABLE_QUERY_SIZE = 10000 as const; -export const DEFAULT_FROM = 'now/d' as const; -export const DEFAULT_TO = 'now/d' as const; -export const DEFAULT_INTERVAL_PAUSE = true as const; -export const DEFAULT_INTERVAL_TYPE = 'manual' as const; -export const DEFAULT_INTERVAL_VALUE = 300000 as const; // ms -export const DEFAULT_TIMEPICKER_QUICK_RANGES = 'timepicker:quickRanges' as const; -export const SCROLLING_DISABLED_CLASS_NAME = 'scrolling-disabled' as const; -export const FULL_SCREEN_TOGGLED_CLASS_NAME = 'fullScreenToggled' as const; -export const NO_ALERT_INDEX = 'no-alert-index-049FC71A-4C2C-446F-9901-37XMC5024C51' as const; -export const ENDPOINT_METADATA_INDEX = 'metrics-endpoint.metadata-*' as const; -export const ENDPOINT_METRICS_INDEX = '.ds-metrics-endpoint.metrics-*' as const; -export const DEFAULT_RULE_REFRESH_INTERVAL_ON = true as const; -export const DEFAULT_RULE_REFRESH_INTERVAL_VALUE = 60000 as const; // ms -export const DEFAULT_RULE_NOTIFICATION_QUERY_SIZE = 100 as const; -export const SECURITY_FEATURE_ID = 'Security' as const; -export const SECURITY_TAG_NAME = 'Security Solution' as const; -export const DEFAULT_SPACE_ID = 'default' as const; -export const DEFAULT_RELATIVE_DATE_THRESHOLD = 24 as const; - -// Document path where threat indicator fields are expected. Fields are used -// to enrich signals, and are copied to threat.enrichments. -export const DEFAULT_INDICATOR_SOURCE_PATH = 'threat.indicator' as const; -export const ENRICHMENT_DESTINATION_PATH = 'threat.enrichments' as const; -export const DEFAULT_THREAT_INDEX_KEY = 'securitySolution:defaultThreatIndex' as const; -export const DEFAULT_THREAT_INDEX_VALUE = ['logs-ti_*'] as const; -export const DEFAULT_THREAT_MATCH_QUERY = '@timestamp >= "now-30d/d"' as const; - -export enum SecurityPageName { - administration = 'administration', - alerts = 'alerts', - blocklist = 'blocklist', - /* - * Warning: Computed values are not permitted in an enum with string valued members - * All Cases page names must match `CasesDeepLinkId` in x-pack/plugins/cases/public/common/navigation/deep_links.ts - */ - case = 'cases', // must match `CasesDeepLinkId.cases` - caseConfigure = 'cases_configure', // must match `CasesDeepLinkId.casesConfigure` - caseCreate = 'cases_create', // must match `CasesDeepLinkId.casesCreate` - /* - * Warning: Computed values are not permitted in an enum with string valued members - * All cloud security posture page names must match `CloudSecurityPosturePageId` in x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts - */ - cloudSecurityPostureBenchmarks = 'cloud_security_posture-benchmarks', - cloudSecurityPostureDashboard = 'cloud_security_posture-dashboard', - cloudSecurityPostureFindings = 'cloud_security_posture-findings', - cloudSecurityPostureRules = 'cloud_security_posture-rules', - dashboardsLanding = 'dashboards', - dataQuality = 'data_quality', - detections = 'detections', - detectionAndResponse = 'detection_response', - endpoints = 'endpoints', - eventFilters = 'event_filters', - exceptions = 'exceptions', - exploreLanding = 'explore', - hostIsolationExceptions = 'host_isolation_exceptions', - hosts = 'hosts', - hostsAnomalies = 'hosts-anomalies', - hostsRisk = 'hosts-risk', - hostsEvents = 'hosts-events', - investigate = 'investigate', - kubernetes = 'kubernetes', - landing = 'get_started', - network = 'network', - networkAnomalies = 'network-anomalies', - networkDns = 'network-dns', - networkEvents = 'network-events', - networkHttp = 'network-http', - networkTls = 'network-tls', - noPage = '', - overview = 'overview', - policies = 'policy', - responseActionsHistory = 'response_actions_history', - rules = 'rules', - rulesCreate = 'rules-create', - sessions = 'sessions', - /* - * Warning: Computed values are not permitted in an enum with string valued members - * All threat intelligence page names must match `TIPageId` in x-pack/plugins/threat_intelligence/public/common/navigation/types.ts - */ - threatIntelligenceIndicators = 'threat_intelligence-indicators', - timelines = 'timelines', - timelinesTemplates = 'timelines-templates', - trustedApps = 'trusted_apps', - uncommonProcesses = 'uncommon_processes', - users = 'users', - usersAnomalies = 'users-anomalies', - usersAuthentications = 'users-authentications', - usersEvents = 'users-events', - usersRisk = 'users-risk', - entityAnalytics = 'entity-analytics', -} - -export const EXPLORE_PATH = '/explore' as const; -export const DASHBOARDS_PATH = '/dashboards' as const; -export const MANAGE_PATH = '/manage' as const; -export const TIMELINES_PATH = '/timelines' as const; -export const CASES_PATH = '/cases' as const; -export const OVERVIEW_PATH = '/overview' as const; -export const LANDING_PATH = '/get_started' as const; -export const DATA_QUALITY_PATH = '/data_quality' as const; -export const DETECTION_RESPONSE_PATH = '/detection_response' as const; -export const DETECTIONS_PATH = '/detections' as const; -export const ALERTS_PATH = '/alerts' as const; -export const RULES_PATH = '/rules' as const; -export const RULES_CREATE_PATH = `${RULES_PATH}/create` as const; -export const EXCEPTIONS_PATH = '/exceptions' as const; -export const EXCEPTION_LIST_DETAIL_PATH = `${EXCEPTIONS_PATH}/details/:detailName` as const; -export const HOSTS_PATH = '/hosts' as const; -export const USERS_PATH = '/users' as const; -export const KUBERNETES_PATH = '/kubernetes' as const; -export const NETWORK_PATH = '/network' as const; -export const MANAGEMENT_PATH = '/administration' as const; -export const THREAT_INTELLIGENCE_PATH = '/threat_intelligence' as const; -export const ENDPOINTS_PATH = `${MANAGEMENT_PATH}/endpoints` as const; -export const POLICIES_PATH = `${MANAGEMENT_PATH}/policy` as const; -export const TRUSTED_APPS_PATH = `${MANAGEMENT_PATH}/trusted_apps` as const; -export const EVENT_FILTERS_PATH = `${MANAGEMENT_PATH}/event_filters` as const; -export const HOST_ISOLATION_EXCEPTIONS_PATH = - `${MANAGEMENT_PATH}/host_isolation_exceptions` as const; -export const BLOCKLIST_PATH = `${MANAGEMENT_PATH}/blocklist` as const; -export const RESPONSE_ACTIONS_HISTORY_PATH = `${MANAGEMENT_PATH}/response_actions_history` as const; -export const ENTITY_ANALYTICS_PATH = '/entity_analytics' as const; -export const APP_OVERVIEW_PATH = `${APP_PATH}${OVERVIEW_PATH}` as const; -export const APP_LANDING_PATH = `${APP_PATH}${LANDING_PATH}` as const; -export const APP_DETECTION_RESPONSE_PATH = `${APP_PATH}${DETECTION_RESPONSE_PATH}` as const; -export const APP_MANAGEMENT_PATH = `${APP_PATH}${MANAGEMENT_PATH}` as const; - -export const APP_ALERTS_PATH = `${APP_PATH}${ALERTS_PATH}` as const; -export const APP_RULES_PATH = `${APP_PATH}${RULES_PATH}` as const; -export const APP_EXCEPTIONS_PATH = `${APP_PATH}${EXCEPTIONS_PATH}` as const; - -export const APP_HOSTS_PATH = `${APP_PATH}${HOSTS_PATH}` as const; -export const APP_USERS_PATH = `${APP_PATH}${USERS_PATH}` as const; -export const APP_NETWORK_PATH = `${APP_PATH}${NETWORK_PATH}` as const; -export const APP_KUBERNETES_PATH = `${APP_PATH}${KUBERNETES_PATH}` as const; -export const APP_TIMELINES_PATH = `${APP_PATH}${TIMELINES_PATH}` as const; -export const APP_CASES_PATH = `${APP_PATH}${CASES_PATH}` as const; -export const APP_ENDPOINTS_PATH = `${APP_PATH}${ENDPOINTS_PATH}` as const; -export const APP_POLICIES_PATH = `${APP_PATH}${POLICIES_PATH}` as const; -export const APP_TRUSTED_APPS_PATH = `${APP_PATH}${TRUSTED_APPS_PATH}` as const; -export const APP_EVENT_FILTERS_PATH = `${APP_PATH}${EVENT_FILTERS_PATH}` as const; -export const APP_HOST_ISOLATION_EXCEPTIONS_PATH = - `${APP_PATH}${HOST_ISOLATION_EXCEPTIONS_PATH}` as const; -export const APP_BLOCKLIST_PATH = `${APP_PATH}${BLOCKLIST_PATH}` as const; -export const APP_RESPONSE_ACTIONS_HISTORY_PATH = - `${APP_PATH}${RESPONSE_ACTIONS_HISTORY_PATH}` as const; -export const APP_ENTITY_ANALYTICS_PATH = `${APP_PATH}${ENTITY_ANALYTICS_PATH}` as const; -export const APP_DATA_QUALITY_PATH = `${APP_PATH}${DATA_QUALITY_PATH}` as const; - -// cloud logs to exclude from default index pattern -export const EXCLUDE_ELASTIC_CLOUD_INDICES = ['-*elastic-cloud-logs-*']; - -/** The comma-delimited list of Elasticsearch indices from which the SIEM app collects events */ -export const INCLUDE_INDEX_PATTERN = [ - 'apm-*-transaction*', - 'auditbeat-*', - 'endgame-*', - 'filebeat-*', - 'logs-*', - 'packetbeat-*', - 'traces-apm*', - 'winlogbeat-*', -]; -/** The comma-delimited list of Elasticsearch indices from which the SIEM app collects events, and the exclude index pattern */ -export const DEFAULT_INDEX_PATTERN = [...INCLUDE_INDEX_PATTERN, ...EXCLUDE_ELASTIC_CLOUD_INDICES]; - -/** This Kibana Advanced Setting enables the grouped navigation in Security Solution */ -export const ENABLE_GROUPED_NAVIGATION = 'securitySolution:enableGroupedNav' as const; - -/** This Kibana Advanced Setting enables the `Security news` feed widget */ -export const ENABLE_NEWS_FEED_SETTING = 'securitySolution:enableNewsFeed' as const; - -/** This Kibana Advanced Setting enables the warnings for CCS read permissions */ -export const ENABLE_CCS_READ_WARNING_SETTING = 'securitySolution:enableCcsWarning' as const; - -/** This Kibana Advanced Setting sets the auto refresh interval for the detections all rules table */ -export const DEFAULT_RULES_TABLE_REFRESH_SETTING = 'securitySolution:rulesTableRefresh' as const; - -/** This Kibana Advanced Setting specifies the URL of the News feed widget */ -export const NEWS_FEED_URL_SETTING = 'securitySolution:newsFeedUrl' as const; - -/** The default value for News feed widget */ -export const NEWS_FEED_URL_SETTING_DEFAULT = 'https://feeds.elastic.co/security-solution' as const; - -/** This Kibana Advanced Setting specifies the URLs of `IP Reputation Links`*/ -export const IP_REPUTATION_LINKS_SETTING = 'securitySolution:ipReputationLinks' as const; - -/** The default value for `IP Reputation Links` */ -export const IP_REPUTATION_LINKS_SETTING_DEFAULT = `[ - { "name": "virustotal.com", "url_template": "https://www.virustotal.com/gui/search/{{ip}}" }, - { "name": "talosIntelligence.com", "url_template": "https://talosintelligence.com/reputation_center/lookup?search={{ip}}" } -]`; - -/** This Kibana Advanced Setting shows related integrations on the Rules Table */ -export const SHOW_RELATED_INTEGRATIONS_SETTING = - 'securitySolution:showRelatedIntegrations' as const; - -/** This Kibana Advanced Setting enables extended rule execution logging to Event Log */ -export const EXTENDED_RULE_EXECUTION_LOGGING_ENABLED_SETTING = - 'securitySolution:extendedRuleExecutionLoggingEnabled' as const; - -/** This Kibana Advanced Setting sets minimum log level starting from which execution logs will be written to Event Log */ -export const EXTENDED_RULE_EXECUTION_LOGGING_MIN_LEVEL_SETTING = - 'securitySolution:extendedRuleExecutionLoggingMinLevel' as const; - -/** - * Id for the notifications alerting type - * @deprecated Once we are confident all rules relying on side-car actions SO's have been migrated to SO references we should remove this function - */ -export const LEGACY_NOTIFICATIONS_ID = `siem.notifications` as const; - -/** - * Internal actions route - */ -export const UPDATE_OR_CREATE_LEGACY_ACTIONS = '/internal/api/detection/legacy/notifications'; - -/** - * Exceptions management routes - */ - -export const SHARED_EXCEPTION_LIST_URL = `/api${EXCEPTIONS_PATH}/shared` as const; - -/** - * Detection engine routes - */ -export const DETECTION_ENGINE_URL = '/api/detection_engine' as const; -export const DETECTION_ENGINE_PRIVILEGES_URL = `${DETECTION_ENGINE_URL}/privileges` as const; -export const DETECTION_ENGINE_INDEX_URL = `${DETECTION_ENGINE_URL}/index` as const; - -export const DETECTION_ENGINE_RULES_URL = `${DETECTION_ENGINE_URL}/rules` as const; -export const DETECTION_ENGINE_RULES_URL_FIND = `${DETECTION_ENGINE_RULES_URL}/_find` as const; -export const DETECTION_ENGINE_TAGS_URL = `${DETECTION_ENGINE_URL}/tags` as const; -export const DETECTION_ENGINE_RULES_BULK_ACTION = - `${DETECTION_ENGINE_RULES_URL}/_bulk_action` as const; -export const DETECTION_ENGINE_RULES_PREVIEW = `${DETECTION_ENGINE_RULES_URL}/preview` as const; -export const DETECTION_ENGINE_RULES_BULK_DELETE = - `${DETECTION_ENGINE_RULES_URL}/_bulk_delete` as const; -export const DETECTION_ENGINE_RULES_BULK_CREATE = - `${DETECTION_ENGINE_RULES_URL}/_bulk_create` as const; -export const DETECTION_ENGINE_RULES_BULK_UPDATE = - `${DETECTION_ENGINE_RULES_URL}/_bulk_update` as const; - -export const INTERNAL_RISK_SCORE_URL = '/internal/risk_score' as const; -export const DEV_TOOL_PREBUILT_CONTENT = - `${INTERNAL_RISK_SCORE_URL}/prebuilt_content/dev_tool/{console_id}` as const; -export const devToolPrebuiltContentUrl = (spaceId: string, consoleId: string) => - `/s/${spaceId}${INTERNAL_RISK_SCORE_URL}/prebuilt_content/dev_tool/${consoleId}` as const; -export const PREBUILT_SAVED_OBJECTS_BULK_CREATE = `${INTERNAL_RISK_SCORE_URL}/prebuilt_content/saved_objects/_bulk_create/{template_name}`; -export const prebuiltSavedObjectsBulkCreateUrl = (templateName: string) => - `${INTERNAL_RISK_SCORE_URL}/prebuilt_content/saved_objects/_bulk_create/${templateName}` as const; -export const PREBUILT_SAVED_OBJECTS_BULK_DELETE = `${INTERNAL_RISK_SCORE_URL}/prebuilt_content/saved_objects/_bulk_delete/{template_name}`; -export const prebuiltSavedObjectsBulkDeleteUrl = (templateName: string) => - `${INTERNAL_RISK_SCORE_URL}/prebuilt_content/saved_objects/_bulk_delete/${templateName}` as const; -export const RISK_SCORE_CREATE_INDEX = `${INTERNAL_RISK_SCORE_URL}/indices/create`; -export const RISK_SCORE_DELETE_INDICES = `${INTERNAL_RISK_SCORE_URL}/indices/delete`; -export const RISK_SCORE_CREATE_STORED_SCRIPT = `${INTERNAL_RISK_SCORE_URL}/stored_scripts/create`; -export const RISK_SCORE_DELETE_STORED_SCRIPT = `${INTERNAL_RISK_SCORE_URL}/stored_scripts/delete`; -/** - * Internal detection engine routes - */ -export const INTERNAL_DETECTION_ENGINE_URL = '/internal/detection_engine' as const; -export const DETECTION_ENGINE_ALERTS_INDEX_URL = - `${INTERNAL_DETECTION_ENGINE_URL}/signal/index` as const; - -/** - * Telemetry detection endpoint for any previews requested of what data we are - * providing through UI/UX and for e2e tests. - * curl http//localhost:5601/internal/security_solution/telemetry - * to see the contents - */ -export const SECURITY_TELEMETRY_URL = `/internal/security_solution/telemetry` as const; - -export const TIMELINE_RESOLVE_URL = '/api/timeline/resolve' as const; -export const TIMELINE_URL = '/api/timeline' as const; -export const TIMELINES_URL = '/api/timelines' as const; -export const TIMELINE_FAVORITE_URL = '/api/timeline/_favorite' as const; -export const TIMELINE_DRAFT_URL = `${TIMELINE_URL}/_draft` as const; -export const TIMELINE_EXPORT_URL = `${TIMELINE_URL}/_export` as const; -export const TIMELINE_IMPORT_URL = `${TIMELINE_URL}/_import` as const; -export const TIMELINE_PREPACKAGED_URL = `${TIMELINE_URL}/_prepackaged` as const; - -export const NOTE_URL = '/api/note' as const; -export const PINNED_EVENT_URL = '/api/pinned_event' as const; -export const SOURCERER_API_URL = '/internal/security_solution/sourcerer' as const; -export const RISK_SCORE_INDEX_STATUS_API_URL = '/internal/risk_score/index_status' as const; - -/** - * Default signals index key for kibana.dev.yml - */ -export const SIGNALS_INDEX_KEY = 'signalsIndex' as const; - -export const DETECTION_ENGINE_SIGNALS_URL = `${DETECTION_ENGINE_URL}/signals` as const; -export const DETECTION_ENGINE_SIGNALS_STATUS_URL = - `${DETECTION_ENGINE_SIGNALS_URL}/status` as const; -export const DETECTION_ENGINE_QUERY_SIGNALS_URL = `${DETECTION_ENGINE_SIGNALS_URL}/search` as const; -export const DETECTION_ENGINE_SIGNALS_MIGRATION_URL = - `${DETECTION_ENGINE_SIGNALS_URL}/migration` as const; -export const DETECTION_ENGINE_SIGNALS_MIGRATION_STATUS_URL = - `${DETECTION_ENGINE_SIGNALS_URL}/migration_status` as const; -export const DETECTION_ENGINE_SIGNALS_FINALIZE_MIGRATION_URL = - `${DETECTION_ENGINE_SIGNALS_URL}/finalize_migration` as const; - -export const ALERTS_AS_DATA_URL = '/internal/rac/alerts' as const; -export const ALERTS_AS_DATA_FIND_URL = `${ALERTS_AS_DATA_URL}/find` as const; - -/** - * Common naming convention for an unauthenticated user - */ -export const UNAUTHENTICATED_USER = 'Unauthenticated' as const; - -/* - Licensing requirements - */ -export const MINIMUM_ML_LICENSE = 'platinum' as const; - -/* - Machine Learning constants - */ -export const ML_GROUP_ID = 'security' as const; -export const LEGACY_ML_GROUP_ID = 'siem' as const; -export const ML_GROUP_IDS = [ML_GROUP_ID, LEGACY_ML_GROUP_ID] as const; - -export const NOTIFICATION_THROTTLE_NO_ACTIONS = 'no_actions' as const; -export const NOTIFICATION_THROTTLE_RULE = 'rule' as const; - -export const showAllOthersBucket: string[] = [ - 'destination.ip', - 'event.action', - 'event.category', - 'event.dataset', - 'event.module', - 'signal.rule.threat.tactic.name', - 'source.ip', - 'destination.ip', - 'user.name', -]; - -export const RISKY_HOSTS_INDEX_PREFIX = 'ml_host_risk_score_' as const; - -export const RISKY_USERS_INDEX_PREFIX = 'ml_user_risk_score_' as const; - -export const TRANSFORM_STATES = { - ABORTING: 'aborting', - FAILED: 'failed', - INDEXING: 'indexing', - STARTED: 'started', - STOPPED: 'stopped', - STOPPING: 'stopping', - WAITING: 'waiting', -}; - -export const WARNING_TRANSFORM_STATES = new Set([ - TRANSFORM_STATES.ABORTING, - TRANSFORM_STATES.FAILED, - TRANSFORM_STATES.STOPPED, - TRANSFORM_STATES.STOPPING, -]); - -export const STARTED_TRANSFORM_STATES = new Set([ - TRANSFORM_STATES.INDEXING, - TRANSFORM_STATES.STARTED, -]); - -/** - * How many rules to update at a time is set to 50 from errors coming from - * the slow environments such as cloud when the rule updates are > 100 we were - * seeing timeout issues. - * - * Since there is not timeout options at the alerting API level right now, we are - * at the mercy of the Elasticsearch server client/server default timeouts and what - * we are doing could be considered a workaround to not being able to increase the timeouts. - * - * However, other bad effects and saturation of connections beyond 50 makes this a "noisy neighbor" - * if we don't limit its number of connections as we increase the number of rules that can be - * installed at a time. - * - * Lastly, we saw weird issues where Chrome on upstream 408 timeouts will re-call the REST route - * which in turn could create additional connections we want to avoid. - * - * See file import_rules_route.ts for another area where 50 was chosen, therefore I chose - * 50 here to mimic it as well. If you see this re-opened or what similar to it, consider - * reducing the 50 above to a lower number. - * - * See the original ticket here: - * https://github.com/elastic/kibana/issues/94418 - */ -export const MAX_RULES_TO_UPDATE_IN_PARALLEL = 50; - -export const LIMITED_CONCURRENCY_ROUTE_TAG_PREFIX = `${APP_ID}:limitedConcurrency`; - -/** - * Max number of rules to display on UI in table, max number of rules that can be edited in a single bulk edit API request - * We limit number of rules in bulk edit API, because rulesClient doesn't support bulkGet of rules by ids. - * Given this limitation, current implementation fetches each rule separately through rulesClient.resolve method. - * As max number of rules displayed on a page is 100, max 100 rules can be bulk edited by passing their ids to API. - * We decided add this limit(number of ids less than 100) in bulk edit API as well, to prevent a huge number of single rule fetches - */ -export const RULES_TABLE_MAX_PAGE_SIZE = 100; - -/** - * Local storage keys we use to store the state of our new features tours we currently show in the app. - * - * NOTE: As soon as we want to show tours for new features in the upcoming release, - * we will need to update these constants with the corresponding version. - */ -export const NEW_FEATURES_TOUR_STORAGE_KEYS = { - RULE_MANAGEMENT_PAGE: 'securitySolution.rulesManagementPage.newFeaturesTour.v8.6', -}; - -export const RULE_DETAILS_EXECUTION_LOG_TABLE_SHOW_METRIC_COLUMNS_STORAGE_KEY = - 'securitySolution.ruleDetails.ruleExecutionLog.showMetrics.v8.2'; - -// TODO: https://github.com/elastic/kibana/pull/142950 -/** - * Error codes that can be thrown during _bulk_action API dry_run call and be processed and displayed to end user - */ -export enum BulkActionsDryRunErrCode { - IMMUTABLE = 'IMMUTABLE', - MACHINE_LEARNING_AUTH = 'MACHINE_LEARNING_AUTH', - MACHINE_LEARNING_INDEX_PATTERN = 'MACHINE_LEARNING_INDEX_PATTERN', -} - -export const RISKY_HOSTS_DOC_LINK = - 'https://www.elastic.co/guide/en/security/current/host-risk-score.html'; -export const RISKY_USERS_DOC_LINK = - 'https://www.elastic.co/guide/en/security/current/user-risk-score.html'; - -export const MAX_NUMBER_OF_NEW_TERMS_FIELDS = 3; - -export const BULK_ADD_TO_TIMELINE_LIMIT = 2000; - -export const DEFAULT_DETECTION_PAGE_FILTERS = [ - { - title: 'Status', - fieldName: 'kibana.alert.workflow_status', - selectedOptions: ['open'], - hideActionBar: true, - }, - { - title: 'Severity', - fieldName: 'kibana.alert.severity', - selectedOptions: [], - hideActionBar: true, - }, - { - title: 'User', - fieldName: 'user.name', - }, - { - title: 'Host', - fieldName: 'host.name', - }, -]; diff --git a/x-pack/packages/security-solution/data_table/mock/mock_source.ts b/x-pack/packages/security-solution/data_table/mock/mock_source.ts index 0cc791f288410..82c2a34448153 100644 --- a/x-pack/packages/security-solution/data_table/mock/mock_source.ts +++ b/x-pack/packages/security-solution/data_table/mock/mock_source.ts @@ -7,7 +7,18 @@ import type { MappingRuntimeFields } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { BrowserFields } from '@kbn/timelines-plugin/common'; -import { DEFAULT_INDEX_PATTERN } from '../common/constants'; + +const DEFAULT_INDEX_PATTERN = [ + 'apm-*-transaction*', + 'auditbeat-*', + 'endgame-*', + 'filebeat-*', + 'logs-*', + 'packetbeat-*', + 'traces-apm*', + 'winlogbeat-*', + '-*elastic-cloud-logs-*', +]; export const mockBrowserFields: BrowserFields = { agent: { diff --git a/x-pack/plugins/aiops/common/api/index.ts b/x-pack/plugins/aiops/common/api/index.ts index 2397f554c128f..f1f57fea9742e 100644 --- a/x-pack/plugins/aiops/common/api/index.ts +++ b/x-pack/plugins/aiops/common/api/index.ts @@ -17,6 +17,7 @@ export const API_ENDPOINT = { export interface ApiExplainLogRateSpikes { endpoint: typeof API_ENDPOINT.EXPLAIN_LOG_RATE_SPIKES; + apiVersion: string; reducer: typeof streamReducer; body: AiopsExplainLogRateSpikesSchema; actions: AiopsExplainLogRateSpikesApiAction; diff --git a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_analysis.tsx b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_analysis.tsx index 4287048628b8c..d5a9caeebd551 100644 --- a/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_analysis.tsx +++ b/x-pack/plugins/aiops/public/components/explain_log_rate_spikes/explain_log_rate_spikes_analysis.tsx @@ -139,6 +139,7 @@ export const ExplainLogRateSpikesAnalysis: FC errors: streamErrors, } = useFetchStream( `${basePath}/internal/aiops/explain_log_rate_spikes`, + '1', { start: earliest, end: latest, diff --git a/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts b/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts index 787071d1e33d8..03732369b0bb9 100644 --- a/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts +++ b/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts @@ -69,624 +69,633 @@ export const defineExplainLogRateSpikesRoute = ( logger: Logger, coreStart: CoreStart ) => { - router.post( - { + router.versioned + .post({ path: API_ENDPOINT.EXPLAIN_LOG_RATE_SPIKES, - validate: { - body: aiopsExplainLogRateSpikesSchema, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + body: aiopsExplainLogRateSpikesSchema, + }, + }, }, - }, - async (context, request, response) => { - if (!license.isActivePlatinumLicense) { - return response.forbidden(); - } - - const client = (await context.core).elasticsearch.client.asCurrentUser; - const executionContext = createExecutionContext(coreStart, PLUGIN_ID, request.route.path); - - return await coreStart.executionContext.withContext(executionContext, () => { - let logMessageCounter = 1; - - function logDebugMessage(msg: string) { - logger.debug(`Explain Log Rate Spikes #${logMessageCounter}: ${msg}`); - logMessageCounter++; + async (context, request, response) => { + if (!license.isActivePlatinumLicense) { + return response.forbidden(); } - logDebugMessage('Starting analysis.'); + const client = (await context.core).elasticsearch.client.asCurrentUser; + const executionContext = createExecutionContext(coreStart, PLUGIN_ID, request.route.path); - const groupingEnabled = !!request.body.grouping; - const sampleProbability = request.body.sampleProbability ?? 1; + return await coreStart.executionContext.withContext(executionContext, () => { + let logMessageCounter = 1; - const controller = new AbortController(); - const abortSignal = controller.signal; + function logDebugMessage(msg: string) { + logger.debug(`Explain Log Rate Spikes #${logMessageCounter}: ${msg}`); + logMessageCounter++; + } - let isRunning = false; - let loaded = 0; - let shouldStop = false; - request.events.aborted$.subscribe(() => { - logDebugMessage('aborted$ subscription trigger.'); - shouldStop = true; - controller.abort(); - }); - request.events.completed$.subscribe(() => { - logDebugMessage('completed$ subscription trigger.'); - shouldStop = true; - controller.abort(); - }); + logDebugMessage('Starting analysis.'); + + const groupingEnabled = !!request.body.grouping; + const sampleProbability = request.body.sampleProbability ?? 1; + + const controller = new AbortController(); + const abortSignal = controller.signal; + + let isRunning = false; + let loaded = 0; + let shouldStop = false; + request.events.aborted$.subscribe(() => { + logDebugMessage('aborted$ subscription trigger.'); + shouldStop = true; + controller.abort(); + }); + request.events.completed$.subscribe(() => { + logDebugMessage('completed$ subscription trigger.'); + shouldStop = true; + controller.abort(); + }); + + const { + end: streamEnd, + push, + responseWithHeaders, + } = streamFactory( + request.headers, + logger, + request.body.compressResponse, + request.body.flushFix + ); + + function pushPingWithTimeout() { + setTimeout(() => { + if (isRunning) { + logDebugMessage('Ping message.'); + push(pingAction()); + pushPingWithTimeout(); + } + }, PING_FREQUENCY); + } - const { - end: streamEnd, - push, - responseWithHeaders, - } = streamFactory( - request.headers, - logger, - request.body.compressResponse, - request.body.flushFix - ); - - function pushPingWithTimeout() { - setTimeout(() => { + function end() { if (isRunning) { - logDebugMessage('Ping message.'); - push(pingAction()); - pushPingWithTimeout(); + isRunning = false; + logDebugMessage('Ending analysis.'); + streamEnd(); + } else { + logDebugMessage('end() was called again with isRunning already being false.'); } - }, PING_FREQUENCY); - } - - function end() { - if (isRunning) { - isRunning = false; - logDebugMessage('Ending analysis.'); - streamEnd(); - } else { - logDebugMessage('end() was called again with isRunning already being false.'); } - } - - function endWithUpdatedLoadingState() { - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded: 1, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.doneMessage', - { - defaultMessage: 'Done.', - } - ), - }) - ); - end(); - } + function endWithUpdatedLoadingState() { + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded: 1, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.doneMessage', + { + defaultMessage: 'Done.', + } + ), + }) + ); - function pushError(m: string) { - logDebugMessage('Push error.'); - push(addErrorAction(m)); - } + end(); + } - async function runAnalysis() { - try { - isRunning = true; + function pushError(m: string) { + logDebugMessage('Push error.'); + push(addErrorAction(m)); + } - if (!request.body.overrides) { - logDebugMessage('Full Reset.'); - push(resetAllAction()); - } else { - logDebugMessage('Reset Errors.'); - push(resetErrorsAction()); - } + async function runAnalysis() { + try { + isRunning = true; + + if (!request.body.overrides) { + logDebugMessage('Full Reset.'); + push(resetAllAction()); + } else { + logDebugMessage('Reset Errors.'); + push(resetErrorsAction()); + } - if (request.body.overrides?.regroupOnly) { - logDebugMessage('Reset Groups.'); - push(resetGroupsAction()); - } + if (request.body.overrides?.regroupOnly) { + logDebugMessage('Reset Groups.'); + push(resetGroupsAction()); + } - if (request.body.overrides?.loaded) { - logDebugMessage(`Set 'loaded' override to '${request.body.overrides?.loaded}'.`); - loaded = request.body.overrides?.loaded; - } + if (request.body.overrides?.loaded) { + logDebugMessage(`Set 'loaded' override to '${request.body.overrides?.loaded}'.`); + loaded = request.body.overrides?.loaded; + } - pushPingWithTimeout(); + pushPingWithTimeout(); - // Step 1: Index Info: Field candidates, total doc count, sample probability + // Step 1: Index Info: Field candidates, total doc count, sample probability - const fieldCandidates: Awaited>['fieldCandidates'] = - []; - let fieldCandidatesCount = fieldCandidates.length; + const fieldCandidates: Awaited>['fieldCandidates'] = + []; + let fieldCandidatesCount = fieldCandidates.length; - let totalDocCount = 0; + let totalDocCount = 0; - if (!request.body.overrides?.remainingFieldCandidates) { - logDebugMessage('Fetch index information.'); - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.loadingIndexInformation', - { - defaultMessage: 'Loading index information.', - } - ), - }) - ); + if (!request.body.overrides?.remainingFieldCandidates) { + logDebugMessage('Fetch index information.'); + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.loadingIndexInformation', + { + defaultMessage: 'Loading index information.', + } + ), + }) + ); - try { - const indexInfo = await fetchIndexInfo(client, request.body, abortSignal); - fieldCandidates.push(...indexInfo.fieldCandidates); - fieldCandidatesCount = fieldCandidates.length; - totalDocCount = indexInfo.totalDocCount; - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error(`Failed to fetch index information, got: \n${e.toString()}`); - pushError(`Failed to fetch index information.`); + try { + const indexInfo = await fetchIndexInfo(client, request.body, abortSignal); + fieldCandidates.push(...indexInfo.fieldCandidates); + fieldCandidatesCount = fieldCandidates.length; + totalDocCount = indexInfo.totalDocCount; + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error(`Failed to fetch index information, got: \n${e.toString()}`); + pushError(`Failed to fetch index information.`); + } + end(); + return; } - end(); - return; - } - logDebugMessage(`Total document count: ${totalDocCount}`); - logDebugMessage(`Sample probability: ${sampleProbability}`); + logDebugMessage(`Total document count: ${totalDocCount}`); + logDebugMessage(`Sample probability: ${sampleProbability}`); - loaded += LOADED_FIELD_CANDIDATES; + loaded += LOADED_FIELD_CANDIDATES; - pushPingWithTimeout(); + pushPingWithTimeout(); - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldCandidates', - { - defaultMessage: - 'Identified {fieldCandidatesCount, plural, one {# field candidate} other {# field candidates}}.', - values: { - fieldCandidatesCount, - }, - } - ), - }) - ); + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldCandidates', + { + defaultMessage: + 'Identified {fieldCandidatesCount, plural, one {# field candidate} other {# field candidates}}.', + values: { + fieldCandidatesCount, + }, + } + ), + }) + ); - if (fieldCandidatesCount === 0) { - endWithUpdatedLoadingState(); - } else if (shouldStop) { - logDebugMessage('shouldStop after fetching field candidates.'); - end(); - return; + if (fieldCandidatesCount === 0) { + endWithUpdatedLoadingState(); + } else if (shouldStop) { + logDebugMessage('shouldStop after fetching field candidates.'); + end(); + return; + } } - } - // Step 2: Significant Terms + // Step 2: Significant Terms - const significantTerms: SignificantTerm[] = request.body.overrides?.significantTerms - ? request.body.overrides?.significantTerms - : []; - const fieldsToSample = new Set(); + const significantTerms: SignificantTerm[] = request.body.overrides?.significantTerms + ? request.body.overrides?.significantTerms + : []; + const fieldsToSample = new Set(); - // Don't use more than 10 here otherwise Kibana will emit an error - // regarding a limit of abort signal listeners of more than 10. - const MAX_CONCURRENT_QUERIES = 10; + // Don't use more than 10 here otherwise Kibana will emit an error + // regarding a limit of abort signal listeners of more than 10. + const MAX_CONCURRENT_QUERIES = 10; - let remainingFieldCandidates: string[]; - let loadingStepSizePValues = PROGRESS_STEP_P_VALUES; + let remainingFieldCandidates: string[]; + let loadingStepSizePValues = PROGRESS_STEP_P_VALUES; - if (request.body.overrides?.remainingFieldCandidates) { - fieldCandidates.push(...request.body.overrides?.remainingFieldCandidates); - remainingFieldCandidates = request.body.overrides?.remainingFieldCandidates; - fieldCandidatesCount = fieldCandidates.length; - loadingStepSizePValues = - LOADED_FIELD_CANDIDATES + - PROGRESS_STEP_P_VALUES - - (request.body.overrides?.loaded ?? PROGRESS_STEP_P_VALUES); - } else { - remainingFieldCandidates = fieldCandidates; - } + if (request.body.overrides?.remainingFieldCandidates) { + fieldCandidates.push(...request.body.overrides?.remainingFieldCandidates); + remainingFieldCandidates = request.body.overrides?.remainingFieldCandidates; + fieldCandidatesCount = fieldCandidates.length; + loadingStepSizePValues = + LOADED_FIELD_CANDIDATES + + PROGRESS_STEP_P_VALUES - + (request.body.overrides?.loaded ?? PROGRESS_STEP_P_VALUES); + } else { + remainingFieldCandidates = fieldCandidates; + } - logDebugMessage('Fetch p-values.'); + logDebugMessage('Fetch p-values.'); - const pValuesQueue = queue(async function (fieldCandidate: string) { - loaded += (1 / fieldCandidatesCount) * loadingStepSizePValues; + const pValuesQueue = queue(async function (fieldCandidate: string) { + loaded += (1 / fieldCandidatesCount) * loadingStepSizePValues; - let pValues: Awaited>; + let pValues: Awaited>; - try { - pValues = await fetchSignificantTermPValues( - client, - request.body, - [fieldCandidate], - logger, - sampleProbability, - pushError, - abortSignal - ); - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error( - `Failed to fetch p-values for '${fieldCandidate}', got: \n${e.toString()}` + try { + pValues = await fetchSignificantTermPValues( + client, + request.body, + [fieldCandidate], + logger, + sampleProbability, + pushError, + abortSignal ); - pushError(`Failed to fetch p-values for '${fieldCandidate}'.`); + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error( + `Failed to fetch p-values for '${fieldCandidate}', got: \n${e.toString()}` + ); + pushError(`Failed to fetch p-values for '${fieldCandidate}'.`); + } + return; } - return; - } - remainingFieldCandidates = remainingFieldCandidates.filter( - (d) => d !== fieldCandidate - ); + remainingFieldCandidates = remainingFieldCandidates.filter( + (d) => d !== fieldCandidate + ); - if (pValues.length > 0) { - pValues.forEach((d) => { - fieldsToSample.add(d.fieldName); - }); - significantTerms.push(...pValues); + if (pValues.length > 0) { + pValues.forEach((d) => { + fieldsToSample.add(d.fieldName); + }); + significantTerms.push(...pValues); - push(addSignificantTermsAction(pValues)); - } + push(addSignificantTermsAction(pValues)); + } - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldValuePairs', - { - defaultMessage: - 'Identified {fieldValuePairsCount, plural, one {# significant field/value pair} other {# significant field/value pairs}}.', - values: { - fieldValuePairsCount: significantTerms.length, - }, - } - ), - remainingFieldCandidates, - }) - ); - }, MAX_CONCURRENT_QUERIES); - - pValuesQueue.push(fieldCandidates, (err) => { - if (err) { - logger.error(`Failed to fetch p-values.', got: \n${err.toString()}`); - pushError(`Failed to fetch p-values.`); - pValuesQueue.kill(); - end(); - } else if (shouldStop) { - logDebugMessage('shouldStop fetching p-values.'); - pValuesQueue.kill(); - end(); - } - }); - await pValuesQueue.drain(); + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldValuePairs', + { + defaultMessage: + 'Identified {fieldValuePairsCount, plural, one {# significant field/value pair} other {# significant field/value pairs}}.', + values: { + fieldValuePairsCount: significantTerms.length, + }, + } + ), + remainingFieldCandidates, + }) + ); + }, MAX_CONCURRENT_QUERIES); - if (significantTerms.length === 0) { - logDebugMessage('Stopping analysis, did not find significant terms.'); - endWithUpdatedLoadingState(); - return; - } + pValuesQueue.push(fieldCandidates, (err) => { + if (err) { + logger.error(`Failed to fetch p-values.', got: \n${err.toString()}`); + pushError(`Failed to fetch p-values.`); + pValuesQueue.kill(); + end(); + } else if (shouldStop) { + logDebugMessage('shouldStop fetching p-values.'); + pValuesQueue.kill(); + end(); + } + }); + await pValuesQueue.drain(); - const histogramFields: [NumericHistogramField] = [ - { fieldName: request.body.timeFieldName, type: KBN_FIELD_TYPES.DATE }, - ]; + if (significantTerms.length === 0) { + logDebugMessage('Stopping analysis, did not find significant terms.'); + endWithUpdatedLoadingState(); + return; + } - logDebugMessage('Fetch overall histogram.'); + const histogramFields: [NumericHistogramField] = [ + { fieldName: request.body.timeFieldName, type: KBN_FIELD_TYPES.DATE }, + ]; - let overallTimeSeries: NumericChartData | undefined; + logDebugMessage('Fetch overall histogram.'); - const overallHistogramQuery = getHistogramQuery(request.body); + let overallTimeSeries: NumericChartData | undefined; - try { - overallTimeSeries = ( - (await fetchHistogramsForFields( - client, - request.body.index, - overallHistogramQuery, - // fields - histogramFields, - // samplerShardSize - -1, - undefined, - abortSignal, - sampleProbability, - RANDOM_SAMPLER_SEED - )) as [NumericChartData] - )[0]; - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error(`Failed to fetch the overall histogram data, got: \n${e.toString()}`); - pushError(`Failed to fetch overall histogram data.`); + const overallHistogramQuery = getHistogramQuery(request.body); + + try { + overallTimeSeries = ( + (await fetchHistogramsForFields( + client, + request.body.index, + overallHistogramQuery, + // fields + histogramFields, + // samplerShardSize + -1, + undefined, + abortSignal, + sampleProbability, + RANDOM_SAMPLER_SEED + )) as [NumericChartData] + )[0]; + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error( + `Failed to fetch the overall histogram data, got: \n${e.toString()}` + ); + pushError(`Failed to fetch overall histogram data.`); + } + // Still continue the analysis even if loading the overall histogram fails. } - // Still continue the analysis even if loading the overall histogram fails. - } - function pushHistogramDataLoadingState() { - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.loadingHistogramData', - { - defaultMessage: 'Loading histogram data.', - } - ), - }) - ); - } + function pushHistogramDataLoadingState() { + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.loadingHistogramData', + { + defaultMessage: 'Loading histogram data.', + } + ), + }) + ); + } - if (shouldStop) { - logDebugMessage('shouldStop after fetching overall histogram.'); - end(); - return; - } + if (shouldStop) { + logDebugMessage('shouldStop after fetching overall histogram.'); + end(); + return; + } - if (groupingEnabled) { - logDebugMessage('Group results.'); - - push( - updateLoadingStateAction({ - ccsWarning: false, - loaded, - loadingState: i18n.translate( - 'xpack.aiops.explainLogRateSpikes.loadingState.groupingResults', - { - defaultMessage: 'Transforming significant field/value pairs into groups.', - } - ), - groupsMissing: true, - }) - ); + if (groupingEnabled) { + logDebugMessage('Group results.'); - try { - const { fields, df } = await fetchFrequentItemSets( - client, - request.body.index, - JSON.parse(request.body.searchQuery) as estypes.QueryDslQueryContainer, - significantTerms, - request.body.timeFieldName, - request.body.deviationMin, - request.body.deviationMax, - logger, - sampleProbability, - pushError, - abortSignal + push( + updateLoadingStateAction({ + ccsWarning: false, + loaded, + loadingState: i18n.translate( + 'xpack.aiops.explainLogRateSpikes.loadingState.groupingResults', + { + defaultMessage: 'Transforming significant field/value pairs into groups.', + } + ), + groupsMissing: true, + }) ); - if (shouldStop) { - logDebugMessage('shouldStop after fetching frequent_item_sets.'); - end(); - return; - } - - if (fields.length > 0 && df.length > 0) { - const significantTermGroups = getSignificantTermGroups( - df, + try { + const { fields, df } = await fetchFrequentItemSets( + client, + request.body.index, + JSON.parse(request.body.searchQuery) as estypes.QueryDslQueryContainer, significantTerms, - fields + request.body.timeFieldName, + request.body.deviationMin, + request.body.deviationMax, + logger, + sampleProbability, + pushError, + abortSignal ); - // We'll find out if there's at least one group with at least two items, - // only then will we return the groups to the clients and make the grouping option available. - const maxItems = Math.max(...significantTermGroups.map((g) => g.group.length)); - - if (maxItems > 1) { - push(addSignificantTermsGroupAction(significantTermGroups)); - } - - loaded += PROGRESS_STEP_GROUPING; - - pushHistogramDataLoadingState(); - if (shouldStop) { - logDebugMessage('shouldStop after grouping.'); + logDebugMessage('shouldStop after fetching frequent_item_sets.'); end(); return; } - logDebugMessage(`Fetch ${significantTermGroups.length} group histograms.`); + if (fields.length > 0 && df.length > 0) { + const significantTermGroups = getSignificantTermGroups( + df, + significantTerms, + fields + ); + + // We'll find out if there's at least one group with at least two items, + // only then will we return the groups to the clients and make the grouping option available. + const maxItems = Math.max(...significantTermGroups.map((g) => g.group.length)); + + if (maxItems > 1) { + push(addSignificantTermsGroupAction(significantTermGroups)); + } + + loaded += PROGRESS_STEP_GROUPING; + + pushHistogramDataLoadingState(); - const groupHistogramQueue = queue(async function (cpg: SignificantTermGroup) { if (shouldStop) { - logDebugMessage('shouldStop abort fetching group histograms.'); - groupHistogramQueue.kill(); + logDebugMessage('shouldStop after grouping.'); end(); return; } - if (overallTimeSeries !== undefined) { - const histogramQuery = getHistogramQuery(request.body, getGroupFilter(cpg)); - - let cpgTimeSeries: NumericChartData; - try { - cpgTimeSeries = ( - (await fetchHistogramsForFields( - client, - request.body.index, - histogramQuery, - // fields - [ - { - fieldName: request.body.timeFieldName, - type: KBN_FIELD_TYPES.DATE, - interval: overallTimeSeries.interval, - min: overallTimeSeries.stats[0], - max: overallTimeSeries.stats[1], - }, - ], - // samplerShardSize - -1, - undefined, - abortSignal, - sampleProbability, - RANDOM_SAMPLER_SEED - )) as [NumericChartData] - )[0]; - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error( - `Failed to fetch the histogram data for group #${ - cpg.id - }, got: \n${e.toString()}` - ); - pushError(`Failed to fetch the histogram data for group #${cpg.id}.`); - } + logDebugMessage(`Fetch ${significantTermGroups.length} group histograms.`); + + const groupHistogramQueue = queue(async function (cpg: SignificantTermGroup) { + if (shouldStop) { + logDebugMessage('shouldStop abort fetching group histograms.'); + groupHistogramQueue.kill(); + end(); return; } - const histogram = - overallTimeSeries.data.map((o, i) => { - const current = cpgTimeSeries.data.find( - (d1) => d1.key_as_string === o.key_as_string - ) ?? { - doc_count: 0, - }; - return { - key: o.key, - key_as_string: o.key_as_string ?? '', - doc_count_significant_term: current.doc_count, - doc_count_overall: Math.max(0, o.doc_count - current.doc_count), - }; - }) ?? []; - - push( - addSignificantTermsGroupHistogramAction([ - { - id: cpg.id, - histogram, - }, - ]) - ); - } - }, MAX_CONCURRENT_QUERIES); - groupHistogramQueue.push(significantTermGroups); - await groupHistogramQueue.drain(); - } - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error( - `Failed to transform field/value pairs into groups, got: \n${e.toString()}` - ); - pushError(`Failed to transform field/value pairs into groups.`); + if (overallTimeSeries !== undefined) { + const histogramQuery = getHistogramQuery(request.body, getGroupFilter(cpg)); + + let cpgTimeSeries: NumericChartData; + try { + cpgTimeSeries = ( + (await fetchHistogramsForFields( + client, + request.body.index, + histogramQuery, + // fields + [ + { + fieldName: request.body.timeFieldName, + type: KBN_FIELD_TYPES.DATE, + interval: overallTimeSeries.interval, + min: overallTimeSeries.stats[0], + max: overallTimeSeries.stats[1], + }, + ], + // samplerShardSize + -1, + undefined, + abortSignal, + sampleProbability, + RANDOM_SAMPLER_SEED + )) as [NumericChartData] + )[0]; + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error( + `Failed to fetch the histogram data for group #${ + cpg.id + }, got: \n${e.toString()}` + ); + pushError(`Failed to fetch the histogram data for group #${cpg.id}.`); + } + return; + } + const histogram = + overallTimeSeries.data.map((o, i) => { + const current = cpgTimeSeries.data.find( + (d1) => d1.key_as_string === o.key_as_string + ) ?? { + doc_count: 0, + }; + return { + key: o.key, + key_as_string: o.key_as_string ?? '', + doc_count_significant_term: current.doc_count, + doc_count_overall: Math.max(0, o.doc_count - current.doc_count), + }; + }) ?? []; + + push( + addSignificantTermsGroupHistogramAction([ + { + id: cpg.id, + histogram, + }, + ]) + ); + } + }, MAX_CONCURRENT_QUERIES); + + groupHistogramQueue.push(significantTermGroups); + await groupHistogramQueue.drain(); + } + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error( + `Failed to transform field/value pairs into groups, got: \n${e.toString()}` + ); + pushError(`Failed to transform field/value pairs into groups.`); + } } } - } - loaded += PROGRESS_STEP_HISTOGRAMS_GROUPS; + loaded += PROGRESS_STEP_HISTOGRAMS_GROUPS; - logDebugMessage(`Fetch ${significantTerms.length} field/value histograms.`); + logDebugMessage(`Fetch ${significantTerms.length} field/value histograms.`); - // time series filtered by fields - if ( - significantTerms.length > 0 && - overallTimeSeries !== undefined && - !request.body.overrides?.regroupOnly - ) { - const fieldValueHistogramQueue = queue(async function (cp: SignificantTerm) { - if (shouldStop) { - logDebugMessage('shouldStop abort fetching field/value histograms.'); - fieldValueHistogramQueue.kill(); - end(); - return; - } - - if (overallTimeSeries !== undefined) { - const histogramQuery = getHistogramQuery(request.body, [ - { - term: { [cp.fieldName]: cp.fieldValue }, - }, - ]); - - let cpTimeSeries: NumericChartData; - - try { - cpTimeSeries = ( - (await fetchHistogramsForFields( - client, - request.body.index, - histogramQuery, - // fields - [ - { - fieldName: request.body.timeFieldName, - type: KBN_FIELD_TYPES.DATE, - interval: overallTimeSeries.interval, - min: overallTimeSeries.stats[0], - max: overallTimeSeries.stats[1], - }, - ], - // samplerShardSize - -1, - undefined, - abortSignal, - sampleProbability, - RANDOM_SAMPLER_SEED - )) as [NumericChartData] - )[0]; - } catch (e) { - logger.error( - `Failed to fetch the histogram data for field/value pair "${cp.fieldName}:${ - cp.fieldValue - }", got: \n${e.toString()}` - ); - pushError( - `Failed to fetch the histogram data for field/value pair "${cp.fieldName}:${cp.fieldValue}".` - ); + // time series filtered by fields + if ( + significantTerms.length > 0 && + overallTimeSeries !== undefined && + !request.body.overrides?.regroupOnly + ) { + const fieldValueHistogramQueue = queue(async function (cp: SignificantTerm) { + if (shouldStop) { + logDebugMessage('shouldStop abort fetching field/value histograms.'); + fieldValueHistogramQueue.kill(); + end(); return; } - const histogram = - overallTimeSeries.data.map((o, i) => { - const current = cpTimeSeries.data.find( - (d1) => d1.key_as_string === o.key_as_string - ) ?? { - doc_count: 0, - }; - return { - key: o.key, - key_as_string: o.key_as_string ?? '', - doc_count_significant_term: current.doc_count, - doc_count_overall: Math.max(0, o.doc_count - current.doc_count), - }; - }) ?? []; - - const { fieldName, fieldValue } = cp; - - loaded += (1 / significantTerms.length) * PROGRESS_STEP_HISTOGRAMS; - pushHistogramDataLoadingState(); - push( - addSignificantTermsHistogramAction([ + if (overallTimeSeries !== undefined) { + const histogramQuery = getHistogramQuery(request.body, [ { - fieldName, - fieldValue, - histogram, + term: { [cp.fieldName]: cp.fieldValue }, }, - ]) - ); - } - }, MAX_CONCURRENT_QUERIES); + ]); + + let cpTimeSeries: NumericChartData; + + try { + cpTimeSeries = ( + (await fetchHistogramsForFields( + client, + request.body.index, + histogramQuery, + // fields + [ + { + fieldName: request.body.timeFieldName, + type: KBN_FIELD_TYPES.DATE, + interval: overallTimeSeries.interval, + min: overallTimeSeries.stats[0], + max: overallTimeSeries.stats[1], + }, + ], + // samplerShardSize + -1, + undefined, + abortSignal, + sampleProbability, + RANDOM_SAMPLER_SEED + )) as [NumericChartData] + )[0]; + } catch (e) { + logger.error( + `Failed to fetch the histogram data for field/value pair "${cp.fieldName}:${ + cp.fieldValue + }", got: \n${e.toString()}` + ); + pushError( + `Failed to fetch the histogram data for field/value pair "${cp.fieldName}:${cp.fieldValue}".` + ); + return; + } - fieldValueHistogramQueue.push(significantTerms); - await fieldValueHistogramQueue.drain(); - } + const histogram = + overallTimeSeries.data.map((o, i) => { + const current = cpTimeSeries.data.find( + (d1) => d1.key_as_string === o.key_as_string + ) ?? { + doc_count: 0, + }; + return { + key: o.key, + key_as_string: o.key_as_string ?? '', + doc_count_significant_term: current.doc_count, + doc_count_overall: Math.max(0, o.doc_count - current.doc_count), + }; + }) ?? []; + + const { fieldName, fieldValue } = cp; + + loaded += (1 / significantTerms.length) * PROGRESS_STEP_HISTOGRAMS; + pushHistogramDataLoadingState(); + push( + addSignificantTermsHistogramAction([ + { + fieldName, + fieldValue, + histogram, + }, + ]) + ); + } + }, MAX_CONCURRENT_QUERIES); - endWithUpdatedLoadingState(); - } catch (e) { - if (!isRequestAbortedError(e)) { - logger.error( - `Explain log rate spikes analysis failed to finish, got: \n${e.toString()}` - ); - pushError(`Explain log rate spikes analysis failed to finish.`); + fieldValueHistogramQueue.push(significantTerms); + await fieldValueHistogramQueue.drain(); + } + + endWithUpdatedLoadingState(); + } catch (e) { + if (!isRequestAbortedError(e)) { + logger.error( + `Explain log rate spikes analysis failed to finish, got: \n${e.toString()}` + ); + pushError(`Explain log rate spikes analysis failed to finish.`); + } + end(); } - end(); } - } - // Do not call this using `await` so it will run asynchronously while we return the stream already. - runAnalysis(); + // Do not call this using `await` so it will run asynchronously while we return the stream already. + runAnalysis(); - return response.ok(responseWithHeaders); - }); - } - ); + return response.ok(responseWithHeaders); + }); + } + ); }; diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.test.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.test.ts index 1083807a29c9f..3a1d490afe9d6 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.test.ts @@ -189,6 +189,112 @@ describe('createOrUpdateComponentTemplate', () => { }); }); + it(`should update index template field limit and retry if putTemplate throws error with field limit error when there are malformed index templates`, async () => { + clusterClient.cluster.putComponentTemplate.mockRejectedValueOnce( + new EsErrors.ResponseError( + elasticsearchClientMock.createApiResponse({ + statusCode: 400, + body: { + error: { + root_cause: [ + { + type: 'illegal_argument_exception', + reason: + 'updating component template [.alerts-ecs-mappings] results in invalid composable template [.alerts-security.alerts-default-index-template] after templates are merged', + }, + ], + type: 'illegal_argument_exception', + reason: + 'updating component template [.alerts-ecs-mappings] results in invalid composable template [.alerts-security.alerts-default-index-template] after templates are merged', + caused_by: { + type: 'illegal_argument_exception', + reason: + 'composable template [.alerts-security.alerts-default-index-template] template after composition with component templates [.alerts-ecs-mappings, .alerts-security.alerts-mappings, .alerts-technical-mappings] is invalid', + caused_by: { + type: 'illegal_argument_exception', + reason: + 'invalid composite mappings for [.alerts-security.alerts-default-index-template]', + caused_by: { + type: 'illegal_argument_exception', + reason: 'Limit of total fields [1900] has been exceeded', + }, + }, + }, + }, + }, + }) + ) + ); + const existingIndexTemplate = { + name: 'test-template', + index_template: { + index_patterns: ['test*'], + composed_of: ['test-mappings'], + template: { + settings: { + auto_expand_replicas: '0-1', + hidden: true, + 'index.lifecycle': { + name: '.alerts-ilm-policy', + rollover_alias: `.alerts-empty-default`, + }, + 'index.mapping.total_fields.limit': 1800, + }, + mappings: { + dynamic: false, + }, + }, + }, + }; + + clusterClient.indices.getIndexTemplate.mockResolvedValueOnce({ + index_templates: [ + existingIndexTemplate, + { + name: 'lyndon', + // @ts-expect-error + index_template: { + index_patterns: ['intel*'], + }, + }, + { + name: 'sample_ds', + // @ts-expect-error + index_template: { + index_patterns: ['sample_ds-*'], + data_stream: { + hidden: false, + allow_custom_routing: false, + }, + }, + }, + ], + }); + + await createOrUpdateComponentTemplate({ + logger, + esClient: clusterClient, + template: ComponentTemplate, + totalFieldsLimit: 2500, + }); + + expect(clusterClient.cluster.putComponentTemplate).toHaveBeenCalledTimes(2); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledTimes(1); + expect(clusterClient.indices.putIndexTemplate).toHaveBeenCalledWith({ + name: existingIndexTemplate.name, + body: { + ...existingIndexTemplate.index_template, + template: { + ...existingIndexTemplate.index_template.template, + settings: { + ...existingIndexTemplate.index_template.template?.settings, + 'index.mapping.total_fields.limit': 2500, + }, + }, + }, + }); + }); + it(`should retry getIndexTemplate and putIndexTemplate on transient ES errors`, async () => { clusterClient.cluster.putComponentTemplate.mockRejectedValueOnce( new EsErrors.ResponseError( diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.ts index 97cdef833adbc..2a241b4b839ad 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_component_template.ts @@ -32,8 +32,16 @@ const getIndexTemplatesUsingComponentTemplate = async ( { logger } ); const indexTemplatesUsingComponentTemplate = (indexTemplates ?? []).filter( - (indexTemplate: IndicesGetIndexTemplateIndexTemplateItem) => - indexTemplate.index_template.composed_of.includes(componentTemplateName) + (indexTemplate: IndicesGetIndexTemplateIndexTemplateItem) => { + if ( + indexTemplate && + indexTemplate.index_template && + indexTemplate.index_template.composed_of + ) { + return indexTemplate.index_template.composed_of.includes(componentTemplateName); + } + return false; + } ); await asyncForEach( indexTemplatesUsingComponentTemplate, diff --git a/x-pack/plugins/apm/public/components/alerting/ui_components/alert_details_app_section/index.tsx b/x-pack/plugins/apm/public/components/alerting/ui_components/alert_details_app_section/index.tsx index 5632108846e2b..91fa325f4ae7e 100644 --- a/x-pack/plugins/apm/public/components/alerting/ui_components/alert_details_app_section/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/ui_components/alert_details_app_section/index.tsx @@ -21,7 +21,6 @@ import React, { useEffect, useMemo } from 'react'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { getPaddedAlertTimeRange } from '@kbn/observability-alert-details'; import { EuiCallOut } from '@elastic/eui'; -import { toMicroseconds as toMicrosecondsUtil } from '../../../../../common/utils/formatters'; import { SERVICE_ENVIRONMENT } from '../../../../../common/es_fields/apm'; import { ChartPointerEventContextProvider } from '../../../../context/chart_pointer_event/chart_pointer_event_context'; import { TimeRangeMetadataContextProvider } from '../../../../context/time_range_metadata/time_range_metadata_context'; @@ -37,9 +36,6 @@ import { TRANSACTION_TYPE, } from './types'; -const toMicroseconds = (value?: number) => - value ? toMicrosecondsUtil(value, 'milliseconds') : value; - export function AlertDetailsAppSection({ rule, alert, @@ -69,7 +65,7 @@ export function AlertDetailsAppSection({ ), value: formatAlertEvaluationValue( alert?.fields[ALERT_RULE_TYPE_ID], - toMicroseconds(alert?.fields[ALERT_EVALUATION_THRESHOLD]) + alert?.fields[ALERT_EVALUATION_THRESHOLD] ), }, { diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts index 0ac465261c954..768d7f8a9f781 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts @@ -280,7 +280,7 @@ export function registerTransactionDurationRuleType({ [TRANSACTION_NAME]: ruleParams.transactionName, [PROCESSOR_EVENT]: ProcessorEvent.transaction, [ALERT_EVALUATION_VALUE]: transactionDuration, - [ALERT_EVALUATION_THRESHOLD]: ruleParams.threshold, + [ALERT_EVALUATION_THRESHOLD]: thresholdMicroseconds, [ALERT_REASON]: reason, ...sourceFields, ...groupByFields, diff --git a/x-pack/plugins/canvas/shareable_runtime/components/footer/page_controls.tsx b/x-pack/plugins/canvas/shareable_runtime/components/footer/page_controls.tsx index d0b3e4b9a111b..c7c3322f79636 100644 --- a/x-pack/plugins/canvas/shareable_runtime/components/footer/page_controls.tsx +++ b/x-pack/plugins/canvas/shareable_runtime/components/footer/page_controls.tsx @@ -59,8 +59,8 @@ export const PageControlsComponent: FC = ({ const currentPage = page + 1; return ( - - + + = ({ aria-label="Next Page" /> - - + + ); }; diff --git a/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.test.ts b/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.test.ts index f6cfe42d0583a..8e96e14a29f2b 100644 --- a/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.test.ts +++ b/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.test.ts @@ -6,7 +6,7 @@ */ import { cloudDefendPages } from './constants'; -import { getSecuritySolutionLink, getSecuritySolutionNavTab } from './security_solution_links'; +import { getSecuritySolutionLink } from './security_solution_links'; import { Chance } from 'chance'; import type { CloudDefendPage } from './types'; @@ -23,17 +23,3 @@ describe('getSecuritySolutionLink', () => { expect(link.title).toEqual(cloudDefendPages[cloudDefendPage].name); }); }); - -describe('getSecuritySolutionNavTab', () => { - it('gets the correct nav tab properties', () => { - const cloudDefendPage = chance.pickone(['policies']); - const basePath = chance.word(); - - const navTab = getSecuritySolutionNavTab(cloudDefendPage, basePath); - - expect(navTab.id).toEqual(cloudDefendPages[cloudDefendPage].id); - expect(navTab.name).toEqual(cloudDefendPages[cloudDefendPage].name); - expect(navTab.href).toEqual(`${basePath}${cloudDefendPages[cloudDefendPage].path}`); - expect(navTab.disabled).toEqual(!!cloudDefendPages[cloudDefendPage].disabled); - }); -}); diff --git a/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts b/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts index 58e816c135593..4f9ad57c1d94b 100644 --- a/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts +++ b/x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts @@ -14,13 +14,6 @@ interface CloudDefendLinkItem { path: string; } -interface CloudDefendNavTab { - id: TId; - name: string; - href: string; - disabled: boolean; -} - /** * Gets the cloud_defend link properties of a Cloud Defend page for navigation in the security solution. * @param cloudDefendPage the name of the cloud defend page. @@ -34,18 +27,3 @@ export const getSecuritySolutionLink = ( path: cloudDefendPages[cloudDefendPage].path, }; }; - -/** - * Gets the link properties of a Cloud Defend page for navigation in the old security solution navigation. - * @param cloudDefendPage the name of the cloud defend page. - * @param basePath the base path for links. - */ -export const getSecuritySolutionNavTab = ( - cloudDefendPage: CloudDefendPage, - basePath: string -): CloudDefendNavTab => ({ - id: cloudDefendPages[cloudDefendPage].id as TId, - name: cloudDefendPages[cloudDefendPage].name, - href: `${basePath}${cloudDefendPages[cloudDefendPage].path}`, - disabled: !!cloudDefendPages[cloudDefendPage].disabled, -}); diff --git a/x-pack/plugins/cloud_defend/public/index.ts b/x-pack/plugins/cloud_defend/public/index.ts index b74c04111c91b..9dcf8bd5b2760 100755 --- a/x-pack/plugins/cloud_defend/public/index.ts +++ b/x-pack/plugins/cloud_defend/public/index.ts @@ -7,10 +7,7 @@ import { CloudDefendPlugin } from './plugin'; export type { CloudDefendSecuritySolutionContext } from './types'; -export { - getSecuritySolutionLink, - getSecuritySolutionNavTab, -} from './common/navigation/security_solution_links'; +export { getSecuritySolutionLink } from './common/navigation/security_solution_links'; export { CLOUD_DEFEND_BASE_PATH } from './common/navigation/constants'; export type { CloudDefendPageId } from './common/navigation/types'; diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts index ae542ba885ec9..e36b8a185d429 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts @@ -6,7 +6,7 @@ */ import { cloudPosturePages } from './constants'; -import { getSecuritySolutionLink, getSecuritySolutionNavTab } from './security_solution_links'; +import { getSecuritySolutionLink } from './security_solution_links'; import { Chance } from 'chance'; import type { CspPage } from './types'; @@ -28,22 +28,3 @@ describe('getSecuritySolutionLink', () => { expect(link.title).toEqual(cloudPosturePages[cspPage].name); }); }); - -describe('getSecuritySolutionNavTab', () => { - it('gets the correct nav tab properties', () => { - const cspPage = chance.pickone([ - 'dashboard', - 'findings', - 'benchmarks', - 'vulnerability_dashboard', - ]); - const basePath = chance.word(); - - const navTab = getSecuritySolutionNavTab(cspPage, basePath); - - expect(navTab.id).toEqual(cloudPosturePages[cspPage].id); - expect(navTab.name).toEqual(cloudPosturePages[cspPage].name); - expect(navTab.href).toEqual(`${basePath}${cloudPosturePages[cspPage].path}`); - expect(navTab.disabled).toEqual(!!cloudPosturePages[cspPage].disabled); - }); -}); diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts index 9942c95f08094..da21c4cf63090 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts @@ -14,13 +14,6 @@ interface CloudSecurityPostureLinkItem { - id: TId; - name: string; - href: string; - disabled: boolean; -} - /** * Gets the cloud security posture link properties of a CSP page for navigation in the security solution. * @param cloudSecurityPosturePage the name of the cloud posture page. @@ -32,18 +25,3 @@ export const getSecuritySolutionLink = ( - cloudSecurityPosturePage: CspPage, - basePath: string -): CloudSecurityPostureNavTab => ({ - id: cloudPosturePages[cloudSecurityPosturePage].id as TId, - name: cloudPosturePages[cloudSecurityPosturePage].name, - href: `${basePath}${cloudPosturePages[cloudSecurityPosturePage].path}`, - disabled: !!cloudPosturePages[cloudSecurityPosturePage].disabled, -}); diff --git a/x-pack/plugins/cloud_security_posture/public/index.ts b/x-pack/plugins/cloud_security_posture/public/index.ts index 532a30524845d..64301add72ca3 100755 --- a/x-pack/plugins/cloud_security_posture/public/index.ts +++ b/x-pack/plugins/cloud_security_posture/public/index.ts @@ -9,10 +9,7 @@ import { CspPlugin } from './plugin'; export type { CspSecuritySolutionContext } from './types'; export { CLOUD_SECURITY_POSTURE_BASE_PATH } from './common/navigation/constants'; export type { CloudSecurityPosturePageId } from './common/navigation/types'; -export { - getSecuritySolutionLink, - getSecuritySolutionNavTab, -} from './common/navigation/security_solution_links'; +export { getSecuritySolutionLink } from './common/navigation/security_solution_links'; export type { CspClientPluginSetup, CspClientPluginStart } from './types'; diff --git a/x-pack/plugins/enterprise_search/common/types/connectors.ts b/x-pack/plugins/enterprise_search/common/types/connectors.ts index 0506213ea3ecd..bd3314bae8de5 100644 --- a/x-pack/plugins/enterprise_search/common/types/connectors.ts +++ b/x-pack/plugins/enterprise_search/common/types/connectors.ts @@ -191,6 +191,7 @@ export interface Connector { index_name: string; is_native: boolean; language: string | null; + last_access_control_sync_scheduled_at: string | null; last_access_control_sync_status: SyncStatus | null; last_seen: string | null; last_sync_error: string | null; diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx index 74a2fa0fb9ac4..a95f80a6de5d9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/engine/engine_search_preview/engine_search_preview.tsx @@ -136,19 +136,22 @@ const ConfigurationPopover: React.FC = ({ panelPaddingSize="none" closePopover={setCloseConfiguration} button={ - - {i18n.translate( - 'xpack.enterpriseSearch.content.engine.searchPreview.configuration.buttonTitle', - { - defaultMessage: 'Configuration', - } - )} - + + {hasSchemaConflicts && } + + {i18n.translate( + 'xpack.enterpriseSearch.content.engine.searchPreview.configuration.buttonTitle', + { + defaultMessage: 'Configuration', + } + )} + + } > diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/search_indices.mock.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/search_indices.mock.ts index 4359937bde25c..662021dc9f6ed 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/search_indices.mock.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/search_indices.mock.ts @@ -118,6 +118,7 @@ export const indices: ElasticsearchIndexWithIngestion[] = [ index_name: 'connector', is_native: false, language: 'en', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: SyncStatus.COMPLETED, last_seen: null, last_sync_error: null, @@ -231,6 +232,7 @@ export const indices: ElasticsearchIndexWithIngestion[] = [ index_name: 'crawler', is_native: true, language: 'en', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: SyncStatus.COMPLETED, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/view_index.mock.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/view_index.mock.ts index fa9392939bab0..c06e88e237ba5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/view_index.mock.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/__mocks__/view_index.mock.ts @@ -128,6 +128,7 @@ export const connectorIndex: ConnectorViewIndex = { index_name: 'connector', is_native: false, language: 'en', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: SyncStatus.COMPLETED, last_seen: null, last_sync_error: null, @@ -245,6 +246,7 @@ export const crawlerIndex: CrawlerViewIndex = { index_name: 'crawler', is_native: true, language: 'en', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: SyncStatus.COMPLETED, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/index_management/setup_indices.test.ts b/x-pack/plugins/enterprise_search/server/index_management/setup_indices.test.ts index 5b575a7733f7f..731b9cadf6428 100644 --- a/x-pack/plugins/enterprise_search/server/index_management/setup_indices.test.ts +++ b/x-pack/plugins/enterprise_search/server/index_management/setup_indices.test.ts @@ -145,6 +145,7 @@ describe('Setup Indices', () => { index_name: { type: 'keyword' }, is_native: { type: 'boolean' }, language: { type: 'keyword' }, + last_access_control_sync_scheduled_at: { type: 'date' }, last_access_control_sync_status: { type: 'keyword' }, last_deleted_document_count: { type: 'long' }, last_incremental_sync_scheduled_at: { type: 'date' }, @@ -165,8 +166,24 @@ describe('Setup Indices', () => { }, scheduling: { properties: { - enabled: { type: 'boolean' }, - interval: { type: 'text' }, + access_control: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, + incremental: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, + full: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, }, }, service_type: { type: 'keyword' }, diff --git a/x-pack/plugins/enterprise_search/server/index_management/setup_indices.ts b/x-pack/plugins/enterprise_search/server/index_management/setup_indices.ts index a58963134fdee..5629cbbe073dd 100644 --- a/x-pack/plugins/enterprise_search/server/index_management/setup_indices.ts +++ b/x-pack/plugins/enterprise_search/server/index_management/setup_indices.ts @@ -134,6 +134,7 @@ const connectorMappingsProperties: Record = { index_name: { type: 'keyword' }, is_native: { type: 'boolean' }, language: { type: 'keyword' }, + last_access_control_sync_scheduled_at: { type: 'date' }, last_access_control_sync_status: { type: 'keyword' }, last_deleted_document_count: { type: 'long' }, last_incremental_sync_scheduled_at: { type: 'date' }, @@ -154,8 +155,24 @@ const connectorMappingsProperties: Record = { }, scheduling: { properties: { - enabled: { type: 'boolean' }, - interval: { type: 'text' }, + access_control: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, + incremental: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, + full: { + properties: { + enabled: { type: 'boolean' }, + interval: { type: 'text' }, + }, + }, }, }, service_type: { type: 'keyword' }, diff --git a/x-pack/plugins/enterprise_search/server/lib/connectors/add_connector.test.ts b/x-pack/plugins/enterprise_search/server/lib/connectors/add_connector.test.ts index 922470bbf218f..8eb4454397ab2 100644 --- a/x-pack/plugins/enterprise_search/server/lib/connectors/add_connector.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/connectors/add_connector.test.ts @@ -144,6 +144,7 @@ describe('addConnector lib function', () => { index_name: 'index_name', is_native: false, language: 'fr', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, @@ -328,6 +329,7 @@ describe('addConnector lib function', () => { index_name: 'index_name', is_native: true, language: null, + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, @@ -437,6 +439,7 @@ describe('addConnector lib function', () => { index_name: 'search-index_name', is_native: false, language: 'en', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/lib/connectors/start_sync.test.ts b/x-pack/plugins/enterprise_search/server/lib/connectors/start_sync.test.ts index b07ed78a2a402..54e0c3f91eb30 100644 --- a/x-pack/plugins/enterprise_search/server/lib/connectors/start_sync.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/connectors/start_sync.test.ts @@ -40,6 +40,7 @@ describe('startSync lib function', () => { error: null, index_name: 'index_name', language: null, + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/lib/connectors/update_connector_scheduling.test.ts b/x-pack/plugins/enterprise_search/server/lib/connectors/update_connector_scheduling.test.ts index ad3c8a60f1628..7ca6f779fb569 100644 --- a/x-pack/plugins/enterprise_search/server/lib/connectors/update_connector_scheduling.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/connectors/update_connector_scheduling.test.ts @@ -37,6 +37,7 @@ describe('addConnector lib function', () => { custom_scheduling: {}, error: null, index_name: 'index_name', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, @@ -67,6 +68,7 @@ describe('addConnector lib function', () => { custom_scheduling: {}, error: null, index_name: 'index_name', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/lib/crawler/post_connector.test.ts b/x-pack/plugins/enterprise_search/server/lib/crawler/post_connector.test.ts index 150a0858c1f20..c758c982222d0 100644 --- a/x-pack/plugins/enterprise_search/server/lib/crawler/post_connector.test.ts +++ b/x-pack/plugins/enterprise_search/server/lib/crawler/post_connector.test.ts @@ -90,6 +90,7 @@ describe('recreateConnectorDocument lib function', () => { index_name: 'indexName', is_native: false, language: '', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/utils/create_connector_document.test.ts b/x-pack/plugins/enterprise_search/server/utils/create_connector_document.test.ts index 01d3a6b981591..97bc581263b9f 100644 --- a/x-pack/plugins/enterprise_search/server/utils/create_connector_document.test.ts +++ b/x-pack/plugins/enterprise_search/server/utils/create_connector_document.test.ts @@ -85,6 +85,7 @@ describe('createConnectorDocument', () => { index_name: 'indexName', is_native: false, language: 'fr', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, @@ -179,6 +180,7 @@ describe('createConnectorDocument', () => { index_name: 'search-indexName', is_native: false, language: 'fr', + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/enterprise_search/server/utils/create_connector_document.ts b/x-pack/plugins/enterprise_search/server/utils/create_connector_document.ts index 0b3f737bb96b9..d91b18056fa15 100644 --- a/x-pack/plugins/enterprise_search/server/utils/create_connector_document.ts +++ b/x-pack/plugins/enterprise_search/server/utils/create_connector_document.ts @@ -114,6 +114,7 @@ export function createConnectorDocument({ index_name: indexName, is_native: isNative, language, + last_access_control_sync_scheduled_at: null, last_access_control_sync_status: null, last_seen: null, last_sync_error: null, diff --git a/x-pack/plugins/event_log/server/es/init.test.ts b/x-pack/plugins/event_log/server/es/init.test.ts index 7280849a8cac0..137bf17247f6e 100644 --- a/x-pack/plugins/event_log/server/es/init.test.ts +++ b/x-pack/plugins/event_log/server/es/init.test.ts @@ -455,8 +455,7 @@ describe('parseIndexAliases', () => { }); }); -// FLAKY: https://github.com/elastic/kibana/issues/156061 -describe.skip('retries', () => { +describe('retries', () => { let esContext = contextMock.create(); // set up context APIs to return defaults indicating already created beforeEach(() => { @@ -472,9 +471,9 @@ describe.skip('retries', () => { test('createIlmPolicyIfNotExists with 1 retry', async () => { esContext.esAdapter.doesIlmPolicyExist.mockRejectedValueOnce(new Error('retry 1')); - const timeStart = Date.now(); + const timeStart = performance.now(); await initializeEs(esContext); - const timeElapsed = Date.now() - timeStart; + const timeElapsed = performance.now() - timeStart; expect(timeElapsed).toBeGreaterThanOrEqual(MOCK_RETRY_DELAY); @@ -492,9 +491,9 @@ describe.skip('retries', () => { esContext.esAdapter.doesIndexTemplateExist.mockRejectedValueOnce(new Error('retry 2a')); esContext.esAdapter.doesIndexTemplateExist.mockRejectedValueOnce(new Error('retry 2b')); - const timeStart = Date.now(); + const timeStart = performance.now(); await initializeEs(esContext); - const timeElapsed = Date.now() - timeStart; + const timeElapsed = performance.now() - timeStart; expect(timeElapsed).toBeGreaterThanOrEqual(MOCK_RETRY_DELAY * (1 + 2)); @@ -518,9 +517,9 @@ describe.skip('retries', () => { // make sure it only tries 5 times - this one should not be reported esContext.esAdapter.doesAliasExist.mockRejectedValueOnce(new Error('retry 5f')); - const timeStart = Date.now(); + const timeStart = performance.now(); await initializeEs(esContext); - const timeElapsed = Date.now() - timeStart; + const timeElapsed = performance.now() - timeStart; expect(timeElapsed).toBeGreaterThanOrEqual(MOCK_RETRY_DELAY * (1 + 2 + 4 + 8)); diff --git a/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts b/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts index 35bcc6748dacc..32fd20d782b96 100644 --- a/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts +++ b/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts @@ -21,7 +21,7 @@ import { GraphWorkspaceSavedObject } from '../../types'; * @param source - serialized version of this object what will be indexed into elasticsearch. * @param savedObject - VisSavedObject * @param options - options to pass to the saved object create method - * @param services - provides Kibana services savedObjectsClient and overlays + * @param services - provides Kibana services contentClient and overlays * @returns {Promise} - A promise that is resolved with the objects id if the object is * successfully indexed. If the overwrite confirmation was rejected, an error is thrown with * a confirmRejected = true parameter so that case can be handled differently than diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/anomalies.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/anomalies.ts new file mode 100644 index 0000000000000..d4f2d3f11e43d --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/anomalies.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 { GetMetricsHostsAnomaliesSuccessResponsePayload } from '../../../../../../common/http_api/infra_ml'; + +const anomalies: GetMetricsHostsAnomaliesSuccessResponsePayload = { + data: { + anomalies: [ + { + jobId: 'farequote_metric', + actual: 758.8220213274412, + anomalyScore: 0.024881740359975164, + duration: 900, + id: 'id1', + startTime: 1486845000000, + type: 'metrics_hosts', + partitionFieldName: 'airline', + partitionFieldValue: 'NKS', + typical: 545.7764658569108, + influencers: ['airline'], + }, + ], + hasMoreEntries: false, + paginationCursors: { + nextPageCursor: [1, 1], + previousPageCursor: [0, 0], + }, + }, +}; + +export const anomaliesHttpResponse = { + default: () => Promise.resolve({ ...anomalies }), +}; + +export type AnomaliesHttpMocks = keyof typeof anomaliesHttpResponse; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/metadata.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/metadata.ts new file mode 100644 index 0000000000000..6f691ba78a65f --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/metadata.ts @@ -0,0 +1,74 @@ +/* + * 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 { InfraMetadata } from '../../../../../../common/http_api'; + +export const HOST_ID = 'host-1'; +export const hostMetadata: InfraMetadata = { + id: HOST_ID, + name: HOST_ID, + info: { + agent: { + version: '8.5.0', + }, + host: { + hostname: 'Host 1', + ip: [ + '11.128.0.17', + 'test::4001:fff:test:11', + '169.254.123.1', + '11.22.33.44', + 'test::d8d1:123:frr4:ae6d', + '11.22.33.44', + 'test::8ce7:80ff:fe33:7a75', + '11.22.33.44', + 'test::800f:ebff:fecc:f658', + '11.22.33.44', + 'test::3333:asdf:fe1a:72e0', + '11.22.33.44', + 'test::c0c8:e8ff:fec5:1234', + '11.22.33.44', + 'test::ccbf:4fff:fe3a:6574', + '11.22.33.44', + 'test::2222:53ff:asdf:5sda', + '11.22.33.44', + 'test::cdb:14ff:asdf:5666', + '11.22.33.44', + 'test::11ba:3dff:asdf:d666', + '11.22.33.44', + 'test::ece8:eeee:2342:d334', + '11.22.33.44', + 'test::2402:d6ff:fe73:1234', + ], + os: { + family: 'debian', + name: 'Ubuntu', + platform: 'ubuntu', + version: '5.15.65+', + }, + }, + cloud: { + provider: 'gcp', + availability_zone: 'us-central1-c', + machine: { + type: 'n1-standard-4', + }, + }, + }, + features: [], +}; + +export const metadataHttpResponse = { + default: () => Promise.resolve({ ...hostMetadata }), + loading: () => new Promise(() => {}), + noData: () => Promise.resolve({ id: 'host-2', name: 'host-2', features: [] }), + error: () => + new Promise(() => { + throw new Error('err'); + }), +}; + +export type MetadataResponseMocks = keyof typeof metadataHttpResponse; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/processes.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/processes.ts new file mode 100644 index 0000000000000..785182eb67e85 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/processes.ts @@ -0,0 +1,127 @@ +/* + * 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 { ProcessListAPIResponse } from '../../../../../../common/http_api'; + +const processes: ProcessListAPIResponse = { + processList: [ + { + cpu: 0.02466666666666667, + memory: 0.026166666666666668, + startTime: 1683624717239, + pid: 757, + state: 'running', + user: 'test_user', + command: '/Applications/Firefox.app/Contents/MacOS/firefox', + }, + { + cpu: 0.006833333333333334, + memory: 0.07200000000000001, + startTime: 1683624734638, + pid: 3524, + state: 'running', + user: 'test_user', + command: + '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node --max-old-space-size=4096 /Users/test_user/projects/forks/kibana/node_modules/typescript/lib/tsserver.js --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName /var/folders/hq/pz_mbrf55lg_r37lr3l0n6nr0000gn/T/vscode-typescript501/b23862414d9a371466ef/tscancellation-9cbfb32954f6e79a5287.tmp* --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc', + }, + { + cpu: 0.006666666666666667, + memory: 0.012000000000000002, + startTime: 1683633422827, + pid: 12355, + state: 'running', + user: 'test_user', + command: + '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 20 -isForBrowser -prefsLen 29966 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {c336b12a-302b-46a0-9c9d-d9f1a22b24b9} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1351433086 tab', + }, + { + cpu: 0.0030000000000000005, + memory: 0.014, + startTime: 1683625026636, + pid: 6474, + state: 'running', + user: 'test_user', + command: + '/Users/test_user/.vscode/extensions/ambar.bundle-size-1.5.0/node_modules/esbuild-darwin-arm64/bin/esbuild --service=0.15.18 --ping', + }, + { + cpu: 0.0025, + memory: 0.016, + startTime: 1683624729210, + pid: 3034, + state: 'running', + user: 'test_user', + command: + '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Code --standard-schemes=vscode-webview,vscode-file --secure-schemes=vscode-webview,vscode-file --bypasscsp-schemes --cors-schemes=vscode-webview,vscode-file --fetch-schemes=vscode-webview,vscode-file --service-worker-schemes=vscode-webview --streaming-schemes --app-path=/Applications/Visual Studio Code.app/Contents/Resources/app --no-sandbox --no-zygote --enable-blink-features=HighlightAPI --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=8 --launch-time-ticks=267710381 --shared-files --field-trial-handle=1718379636,r,13842708672762445701,9157690858550926405,131072 --disable-features=CalculateNativeWinOcclusion,SpareRendererForSitePerProcess --vscode-window-config=vscode:c40ae943-cf5f-4b4e-9ede-714d3202da26', + }, + { + cpu: 0.0013333333333333333, + memory: 0.011666666666666667, + startTime: 1683628721310, + pid: 11385, + state: 'running', + user: 'test_user', + command: + '/Applications/Slack.app/Contents/Frameworks/Slack Helper (Renderer).app/Contents/MacOS/Slack Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Slack --standard-schemes=app,slack-webapp-dev --enable-sandbox --secure-schemes=app,slack-webapp-dev --bypasscsp-schemes=slack-webapp-dev --cors-schemes=slack-webapp-dev --fetch-schemes=slack-webapp-dev --service-worker-schemes=slack-webapp-dev --streaming-schemes --app-path=/Applications/Slack.app/Contents/Resources/app.asar --enable-sandbox --enable-blink-features=ExperimentalJSProfiler --disable-blink-features --first-renderer-process --autoplay-policy=no-user-gesture-required --enable-logging --force-color-profile=srgb --log-file=/Users/test_user/Library/Application Support/Slack/logs/default/electron_debug.log --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=4 --time-ticks-at-unix-epoch=-1683624461530404 --launch-time-ticks=4259772827 --shared-files --field-trial-handle=1718379636,r,7616643094726622586,3291986448361336128,131072 --disable-features=AllowAggressiveThrottlingWithWebSocket,CalculateNativeWinOcclusion,HardwareMediaKeyHandling,IntensiveWakeUpThrottling,LogJsConsoleMessages,RequestInitiatorSiteLockEnfocement,SpareRendererForSitePerProcess,WebRtcHideLocalIpsWithMdns,WinRetrieveSuggestionsOnlyOnDemand --window-type=main --seatbelt-client=71', + }, + { + cpu: 0.0013333333333333333, + memory: 0.0105, + startTime: 1683624737323, + pid: 3593, + state: 'running', + user: 'test_user', + command: + '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node /Users/test_user/.vscode/extensions/streetsidesoftware.code-spell-checker-2.20.4/packages/_server/dist/main.js --node-ipc --clientProcessId=3508', + }, + { + cpu: 0.0011666666666666668, + memory: 0.014666666666666668, + startTime: 1683625569286, + pid: 8319, + state: 'running', + user: 'test_user', + command: + '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 14 -isForBrowser -prefsLen 29644 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {49cd6e6d-ed04-4355-8a7c-9a13fb9cbfa8} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1880877485 tab', + }, + { + cpu: 0.001, + memory: 0.0030000000000000005, + startTime: 1683627994731, + pid: 10269, + state: 'running', + user: 'test_user', + command: './metricbeat -v -e -c metricbeat.dev.yml', + }, + { + cpu: 0.001, + memory: 0.006000000000000001, + startTime: 1683624717742, + pid: 784, + state: 'running', + user: 'test_user', + command: '/Applications/Visual Studio Code.app/Contents/MacOS/Electron', + }, + ], + summary: {}, +}; + +const summary: ProcessListAPIResponse['summary'] = { running: 366, total: 366 }; + +export const processesHttpResponse = { + default: () => Promise.resolve({ ...processes, summary }), + onlyProcesses: () => Promise.resolve({ ...processes, summary: {} }), + onlySummary: () => Promise.resolve({ summary, processList: [] }), + loading: () => new Promise(() => {}), + noData: () => Promise.resolve({ summary: {}, processList: [] }), + error: () => + new Promise(() => { + throw new Error('err'); + }), +}; + +export type ProcessesHttpMocks = keyof typeof processesHttpResponse; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts new file mode 100644 index 0000000000000..ecff029a36149 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts @@ -0,0 +1,38 @@ +/* + * 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 { HttpStart, HttpHandler } from '@kbn/core/public'; +import { Parameters } from '@storybook/react'; +import { INFA_ML_GET_METRICS_HOSTS_ANOMALIES_PATH } from '../../../../../common/http_api/infra_ml'; +import { metadataHttpResponse, type MetadataResponseMocks } from './fixtures/metadata'; +import { processesHttpResponse, type ProcessesHttpMocks } from './fixtures/processes'; +import { anomaliesHttpResponse, type AnomaliesHttpMocks } from './fixtures/anomalies'; + +export const getHttp = (params: Parameters): HttpStart => { + const http = { + basePath: { + prepend: (_path: string) => { + return ''; + }, + }, + + fetch: (async (path: string) => { + switch (path) { + case '/api/metrics/process_list': + return processesHttpResponse[params.mock as ProcessesHttpMocks](); + case '/api/infra/metadata': + return metadataHttpResponse[params.mock as MetadataResponseMocks](); + case INFA_ML_GET_METRICS_HOSTS_ANOMALIES_PATH: + return anomaliesHttpResponse[params.mock as AnomaliesHttpMocks](); + default: + return Promise.resolve({}); + } + }) as HttpHandler, + } as unknown as HttpStart; + + return http; +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx new file mode 100644 index 0000000000000..fcb19ccf60b0b --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx @@ -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 React from 'react'; +import { I18nProvider } from '@kbn/i18n-react'; +import { + KibanaContextProvider, + type KibanaReactContextValue, +} from '@kbn/kibana-react-plugin/public'; +import { of } from 'rxjs'; +import { action } from '@storybook/addon-actions'; +import type { DecoratorFn } from '@storybook/react'; +import { useParameter } from '@storybook/addons'; +import { DeepPartial } from 'utility-types'; +import { LocatorPublic } from '@kbn/share-plugin/public'; +import type { PluginKibanaContextValue } from '../../../hooks/use_kibana'; +import { SourceProvider } from '../../../containers/metrics_source'; +import { getHttp } from './context/http'; +import { ProcessesHttpMocks } from './context/fixtures/processes'; +import { MetadataResponseMocks } from './context/fixtures/metadata'; + +export const DecorateWithKibanaContext: DecoratorFn = (story) => { + const initialProcesses = useParameter<{ mock: ProcessesHttpMocks | MetadataResponseMocks }>( + 'apiResponse', + { + mock: 'default', + } + )!; + + const mockServices: DeepPartial['services']> = { + application: { + currentAppId$: of('infra'), + navigateToUrl: async (url: string) => { + action(`Navigate to: ${url}`); + }, + getUrlForApp: (url: string) => url, + }, + data: { + query: { + filterManager: { + addFilters: () => action(`addFilters`), + removeFilter: () => action(`removeFilter`), + }, + }, + }, + notifications: { + toasts: { + add: () => { + action('toast'); + return { id: 'id' }; + }, + }, + }, + http: getHttp(initialProcesses), + share: { + url: { + locators: { + get: (_id: string) => + ({ + navigate: async () => + Promise.resolve(() => { + action( + 'https://kibana:8080/base-path/app/uptime/?search=host.name: "host1" OR host.ip: "192.168.0.1" OR monitor.ip: "192.168.0.1"' + ); + }), + } as unknown as LocatorPublic), + }, + }, + }, + }; + + return ( + + + {story()} + + + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/asset_details.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/asset_details.stories.tsx index e5dcc75ce9c4e..cf2803b2182a8 100644 --- a/x-pack/plugins/infra/public/components/asset_details/asset_details.stories.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/asset_details.stories.tsx @@ -5,23 +5,51 @@ * 2.0. */ -import React from 'react'; -import { EuiButton, EuiCard } from '@elastic/eui'; -import { I18nProvider } from '@kbn/i18n-react'; +import React, { useEffect, useState } from 'react'; +import { EuiButton, EuiFlexGroup, EuiSwitch, type EuiSwitchEvent, EuiFlexItem } from '@elastic/eui'; import type { Meta, Story } from '@storybook/react/types-6-0'; import { i18n } from '@kbn/i18n'; -import { DecorateWithKibanaContext } from './asset_details.story_decorators'; +import { useArgs } from '@storybook/addons'; +import { DecoratorFn } from '@storybook/react'; import { AssetDetails } from './asset_details'; import { decorateWithGlobalStorybookThemeProviders } from '../../test_utils/use_global_storybook_theme'; import { FlyoutTabIds, type AssetDetailsProps } from './types'; +import { DecorateWithKibanaContext } from './__stories__/decorator'; -export default { - title: 'infra/Asset Details View/Asset Details Embeddable', +const links: AssetDetailsProps['links'] = ['apmServices', 'uptime']; + +const AssetDetailsDecorator: DecoratorFn = (story) => { + const [_, updateArgs] = useArgs(); + const [checked, setChecked] = React.useState(true); + + useEffect(() => { + if (checked) { + updateArgs({ links }); + } else { + updateArgs({ links: [] }); + } + }, [updateArgs, checked]); + + const handleChange = (e: EuiSwitchEvent) => { + setChecked(e.target.checked); + }; + + return ( + + + + + {story()} + + ); +}; + +const stories: Meta = { + title: 'infra/Asset Details View', decorators: [ - (wrappedStory) => {wrappedStory()}, - (wrappedStory) => {wrappedStory()}, decorateWithGlobalStorybookThemeProviders, DecorateWithKibanaContext, + AssetDetailsDecorator, ], component: AssetDetails, args: { @@ -41,13 +69,18 @@ export default { diskLatency: 0.15291777273162221, memoryTotal: 34359738368, }, + overrides: { + metadata: { + showActionsColumn: true, + }, + }, nodeType: 'host', currentTimeRange: { interval: '1s', from: 1683630468, to: 1683630469, }, - selectedTabId: 'metadata', + activeTabId: 'metadata', tabs: [ { id: FlyoutTabIds.METADATA, @@ -64,16 +97,17 @@ export default { 'data-test-subj': 'hostsView-flyout-tabs-processes', }, ], - links: ['apmServices', 'uptime'], - } as AssetDetailsProps, -} as Meta; -const Template: Story = (args) => { + links, + }, +}; + +const PageTemplate: Story = (args) => { return ; }; const FlyoutTemplate: Story = (args) => { - const [isOpen, setIsOpen] = React.useState(false); + const [isOpen, setIsOpen] = useState(false); const closeFlyout = () => setIsOpen(false); return (
@@ -90,60 +124,14 @@ const FlyoutTemplate: Story = (args) => { ); }; -export const DefaultAssetDetailsWithMetadataTabSelected = Template.bind({}); -DefaultAssetDetailsWithMetadataTabSelected.args = { - overrides: { - metadata: { - showActionsColumn: true, - }, - }, -}; - -export const AssetDetailsWithMetadataTabSelectedWithPersistedSearch = Template.bind({}); -AssetDetailsWithMetadataTabSelectedWithPersistedSearch.args = { - overrides: { - metadata: { - showActionsColumn: true, - query: 'ip', - }, - }, - activeTabId: 'metadata', - onTabsStateChange: () => {}, -}; - -export const AssetDetailsWithMetadataWithoutActions = Template.bind({}); -AssetDetailsWithMetadataWithoutActions.args = {}; +export const Page = PageTemplate.bind({}); -export const AssetDetailsWithMetadataWithoutLinks = Template.bind({}); -AssetDetailsWithMetadataWithoutLinks.args = { links: [] }; - -export const AssetDetailsAsFlyout = FlyoutTemplate.bind({}); -AssetDetailsAsFlyout.args = { +export const Flyout = FlyoutTemplate.bind({}); +Flyout.args = { renderMode: { showInFlyout: true, closeFlyout: () => {}, }, }; -export const AssetDetailsWithProcessesTabSelected = Template.bind({}); -AssetDetailsWithProcessesTabSelected.args = { - activeTabId: 'processes', - currentTimeRange: { - interval: '1s', - from: 1683630468, - to: 1683630469, - }, -}; - -export const AssetDetailsWithMetadataTabOnly = Template.bind({}); -AssetDetailsWithMetadataTabOnly.args = { - tabs: [ - { - id: FlyoutTabIds.METADATA, - name: i18n.translate('xpack.infra.metrics.nodeDetails.tabs.metadata', { - defaultMessage: 'Metadata', - }), - 'data-test-subj': 'hostsView-flyout-tabs-metadata', - }, - ], -}; +export default stories; diff --git a/x-pack/plugins/infra/public/components/asset_details/asset_details.story_decorators.tsx b/x-pack/plugins/infra/public/components/asset_details/asset_details.story_decorators.tsx deleted file mode 100644 index 7abc2d5937bef..0000000000000 --- a/x-pack/plugins/infra/public/components/asset_details/asset_details.story_decorators.tsx +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { StoryContext } from '@storybook/react'; -import React from 'react'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { of } from 'rxjs'; -import { SourceProvider } from '../../containers/metrics_source'; - -export const DecorateWithKibanaContext = ( - wrappedStory: () => StoryFnReactReturnType, - _storyContext: StoryContext -) => { - const processesResponse = { - processList: [ - { - cpu: 0.02466666666666667, - memory: 0.026166666666666668, - startTime: 1683624717239, - pid: 757, - state: 'running', - user: 'test_user', - command: '/Applications/Firefox.app/Contents/MacOS/firefox', - }, - { - cpu: 0.006833333333333334, - memory: 0.07200000000000001, - startTime: 1683624734638, - pid: 3524, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node --max-old-space-size=4096 /Users/test_user/projects/forks/kibana/node_modules/typescript/lib/tsserver.js --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName /var/folders/hq/pz_mbrf55lg_r37lr3l0n6nr0000gn/T/vscode-typescript501/b23862414d9a371466ef/tscancellation-9cbfb32954f6e79a5287.tmp* --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc', - }, - { - cpu: 0.006666666666666667, - memory: 0.012000000000000002, - startTime: 1683633422827, - pid: 12355, - state: 'running', - user: 'test_user', - command: - '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 20 -isForBrowser -prefsLen 29966 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {c336b12a-aaaa-aaaa-aaaa-d9f1a22b24b9} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1351433086 tab', - }, - { - cpu: 0.0030000000000000005, - memory: 0.014, - startTime: 1683625026636, - pid: 6474, - state: 'running', - user: 'test_user', - command: - '/Users/test_user/.vscode/extensions/ambar.bundle-size-1.5.0/node_modules/esbuild-darwin-arm64/bin/esbuild --service=0.15.18 --ping', - }, - { - cpu: 0.0025, - memory: 0.016, - startTime: 1683624729210, - pid: 3034, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Code --standard-schemes=vscode-webview,vscode-file --secure-schemes=vscode-webview,vscode-file --bypasscsp-schemes --cors-schemes=vscode-webview,vscode-file --fetch-schemes=vscode-webview,vscode-file --service-worker-schemes=vscode-webview --streaming-schemes --app-path=/Applications/Visual Studio Code.app/Contents/Resources/app --no-sandbox --no-zygote --enable-blink-features=HighlightAPI --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=8 --launch-time-ticks=267710381 --shared-files --field-trial-handle=1718379636,r,13842708672762445701,9157690858550926405,131072 --disable-features=CalculateNativeWinOcclusion,SpareRendererForSitePerProcess --vscode-window-config=vscode:c40ae943-cf5f-4b4e-9ede-714d3202da26', - }, - { - cpu: 0.0013333333333333333, - memory: 0.011666666666666667, - startTime: 1683628721310, - pid: 11385, - state: 'running', - user: 'test_user', - command: - '/Applications/Slack.app/Contents/Frameworks/Slack Helper (Renderer).app/Contents/MacOS/Slack Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Slack --standard-schemes=app,slack-webapp-dev --enable-sandbox --secure-schemes=app,slack-webapp-dev --bypasscsp-schemes=slack-webapp-dev --cors-schemes=slack-webapp-dev --fetch-schemes=slack-webapp-dev --service-worker-schemes=slack-webapp-dev --streaming-schemes --app-path=/Applications/Slack.app/Contents/Resources/app.asar --enable-sandbox --enable-blink-features=ExperimentalJSProfiler --disable-blink-features --first-renderer-process --autoplay-policy=no-user-gesture-required --enable-logging --force-color-profile=srgb --log-file=/Users/test_user/Library/Application Support/Slack/logs/default/electron_debug.log --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=4 --time-ticks-at-unix-epoch=-1683624461530404 --launch-time-ticks=4259772827 --shared-files --field-trial-handle=1718379636,r,7616643094726622586,3291986448361336128,131072 --disable-features=AllowAggressiveThrottlingWithWebSocket,CalculateNativeWinOcclusion,HardwareMediaKeyHandling,IntensiveWakeUpThrottling,LogJsConsoleMessages,RequestInitiatorSiteLockEnfocement,SpareRendererForSitePerProcess,WebRtcHideLocalIpsWithMdns,WinRetrieveSuggestionsOnlyOnDemand --window-type=main --seatbelt-client=71', - }, - { - cpu: 0.0013333333333333333, - memory: 0.0105, - startTime: 1683624737323, - pid: 3593, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node /Users/test_user/.vscode/extensions/streetsidesoftware.code-spell-checker-2.20.4/packages/_server/dist/main.js --node-ipc --clientProcessId=3508', - }, - { - cpu: 0.0011666666666666668, - memory: 0.014666666666666668, - startTime: 1683625569286, - pid: 8319, - state: 'running', - user: 'test_user', - command: - '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 14 -isForBrowser -prefsLen 29644 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {49cd6e6d-ed04-4355-8a7c-9a13fb9cbfa8} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1880877485 tab', - }, - { - cpu: 0.001, - memory: 0.0030000000000000005, - startTime: 1683627994731, - pid: 10269, - state: 'running', - user: 'test_user', - command: './metricbeat -v -e -c metricbeat.dev.yml', - }, - { - cpu: 0.001, - memory: 0.006000000000000001, - startTime: 1683624717742, - pid: 784, - state: 'running', - user: 'test_user', - command: '/Applications/Visual Studio Code.app/Contents/MacOS/Electron', - }, - ], - summary: { running: 366, total: 366 }, - }; - - const metadataResponse = { - id: 'host1', - name: 'host1', - info: { - cloud: { - availability_zone: 'us-central1-c', - instance: { - name: 'host2', - id: '1234567891234567896', - }, - provider: 'gcp', - service: { - name: 'GCE', - }, - machine: { - type: 'e2-machine', - }, - project: { - id: 'some-project', - }, - account: { - id: 'some-project', - }, - }, - agent: { - name: 'host2', - id: '1a3s3f5g-2222-aaaa-1d35-fd34133t241', - ephemeral_id: 'fdaf43q5-rwe3-ee22-6666-fdsfhwy34535', - type: 'metricbeat', - version: '8.8.0', - }, - host: { - hostname: 'host2', - os: { - build: '1111.1111', - kernel: '10.0.1111.1111 (WinBuild.160101.0800)', - name: 'Windows Server 2019 Datacenter', - family: 'windows', - type: 'windows', - version: '10.0', - platform: 'windows', - }, - ip: ['as98::111r:aab2s:w123:v00s', '192.168.0.25'], - name: 'host2', - id: '1245t34f-aaaa-6666-1111-5555666777722', - mac: ['66-66-0A-66-00-66'], - architecture: 'x86_64', - }, - }, - features: [], - }; - - const mockServices = { - application: { - currentAppId$: of('infra'), - navigateToUrl: () => {}, - }, - dataViews: { create: () => {} }, - data: { - query: { - filterManager: { filterManagerService: { addFilters: () => {}, removeFilter: () => {} } }, - }, - }, - notifications: { toasts: { add: () => {}, toastsService: { addSuccess: () => {} } } }, - telemetry: () => {}, - http: { - basePath: { - prepend: (_: string) => '', - }, - patch: () => {}, - fetch: async (path: string) => { - switch (path) { - case '/api/infra/metadata': - return metadataResponse; - case '/api/metrics/process_list': - return { ...processesResponse, loading: false }; - default: - return {}; - } - }, - }, - share: { - url: { - locators: { - get: () => ({ - navigate: () => - `https://kibana:8080/base-path/app/uptime/?search=host.name: "host1" OR host.ip: "192.168.0.1" OR monitor.ip: "192.168.0.1"`, - }), - }, - }, - }, - }; - - return ( - - - {wrappedStory()} - - - ); -}; diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.stories.tsx index fb8f8a4a7a053..7e5e973f83f78 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.stories.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.stories.tsx @@ -5,45 +5,22 @@ * 2.0. */ -import { EuiCard } from '@elastic/eui'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import type { Meta, Story } from '@storybook/react/types-6-0'; import React from 'react'; -import { of } from 'rxjs'; + import { decorateWithGlobalStorybookThemeProviders } from '../../../test_utils/use_global_storybook_theme'; +import { DecorateWithKibanaContext } from '../__stories__/decorator'; import { LinkToApmServices, type LinkToApmServicesProps } from './link_to_apm_services'; -const mockServices = { - application: { - currentAppId$: of('infra'), - navigateToUrl: () => {}, - }, - http: { - basePath: { - prepend: (_: string) => '', - }, - patch: () => {}, - }, -}; - -export default { +const stories: Meta = { title: 'infra/Asset Details View/Components/Links', - decorators: [ - (wrappedStory) => {wrappedStory()}, - (wrappedStory) => ( - - {wrappedStory()} - - ), - decorateWithGlobalStorybookThemeProviders, - ], + decorators: [decorateWithGlobalStorybookThemeProviders, DecorateWithKibanaContext], component: LinkToApmServices, args: { hostName: 'host1', apmField: 'host.hostname', }, -} as Meta; +}; const TemplateApm: Story = (args) => { return ; @@ -54,3 +31,5 @@ ApmServicesLink.args = { apmField: 'services', hostName: 'host1', }; + +export default stories; diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_uptime.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_uptime.stories.tsx index b4f0ca2011dc3..f5620533a7b49 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_uptime.stories.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_uptime.stories.tsx @@ -5,38 +5,15 @@ * 2.0. */ -import { EuiCard } from '@elastic/eui'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import type { Meta, Story } from '@storybook/react/types-6-0'; import React from 'react'; import { decorateWithGlobalStorybookThemeProviders } from '../../../test_utils/use_global_storybook_theme'; +import { DecorateWithKibanaContext } from '../__stories__/decorator'; import { LinkToUptime, type LinkToUptimeProps } from './link_to_uptime'; -const mockServices = { - share: { - url: { - locators: { - get: () => ({ - navigate: () => - `https://kibana:8080/base-path/app/uptime/?search=host.name: "host1" OR host.ip: "192.168.0.1" OR monitor.ip: "192.168.0.1"`, - }), - }, - }, - }, -}; - -export default { +const stories: Meta = { title: 'infra/Asset Details View/Components/Links', - decorators: [ - (wrappedStory) => {wrappedStory()}, - (wrappedStory) => ( - - {wrappedStory()} - - ), - decorateWithGlobalStorybookThemeProviders, - ], + decorators: [decorateWithGlobalStorybookThemeProviders, DecorateWithKibanaContext], component: LinkToUptime, args: { nodeType: 'host', @@ -57,11 +34,12 @@ export default { memoryTotal: 34359738368, }, }, -} as Meta; +}; const TemplateUptime: Story = (args) => { return ; }; export const UptimeLink = TemplateUptime.bind({}); -UptimeLink.args = {}; + +export default stories; diff --git a/x-pack/plugins/infra/public/components/asset_details/tab_content/tab_content.tsx b/x-pack/plugins/infra/public/components/asset_details/tab_content/tab_content.tsx index 506306760bc85..bcfe19b338903 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tab_content/tab_content.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tab_content/tab_content.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { useTabSwitcherContext } from '../hooks/use_tab_switcher'; -import Metadata from '../tabs/metadata/metadata'; +import { Metadata } from '../tabs/metadata/metadata'; import { Processes } from '../tabs/processes/processes'; import { FlyoutTabIds, type TabState, type AssetDetailsProps } from '../types'; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/metadata.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/metadata.stories.tsx new file mode 100644 index 0000000000000..a63d123919580 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/metadata.stories.tsx @@ -0,0 +1,77 @@ +/* + * 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 { Meta, Story } from '@storybook/react/types-6-0'; +import React from 'react'; +import { decorateWithGlobalStorybookThemeProviders } from '../../../../test_utils/use_global_storybook_theme'; +import { Metadata, MetadataProps } from './metadata'; +import { DecorateWithKibanaContext } from '../../__stories__/decorator'; + +const stories: Meta = { + title: 'infra/Asset Details View/Components/Metadata', + decorators: [decorateWithGlobalStorybookThemeProviders, DecorateWithKibanaContext], + component: Metadata, + args: { + currentTimeRange: { + from: 1679316685686, + to: 1679585836087, + interval: '1m', + }, + nodeType: 'host', + node: { + id: 'host-1', + name: 'host-1', + ip: '192.168.0.1', + os: 'iOS', + title: { + name: 'host-1', + cloudProvider: 'gcp', + }, + rx: 0, + tx: 0, + memory: 0.5445920331099282, + cpu: 0.2000718443867342, + diskLatency: 0, + memoryTotal: 16777216, + }, + showActionsColumn: false, + }, +}; + +const Template: Story = (args) => { + return ; +}; + +export const Default = Template.bind({}); + +export const WithActions = Template.bind({}); +WithActions.args = { + showActionsColumn: true, +}; + +export const NoData = Template.bind({}); +NoData.parameters = { + apiResponse: { + mock: 'noData', + }, +}; + +export const LoadingState = Template.bind({}); +LoadingState.parameters = { + apiResponse: { + mock: 'loading', + }, +}; + +export const ErrorState = Template.bind({}); +ErrorState.parameters = { + apiResponse: { + mock: 'error', + }, +}; + +export default stories; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.stories.tsx deleted file mode 100644 index 48c17b35c70fe..0000000000000 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.stories.tsx +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { EuiCard } from '@elastic/eui'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import type { Meta, Story } from '@storybook/react/types-6-0'; -import React from 'react'; -import { decorateWithGlobalStorybookThemeProviders } from '../../../../test_utils/use_global_storybook_theme'; -import { Table, Props } from './table'; - -const mockServices = { - data: { - query: { - filterManager: { filterManagerService: { addFilters: () => {}, removeFilter: () => {} } }, - }, - }, - notifications: { toasts: { toastsService: { addSuccess: () => {} } } }, - telemetry: () => {}, -}; - -export default { - title: 'infra/Asset Details View/Components/Metadata Table', - decorators: [ - (wrappedStory) => {wrappedStory()}, - (wrappedStory) => ( - - {wrappedStory()} - - ), - decorateWithGlobalStorybookThemeProviders, - ], - component: Table, - args: { - rows: [ - { name: 'host.hostname', value: 'host 1' }, - { - name: 'host.ip', - value: [ - '192.168.0.1', - '192.168.0.2', - '192.168.0.3', - '192.168.0.4', - '192.168.0.5', - '192.168.0.6', - '192.168.0.7', - '192.168.0.8', - '192.168.0.9', - '192.168.0.10', - ], - }, - { name: 'host.os.name', value: 'macOs' }, - { name: 'host.os.family', value: 'darwin' }, - { name: 'host.os.platform', value: 'darwin' }, - { name: 'host.os.version', value: '13.3.1' }, - { name: 'agent.version', value: '8.5.0' }, - ], - loading: false, - }, -} as Meta; - -const Template: Story = (args) => { - return ; -}; - -export const BasicData = Template.bind({}); -BasicData.args = {}; - -export const CloudData = Template.bind({}); -CloudData.args = { - rows: [ - { name: 'host.hostname', value: 'host 2' }, - { - name: 'host.ip', - value: [ - '11.128.0.17', - 'test::4001:fff:test:11', - '169.254.123.1', - '11.22.33.44', - 'test::d8d1:123:frr4:ae6d', - '11.22.33.44', - 'test::8ce7:80ff:fe33:7a75', - '11.22.33.44', - 'test::800f:ebff:fecc:f658', - '11.22.33.44', - 'test::3333:asdf:fe1a:72e0', - '11.22.33.44', - 'test::c0c8:e8ff:fec5:1234', - '11.22.33.44', - 'test::ccbf:4fff:fe3a:6574', - '11.22.33.44', - 'test::2222:53ff:asdf:5sda', - '11.22.33.44', - 'test::cdb:14ff:asdf:5666', - '11.22.33.44', - 'test::11ba:3dff:asdf:d666', - '11.22.33.44', - 'test::ece8:eeee:2342:d334', - '11.22.33.44', - 'test::2402:d6ff:fe73:1234', - ], - }, - { name: 'host.os.name', value: 'Ubuntu' }, - { name: 'host.os.family', value: 'debian' }, - { name: 'host.os.platform', value: 'ubuntu' }, - { name: 'host.os.version', value: '5.15.65+' }, - { name: 'cloud.availability_zone', value: 'us-central1-c' }, - { name: 'cloud.machine.type', value: 'n1-standard-4' }, - { name: 'cloud.provider', value: 'gcp' }, - { name: 'agent.version', value: '8.9.0' }, - ], - loading: false, -}; - -export const Loading = Template.bind({}); -Loading.args = { - loading: true, - rows: [], -}; - -export const NoMetadata = Template.bind({}); -NoMetadata.args = { - loading: false, - rows: [], -}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.tsx index 6be4445c83d28..b918e50781778 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/metadata/table.tsx @@ -202,7 +202,7 @@ const ExpandableContent = (props: ExpandableContentProps) => { )} - {isExpanded && others.map((item) => {item})} + {isExpanded && others.map((item, index) => {item})} {hasOthers && isExpanded && ( diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.stories.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.stories.tsx index 09b4d30147c17..47d7beff4c1d1 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.stories.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.stories.tsx @@ -5,23 +5,15 @@ * 2.0. */ -import { EuiCard } from '@elastic/eui'; -import { I18nProvider } from '@kbn/i18n-react'; -import type { Meta, Story } from '@storybook/react/types-6-0'; import React from 'react'; -import { DecorateWithKibanaContext } from './processes.story_decorators'; - +import type { Meta, Story } from '@storybook/react/types-6-0'; +import { DecorateWithKibanaContext } from '../../__stories__/decorator'; import { Processes, type ProcessesProps } from './processes'; import { decorateWithGlobalStorybookThemeProviders } from '../../../../test_utils/use_global_storybook_theme'; -export default { +const stories: Meta = { title: 'infra/Asset Details View/Components/Processes', - decorators: [ - (wrappedStory) => {wrappedStory()}, - (wrappedStory) => {wrappedStory()}, - decorateWithGlobalStorybookThemeProviders, - DecorateWithKibanaContext, - ], + decorators: [decorateWithGlobalStorybookThemeProviders, DecorateWithKibanaContext], component: Processes, args: { node: { @@ -43,39 +35,48 @@ export default { nodeType: 'host', currentTime: 1683630468, }, -} as Meta; +}; const Template: Story = (args) => { return ; }; -export const DefaultProcessesAndSummary = Template.bind({}); -DefaultProcessesAndSummary.args = {}; - -export const Loading = Template.bind({}); -Loading.parameters = { - show: { - contentType: 'loading', - }, -}; +export const Default = Template.bind({}); +Default.args = {}; export const OnlySummary = Template.bind({}); OnlySummary.parameters = { - show: { - contentType: 'onlySummary', + apiResponse: { + mock: 'onlySummary', }, }; export const OnlyProcesses = Template.bind({}); OnlyProcesses.parameters = { - show: { - contentType: 'onlyProcesses', + apiResponse: { + mock: 'onlyProcesses', }, }; export const NoData = Template.bind({}); NoData.parameters = { - show: { - contentType: 'noData', + apiResponse: { + mock: 'noData', }, }; + +export const LoadingState = Template.bind({}); +LoadingState.parameters = { + apiResponse: { + mock: 'loading', + }, +}; + +export const ErrorState = Template.bind({}); +ErrorState.parameters = { + apiResponse: { + mock: 'error', + }, +}; + +export default stories; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.story_decorators.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.story_decorators.tsx deleted file mode 100644 index 4310467a51aec..0000000000000 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.story_decorators.tsx +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { StoryContext } from '@storybook/react'; -import React from 'react'; -// This should be fixed when the component is moved as embeddable -// eslint-disable-next-line import/no-extraneous-dependencies -import { useParameter } from '@storybook/addons'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { SourceProvider } from '../../../../containers/metrics_source'; - -export const DecorateWithKibanaContext = ( - wrappedStory: () => StoryFnReactReturnType, - _storyContext: StoryContext -) => { - const processes = { - processList: [ - { - cpu: 0.02466666666666667, - memory: 0.026166666666666668, - startTime: 1683624717239, - pid: 757, - state: 'running', - user: 'test_user', - command: '/Applications/Firefox.app/Contents/MacOS/firefox', - }, - { - cpu: 0.006833333333333334, - memory: 0.07200000000000001, - startTime: 1683624734638, - pid: 3524, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node --max-old-space-size=4096 /Users/test_user/projects/forks/kibana/node_modules/typescript/lib/tsserver.js --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName /var/folders/hq/pz_mbrf55lg_r37lr3l0n6nr0000gn/T/vscode-typescript501/b23862414d9a371466ef/tscancellation-9cbfb32954f6e79a5287.tmp* --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc', - }, - { - cpu: 0.006666666666666667, - memory: 0.012000000000000002, - startTime: 1683633422827, - pid: 12355, - state: 'running', - user: 'test_user', - command: - '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 20 -isForBrowser -prefsLen 29966 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {c336b12a-302b-46a0-9c9d-d9f1a22b24b9} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1351433086 tab', - }, - { - cpu: 0.0030000000000000005, - memory: 0.014, - startTime: 1683625026636, - pid: 6474, - state: 'running', - user: 'test_user', - command: - '/Users/test_user/.vscode/extensions/ambar.bundle-size-1.5.0/node_modules/esbuild-darwin-arm64/bin/esbuild --service=0.15.18 --ping', - }, - { - cpu: 0.0025, - memory: 0.016, - startTime: 1683624729210, - pid: 3034, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Code --standard-schemes=vscode-webview,vscode-file --secure-schemes=vscode-webview,vscode-file --bypasscsp-schemes --cors-schemes=vscode-webview,vscode-file --fetch-schemes=vscode-webview,vscode-file --service-worker-schemes=vscode-webview --streaming-schemes --app-path=/Applications/Visual Studio Code.app/Contents/Resources/app --no-sandbox --no-zygote --enable-blink-features=HighlightAPI --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=8 --launch-time-ticks=267710381 --shared-files --field-trial-handle=1718379636,r,13842708672762445701,9157690858550926405,131072 --disable-features=CalculateNativeWinOcclusion,SpareRendererForSitePerProcess --vscode-window-config=vscode:c40ae943-cf5f-4b4e-9ede-714d3202da26', - }, - { - cpu: 0.0013333333333333333, - memory: 0.011666666666666667, - startTime: 1683628721310, - pid: 11385, - state: 'running', - user: 'test_user', - command: - '/Applications/Slack.app/Contents/Frameworks/Slack Helper (Renderer).app/Contents/MacOS/Slack Helper (Renderer) --type=renderer --user-data-dir=/Users/test_user/Library/Application Support/Slack --standard-schemes=app,slack-webapp-dev --enable-sandbox --secure-schemes=app,slack-webapp-dev --bypasscsp-schemes=slack-webapp-dev --cors-schemes=slack-webapp-dev --fetch-schemes=slack-webapp-dev --service-worker-schemes=slack-webapp-dev --streaming-schemes --app-path=/Applications/Slack.app/Contents/Resources/app.asar --enable-sandbox --enable-blink-features=ExperimentalJSProfiler --disable-blink-features --first-renderer-process --autoplay-policy=no-user-gesture-required --enable-logging --force-color-profile=srgb --log-file=/Users/test_user/Library/Application Support/Slack/logs/default/electron_debug.log --lang=en-GB --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=4 --time-ticks-at-unix-epoch=-1683624461530404 --launch-time-ticks=4259772827 --shared-files --field-trial-handle=1718379636,r,7616643094726622586,3291986448361336128,131072 --disable-features=AllowAggressiveThrottlingWithWebSocket,CalculateNativeWinOcclusion,HardwareMediaKeyHandling,IntensiveWakeUpThrottling,LogJsConsoleMessages,RequestInitiatorSiteLockEnfocement,SpareRendererForSitePerProcess,WebRtcHideLocalIpsWithMdns,WinRetrieveSuggestionsOnlyOnDemand --window-type=main --seatbelt-client=71', - }, - { - cpu: 0.0013333333333333333, - memory: 0.0105, - startTime: 1683624737323, - pid: 3593, - state: 'running', - user: 'test_user', - command: - '/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) --ms-enable-electron-run-as-node /Users/test_user/.vscode/extensions/streetsidesoftware.code-spell-checker-2.20.4/packages/_server/dist/main.js --node-ipc --clientProcessId=3508', - }, - { - cpu: 0.0011666666666666668, - memory: 0.014666666666666668, - startTime: 1683625569286, - pid: 8319, - state: 'running', - user: 'test_user', - command: - '/Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container -childID 14 -isForBrowser -prefsLen 29644 -prefMapSize 241364 -jsInitLen 240056 -sbStartup -sbAppPath /Applications/Firefox.app -sbLevel 3 -sbAllowAudio -parentBuildID 20230424110519 -appDir /Applications/Firefox.app/Contents/Resources/browser -profile /Users/test_user/Library/Application Support/Firefox/Profiles/rqulcocl.default-release {49cd6e6d-ed04-4355-8a7c-9a13fb9cbfa8} 757 gecko-crash-server-pipe.757 org.mozilla.machname.1880877485 tab', - }, - { - cpu: 0.001, - memory: 0.0030000000000000005, - startTime: 1683627994731, - pid: 10269, - state: 'running', - user: 'test_user', - command: './metricbeat -v -e -c metricbeat.dev.yml', - }, - { - cpu: 0.001, - memory: 0.006000000000000001, - startTime: 1683624717742, - pid: 784, - state: 'running', - user: 'test_user', - command: '/Applications/Visual Studio Code.app/Contents/MacOS/Electron', - }, - ], - }; - - const summary = { summary: { running: 366, total: 366 } }; - - const contentTypes = { - processesAndSummary: { ...processes, ...summary, loading: false }, - onlyProcesses: { ...processes, summary: {}, loading: false }, - onlySummary: { ...summary, processList: [] }, - loading: { loading: true }, - noData: { loading: false, summary: {}, processList: [] }, - }; - - const initialProcesses = useParameter<{ contentType: keyof typeof contentTypes }>('show', { - contentType: 'processesAndSummary', - })!; - - const mockServices = { - http: { - basePath: { - prepend: (_: string) => '', - }, - patch: () => {}, - fetch: async (path: string) => { - switch (path) { - case '/api/metrics/process_list': - return contentTypes[initialProcesses?.contentType]; - default: - return {}; - } - }, - }, - }; - - return ( - - - {wrappedStory()} - - - ); -}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.tsx index cb6660c64a926..6da77bd7d0720 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/processes/processes.tsx @@ -21,7 +21,6 @@ import { parseSearchString } from './parse_search_string'; import { ProcessesTable } from './processes_table'; import { STATE_NAMES } from './states'; import { SummaryTable } from './summary_table'; -import { TabContent } from '../../../../pages/metrics/inventory_view/components/node_details/tabs/shared'; import { SortBy, useProcessList, @@ -99,93 +98,88 @@ export const Processes = ({ }, [onSearchFilterChange]); return ( - - - + + + +

+ {i18n.translate('xpack.infra.metrics.nodeDetails.processesHeader', { + defaultMessage: 'Top processes', + })}{' '} + +

+
+ + + + {!error ? ( + - - -

- {i18n.translate('xpack.infra.metrics.nodeDetails.processesHeader', { - defaultMessage: 'Top processes', - })}{' '} - -

-
- - + {i18n.translate('xpack.infra.metrics.nodeDetails.processListError', { + defaultMessage: 'Unable to load process data', + })} + + } + actions={ + + {i18n.translate('xpack.infra.metrics.nodeDetails.processListRetry', { + defaultMessage: 'Try again', + })} + + } /> - - {!error ? ( - - ) : ( - - {i18n.translate('xpack.infra.metrics.nodeDetails.processListError', { - defaultMessage: 'Unable to load process data', - })} - - } - actions={ - - {i18n.translate('xpack.infra.metrics.nodeDetails.processListRetry', { - defaultMessage: 'Try again', - })} - - } - /> - )} -
-
+ )} + ); }; diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_process_list.ts b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_process_list.ts index a3aebd8d39bf7..532195ba32cc0 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_process_list.ts +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_process_list.ts @@ -9,7 +9,7 @@ import createContainter from 'constate'; import { fold } from 'fp-ts/lib/Either'; import { identity } from 'fp-ts/lib/function'; import { pipe } from 'fp-ts/lib/pipeable'; -import { useEffect, useState } from 'react'; +import { useEffect } from 'react'; import { ProcessListAPIResponse, ProcessListAPIResponseRT } from '../../../../../common/http_api'; import { throwErrors, createPlainError } from '../../../../../common/runtime_types'; import { useHTTPRequest } from '../../../../hooks/use_http_request'; @@ -29,7 +29,6 @@ export function useProcessList( const { createDerivedIndexPattern } = useSourceContext(); const indexPattern = createDerivedIndexPattern().title; - const [inErrorState, setInErrorState] = useState(false); const decodeResponse = (response: any) => { return pipe( ProcessListAPIResponseRT.decode(response), @@ -58,15 +57,12 @@ export function useProcessList( decodeResponse ); - useEffect(() => setInErrorState(true), [error]); - useEffect(() => setInErrorState(false), [loading]); - useEffect(() => { makeRequest(); }, [makeRequest]); return { - error: inErrorState, + error: (error && error.message) || null, loading, response, makeRequest, diff --git a/x-pack/plugins/lens/common/expressions/format_column/format_column.test.ts b/x-pack/plugins/lens/common/expressions/format_column/format_column.test.ts index bb01864c4f090..892783e41788c 100644 --- a/x-pack/plugins/lens/common/expressions/format_column/format_column.test.ts +++ b/x-pack/plugins/lens/common/expressions/format_column/format_column.test.ts @@ -46,9 +46,7 @@ describe('format_column', () => { const result = await fn(datatable, { columnId: 'test', format: 'number' }); expect(result.columns[0].meta.params).toEqual({ id: 'number', - params: { - pattern: '0,0.00', - }, + params: { formatOverride: true, pattern: '0,0.00' }, }); }); @@ -57,9 +55,7 @@ describe('format_column', () => { const result = await fn(datatable, { columnId: 'test', format: 'number', decimals: 5 }); expect(result.columns[0].meta.params).toEqual({ id: 'number', - params: { - pattern: '0,0.00000', - }, + params: { formatOverride: true, pattern: '0,0.00000' }, }); }); @@ -76,9 +72,8 @@ describe('format_column', () => { params: { suffixString: 'ABC', id: 'number', - params: { - pattern: '0,0.00000', - }, + formatOverride: true, + params: { formatOverride: true, pattern: '0,0.00000' }, }, }); }); @@ -88,9 +83,7 @@ describe('format_column', () => { const result = await fn(datatable, { columnId: 'test', format: 'number', decimals: 0 }); expect(result.columns[0].meta.params).toEqual({ id: 'number', - params: { - pattern: '0,0', - }, + params: { formatOverride: true, pattern: '0,0' }, }); }); @@ -175,6 +168,7 @@ describe('format_column', () => { id: 'suffix', params: { suffixString: 'abc', + formatOverride: true, id: 'wrapper', params: { wrapperParam: 123, @@ -229,9 +223,8 @@ describe('format_column', () => { params: { wrapperParam: 123, id: 'number', - params: { - pattern: '0,0.00000', - }, + params: { formatOverride: true, pattern: '0,0.00000' }, + formatOverride: true, pattern: '0,0.00000', }, }); @@ -256,9 +249,8 @@ describe('format_column', () => { paramsPerField: [ { id: 'number', - params: { - pattern: '0,0.00000', - }, + params: { formatOverride: true, pattern: '0,0.00000' }, + formatOverride: true, pattern: '0,0.00000', }, ], diff --git a/x-pack/plugins/lens/common/expressions/format_column/format_column_fn.ts b/x-pack/plugins/lens/common/expressions/format_column/format_column_fn.ts index 74c5d2a53c5c2..ce70a4d9f8ff3 100644 --- a/x-pack/plugins/lens/common/expressions/format_column/format_column_fn.ts +++ b/x-pack/plugins/lens/common/expressions/format_column/format_column_fn.ts @@ -33,7 +33,10 @@ export const formatColumnFn: FormatColumnExpressionFunction['fn'] = ( if (supportedFormats[format]) { const serializedFormat: SerializedFieldFormat = { id: supportedFormats[format].formatId, - params: { pattern: supportedFormats[format].decimalsToPattern(decimals) }, + params: { + pattern: supportedFormats[format].decimalsToPattern(decimals), + formatOverride: true, + }, }; return withParams(col, serializedFormat as Record); } else if (format) { @@ -56,6 +59,7 @@ export const formatColumnFn: FormatColumnExpressionFunction['fn'] = ( if (format && supportedFormats[format]) { const customParams = { pattern: supportedFormats[format].decimalsToPattern(decimals), + formatOverride: true, }; // Some parent formatters are multi-fields and wrap the custom format into a "paramsPerField" // property. Here the format is passed to this property to make it work properly @@ -128,6 +132,7 @@ export const formatColumnFn: FormatColumnExpressionFunction['fn'] = ( params: { ...col.meta.params, suffixString: suffix, + formatOverride: true, }, }, }, diff --git a/x-pack/plugins/lens/public/app_plugin/app.tsx b/x-pack/plugins/lens/public/app_plugin/app.tsx index b4b45209aef4e..58d422b05adb7 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.tsx @@ -113,6 +113,7 @@ export function App({ isLoading, isSaveable, visualization, + annotationGroups, } = useLensSelector((state) => state.lens); const selectorDependencies = useMemo( @@ -180,7 +181,9 @@ export function App({ persistedDoc, lastKnownDoc, data.query.filterManager.inject.bind(data.query.filterManager), - datasourceMap + datasourceMap, + visualizationMap, + annotationGroups ) && (isSaveable || persistedDoc) ) { @@ -209,6 +212,8 @@ export function App({ application.capabilities.visualize.save, data.query.filterManager, datasourceMap, + visualizationMap, + annotationGroups, ]); const getLegacyUrlConflictCallout = useCallback(() => { @@ -374,7 +379,14 @@ export function App({ initialDocFromContext, persistedDoc, ].map((refDoc) => - isLensEqual(refDoc, lastKnownDoc, data.query.filterManager.inject, datasourceMap) + isLensEqual( + refDoc, + lastKnownDoc, + data.query.filterManager.inject, + datasourceMap, + visualizationMap, + annotationGroups + ) ); if (initialDocFromContextUnchanged || currentDocHasBeenSavedInLens) { onAppLeave((actions) => { @@ -386,6 +398,7 @@ export function App({ } } }, [ + annotationGroups, application, data.query.filterManager.inject, datasourceMap, @@ -394,6 +407,7 @@ export function App({ lastKnownDoc, onAppLeave, persistedDoc, + visualizationMap, ]); const navigateToVizEditor = useCallback(() => { @@ -422,7 +436,6 @@ export function App({ dataViews, uiActions, core: { http, notifications, uiSettings }, - data, contextDataViewSpec: (initialContext as VisualizeFieldContext | undefined)?.dataViewSpec, updateIndexPatterns: (newIndexPatternsState, options) => { dispatch(updateIndexPatterns(newIndexPatternsState)); @@ -437,7 +450,7 @@ export function App({ } }, }), - [dataViews, uiActions, http, notifications, uiSettings, data, initialContext, dispatch] + [dataViews, uiActions, http, notifications, uiSettings, initialContext, dispatch] ); const onTextBasedSavedAndExit = useCallback(async ({ onSave, onCancel }) => { @@ -597,7 +610,9 @@ export function App({ persistedDoc, lastKnownDoc, data.query.filterManager.inject.bind(data.query.filterManager), - datasourceMap + datasourceMap, + visualizationMap, + annotationGroups ) } goBackToOriginatingApp={goBackToOriginatingApp} diff --git a/x-pack/plugins/lens/public/app_plugin/lens_document_equality.test.ts b/x-pack/plugins/lens/public/app_plugin/lens_document_equality.test.ts index 8bd1e6e980bbb..babde51e39f27 100644 --- a/x-pack/plugins/lens/public/app_plugin/lens_document_equality.test.ts +++ b/x-pack/plugins/lens/public/app_plugin/lens_document_equality.test.ts @@ -8,11 +8,19 @@ import { Filter, FilterStateStore } from '@kbn/es-query'; import { isLensEqual } from './lens_document_equality'; import { Document } from '../persistence/saved_object_store'; -import { Datasource, DatasourceMap } from '../types'; +import { + AnnotationGroups, + Datasource, + DatasourceMap, + Visualization, + VisualizationMap, +} from '../types'; + +const visualizationType = 'lnsSomeVis'; const defaultDoc: Document = { title: 'some-title', - visualizationType: 'lnsXY', + visualizationType, state: { query: { query: '', @@ -53,23 +61,67 @@ describe('lens document equality', () => { ); let mockDatasourceMap: DatasourceMap; + let mockVisualizationMap: VisualizationMap; + let mockAnnotationGroups: AnnotationGroups; beforeEach(() => { mockDatasourceMap = { - indexpattern: { isEqual: jest.fn(() => true) }, - } as unknown as DatasourceMap; + indexpattern: { isEqual: jest.fn(() => true) } as Partial as Datasource, + }; + + mockVisualizationMap = { + [visualizationType]: { + isEqual: jest.fn(() => true), + } as Partial as Visualization, + }; + + mockAnnotationGroups = {}; }); it('returns true when documents are equal', () => { expect( - isLensEqual(defaultDoc, defaultDoc, mockInjectFilterReferences, mockDatasourceMap) + isLensEqual( + defaultDoc, + defaultDoc, + mockInjectFilterReferences, + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups + ) ).toBeTruthy(); }); it('handles undefined documents', () => { - expect(isLensEqual(undefined, undefined, mockInjectFilterReferences, {})).toBeTruthy(); - expect(isLensEqual(undefined, {} as Document, mockInjectFilterReferences, {})).toBeFalsy(); - expect(isLensEqual({} as Document, undefined, mockInjectFilterReferences, {})).toBeFalsy(); + expect( + isLensEqual( + undefined, + undefined, + mockInjectFilterReferences, + {}, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeTruthy(); + expect( + isLensEqual( + undefined, + {} as Document, + mockInjectFilterReferences, + {}, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeFalsy(); + expect( + isLensEqual( + {} as Document, + undefined, + mockInjectFilterReferences, + {}, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeFalsy(); }); it('should compare visualization type', () => { @@ -78,7 +130,9 @@ describe('lens document equality', () => { defaultDoc, { ...defaultDoc, visualizationType: 'other-type' }, mockInjectFilterReferences, - mockDatasourceMap + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeFalsy(); }); @@ -98,26 +152,9 @@ describe('lens document equality', () => { }, }, mockInjectFilterReferences, - mockDatasourceMap - ) - ).toBeFalsy(); - }); - - it('should compare the visualization state', () => { - expect( - isLensEqual( - defaultDoc, - { - ...defaultDoc, - state: { - ...defaultDoc.state, - visualization: { - some: 'other-props', - }, - }, - }, - mockInjectFilterReferences, - mockDatasourceMap + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeFalsy(); }); @@ -139,7 +176,9 @@ describe('lens document equality', () => { }, }, mockInjectFilterReferences, - { ...mockDatasourceMap, foodatasource: { isEqual: () => true } as unknown as Datasource } + { ...mockDatasourceMap, foodatasource: { isEqual: () => true } as unknown as Datasource }, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeFalsy(); @@ -167,7 +206,9 @@ describe('lens document equality', () => { }, }, mockInjectFilterReferences, - { ...mockDatasourceMap, foodatasource: { isEqual: () => true } as unknown as Datasource } + { ...mockDatasourceMap, foodatasource: { isEqual: () => true } as unknown as Datasource }, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeTruthy(); }); @@ -176,7 +217,67 @@ describe('lens document equality', () => { // datasource's isEqual returns false (mockDatasourceMap.indexpattern.isEqual as jest.Mock).mockReturnValue(false); expect( - isLensEqual(defaultDoc, defaultDoc, mockInjectFilterReferences, mockDatasourceMap) + isLensEqual( + defaultDoc, + defaultDoc, + mockInjectFilterReferences, + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeFalsy(); + }); + }); + + describe('comparing the visualizations', () => { + it('delegates to visualization class if visualization.isEqual available', () => { + expect( + isLensEqual( + defaultDoc, + defaultDoc, + mockInjectFilterReferences, + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeTruthy(); + + expect(mockVisualizationMap[visualizationType].isEqual).toHaveBeenCalled(); + + (mockVisualizationMap[visualizationType].isEqual as jest.Mock).mockReturnValue(false); + + expect( + isLensEqual( + defaultDoc, + defaultDoc, + mockInjectFilterReferences, + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups + ) + ).toBeFalsy(); + }); + + it('direct comparison if no isEqual implementation', () => { + delete mockVisualizationMap[visualizationType].isEqual; + + expect( + isLensEqual( + defaultDoc, + { + ...defaultDoc, + state: { + ...defaultDoc.state, + visualization: { + some: 'other-props', + }, + }, + }, + mockInjectFilterReferences, + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups + ) ).toBeFalsy(); }); }); @@ -197,7 +298,9 @@ describe('lens document equality', () => { defaultDoc, { ...defaultDoc, state: { ...defaultDoc.state, filters: filtersWithPinned } }, mockInjectFilterReferences, - mockDatasourceMap + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeTruthy(); }); @@ -221,7 +324,9 @@ describe('lens document equality', () => { }, }, mockInjectFilterReferences, - mockDatasourceMap + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeTruthy(); }); @@ -241,7 +346,9 @@ describe('lens document equality', () => { }, }, mockInjectFilterReferences, - mockDatasourceMap + mockDatasourceMap, + mockVisualizationMap, + mockAnnotationGroups ) ).toBeTruthy(); }); diff --git a/x-pack/plugins/lens/public/app_plugin/lens_document_equality.ts b/x-pack/plugins/lens/public/app_plugin/lens_document_equality.ts index dae571acf10ed..60316802ca5ea 100644 --- a/x-pack/plugins/lens/public/app_plugin/lens_document_equality.ts +++ b/x-pack/plugins/lens/public/app_plugin/lens_document_equality.ts @@ -8,7 +8,7 @@ import { isEqual, intersection, union } from 'lodash'; import { FilterManager } from '@kbn/data-plugin/public'; import { Document } from '../persistence/saved_object_store'; -import { DatasourceMap } from '../types'; +import { AnnotationGroups, DatasourceMap, VisualizationMap } from '../types'; import { removePinnedFilters } from './save_modal_container'; const removeNonSerializable = (obj: Parameters[0]) => @@ -18,7 +18,9 @@ export const isLensEqual = ( doc1In: Document | undefined, doc2In: Document | undefined, injectFilterReferences: FilterManager['inject'], - datasourceMap: DatasourceMap + datasourceMap: DatasourceMap, + visualizationMap: VisualizationMap, + annotationGroups: AnnotationGroups ) => { if (doc1In === undefined || doc2In === undefined) { return doc1In === doc2In; @@ -36,7 +38,23 @@ export const isLensEqual = ( return false; } - if (!isEqual(doc1.state.visualization, doc2.state.visualization)) { + const isEqualFromVis = visualizationMap[doc1.visualizationType]?.isEqual; + const visualizationStateIsEqual = isEqualFromVis + ? (() => { + try { + return isEqualFromVis( + doc1.state.visualization, + doc1.references, + doc2.state.visualization, + doc2.references, + annotationGroups + ); + } catch (err) { + return false; + } + })() + : isEqual(doc1.state.visualization, doc2.state.visualization); + if (!visualizationStateIsEqual) { return false; } diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx index da790f334f108..9b77ad9d589f4 100644 --- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx +++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx @@ -96,6 +96,7 @@ export async function getLensServices( inspector, navigation, embeddable, + eventAnnotation, savedObjectsTagging, usageCollection, fieldFormats, @@ -107,6 +108,7 @@ export async function getLensServices( const storage = new Storage(localStorage); const stateTransfer = embeddable?.getStateTransfer(); const embeddableEditorIncomingState = stateTransfer?.getIncomingEditorState(APP_ID); + const eventAnnotationService = await eventAnnotation.getService(); return { data, @@ -118,6 +120,7 @@ export async function getLensServices( usageCollection, savedObjectsTagging, attributeService, + eventAnnotationService, executionContext: coreStart.executionContext, http: coreStart.http, uiActions: startDependencies.uiActions, diff --git a/x-pack/plugins/lens/public/app_plugin/show_underlying_data.ts b/x-pack/plugins/lens/public/app_plugin/show_underlying_data.ts index a181cea794584..5b6712ed23862 100644 --- a/x-pack/plugins/lens/public/app_plugin/show_underlying_data.ts +++ b/x-pack/plugins/lens/public/app_plugin/show_underlying_data.ts @@ -25,7 +25,10 @@ import { showMemoizedErrorNotification } from '../lens_ui_errors'; import { TableInspectorAdapter } from '../editor_frame_service/types'; import { Datasource, DatasourcePublicAPI, IndexPatternMap } from '../types'; import { Visualization } from '..'; -import { getLayerType } from '../editor_frame_service/editor_frame/config_panel/add_layer'; + +function getLayerType(visualization: Visualization, state: unknown, layerId: string) { + return visualization.getLayerType(layerId, state) || LayerTypes.DATA; +} /** * Joins a series of queries. diff --git a/x-pack/plugins/lens/public/app_plugin/tags_saved_object_save_modal_dashboard_wrapper.tsx b/x-pack/plugins/lens/public/app_plugin/tags_saved_object_save_modal_dashboard_wrapper.tsx index 761f46cbbd2c9..39c2f55bdd676 100644 --- a/x-pack/plugins/lens/public/app_plugin/tags_saved_object_save_modal_dashboard_wrapper.tsx +++ b/x-pack/plugins/lens/public/app_plugin/tags_saved_object_save_modal_dashboard_wrapper.tsx @@ -43,6 +43,7 @@ export const TagEnhancedSavedObjectSaveModalDashboard: FC< ) : undefined, [savedObjectsTagging, initialTags] diff --git a/x-pack/plugins/lens/public/app_plugin/types.ts b/x-pack/plugins/lens/public/app_plugin/types.ts index a1b68fb1b4336..142d24f645465 100644 --- a/x-pack/plugins/lens/public/app_plugin/types.ts +++ b/x-pack/plugins/lens/public/app_plugin/types.ts @@ -45,6 +45,7 @@ import type { ChartsPluginSetup } from '@kbn/charts-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { DocLinksStart } from '@kbn/core-doc-links-browser'; import type { SharePluginStart } from '@kbn/share-plugin/public'; +import type { EventAnnotationServiceType } from '@kbn/event-annotation-plugin/public'; import type { SettingsStart } from '@kbn/core-ui-settings-browser'; import type { DatasourceMap, @@ -148,6 +149,7 @@ export interface LensAppServices { dataViews: DataViewsPublicPluginStart; fieldFormats: FieldFormatsStart; data: DataPublicPluginStart; + eventAnnotationService: EventAnnotationServiceType; inspector: LensInspector; uiSettings: IUiSettingsClient; settings: SettingsStart; diff --git a/x-pack/plugins/lens/public/data_views_service/service.ts b/x-pack/plugins/lens/public/data_views_service/service.ts index 5192de1d2385e..217d621b0ee98 100644 --- a/x-pack/plugins/lens/public/data_views_service/service.ts +++ b/x-pack/plugins/lens/public/data_views_service/service.ts @@ -8,20 +8,18 @@ import type { DataViewsContract, DataView, DataViewSpec } from '@kbn/data-views-plugin/public'; import type { CoreStart } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; -import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { ActionExecutionContext, UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { UPDATE_FILTER_REFERENCES_ACTION, UPDATE_FILTER_REFERENCES_TRIGGER, } from '@kbn/unified-search-plugin/public'; -import type { IndexPattern, IndexPatternMap, IndexPatternRef } from '../types'; -import { ensureIndexPattern, loadIndexPatternRefs, loadIndexPatterns } from './loader'; +import type { IndexPattern, IndexPatternMap } from '../types'; +import { ensureIndexPattern, loadIndexPatterns } from './loader'; import type { DataViewsState } from '../state_management'; import { generateId } from '../id_generator'; export interface IndexPatternServiceProps { core: Pick; - data: DataPublicPluginStart; dataViews: DataViewsContract; uiActions: UiActionsStart; contextDataViewSpec?: DataViewSpec; @@ -54,10 +52,7 @@ export interface IndexPatternServiceAPI { cache: IndexPatternMap; onIndexPatternRefresh?: () => void; }) => Promise; - /** - * Load indexPatternRefs with title and ids - */ - loadIndexPatternRefs: (options: { isFullEditor: boolean }) => Promise; + /** * Ensure an indexPattern is loaded in the cache, usually used in conjuction with a indexPattern change action. */ @@ -81,16 +76,15 @@ export interface IndexPatternServiceAPI { ) => void; } -export function createIndexPatternService({ +export const createIndexPatternService = ({ core, dataViews, - data, updateIndexPatterns, replaceIndexPattern, uiActions, contextDataViewSpec, -}: IndexPatternServiceProps): IndexPatternServiceAPI { - const onChangeError = (err: Error) => +}: IndexPatternServiceProps): IndexPatternServiceAPI => { + const showLoadingDataViewError = (err: Error) => core.notifications.toasts.addError(err, { title: i18n.translate('xpack.lens.indexPattern.dataViewLoadError', { defaultMessage: 'Error loading data view', @@ -131,9 +125,7 @@ export function createIndexPatternService({ } as ActionExecutionContext); }, ensureIndexPattern: (args) => - ensureIndexPattern({ onError: onChangeError, dataViews, ...args }), - loadIndexPatternRefs: async ({ isFullEditor }) => - isFullEditor ? loadIndexPatternRefs(dataViews) : [], + ensureIndexPattern({ onError: showLoadingDataViewError, dataViews, ...args }), getDefaultIndex: () => core.uiSettings.get('defaultIndex'), }; -} +}; diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx index c43bf5d0c68bb..688e828a7bbd0 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx @@ -113,7 +113,6 @@ export function DimensionEditor(props: DimensionEditorProps) { data: props.data, fieldFormats: props.fieldFormats, uiSettings: props.uiSettings, - savedObjectsClient: props.savedObjectsClient, http: props.http, storage: props.storage, unifiedSearch: props.unifiedSearch, diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.test.tsx index a4fd8135f00be..269d82c6c6e46 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.test.tsx @@ -25,13 +25,7 @@ import { FormBasedDimensionEditorProps, } from './dimension_panel'; import { mountWithIntl as mount, shallowWithIntl as shallow } from '@kbn/test-jest-helpers'; -import { - IUiSettingsClient, - SavedObjectsClientContract, - HttpSetup, - CoreStart, - NotificationsStart, -} from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup, CoreStart, NotificationsStart } from '@kbn/core/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { useExistingFieldsReader } from '@kbn/unified-field-list-plugin/public/hooks/use_existing_fields'; import { generateId } from '../../../id_generator'; @@ -228,7 +222,6 @@ describe('FormBasedDimensionEditor', () => { filterOperations: () => true, storage: {} as IStorageWrapper, uiSettings: {} as IUiSettingsClient, - savedObjectsClient: {} as SavedObjectsClientContract, http: {} as HttpSetup, fieldFormats: fieldFormatsServiceMock.createStartContract(), unifiedSearch: unifiedSearchPluginMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx index dd3a66e26f036..546deb29e26fa 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx @@ -6,12 +6,7 @@ */ import React, { memo } from 'react'; -import type { - IUiSettingsClient, - SavedObjectsClientContract, - HttpSetup, - NotificationsStart, -} from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup, NotificationsStart } from '@kbn/core/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { LayerTypes } from '@kbn/expression-xy-plugin/public'; @@ -34,7 +29,6 @@ export type FormBasedDimensionEditorProps = DatasourceDimensionEditorProps & { uiSettings: IUiSettingsClient; storage: IStorageWrapper; - savedObjectsClient: SavedObjectsClientContract; layerId: string; http: HttpSetup; data: DataPublicPluginStart; diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.test.tsx index 74a43f3e7db21..8a5163a3a27d2 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.test.tsx @@ -13,7 +13,7 @@ import { mountWithIntl as mount } from '@kbn/test-jest-helpers'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; -import type { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { OperationMetadata } from '../../../types'; @@ -73,7 +73,6 @@ describe('reference editor', () => { dateRange: { fromDate: 'now-1d', toDate: 'now' }, storage: {} as IStorageWrapper, uiSettings: {} as IUiSettingsClient, - savedObjectsClient: {} as SavedObjectsClientContract, http: {} as HttpSetup, data: {} as DataPublicPluginStart, fieldFormats: fieldFormatsServiceMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx index 53fe225d4d926..d298267f0a8b7 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx @@ -10,7 +10,7 @@ import React, { useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiFormRowProps, EuiSpacer, EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; -import type { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; @@ -98,7 +98,6 @@ export interface ReferenceEditorProps { // Services uiSettings: IUiSettingsClient; storage: IStorageWrapper; - savedObjectsClient: SavedObjectsClientContract; http: HttpSetup; data: DataPublicPluginStart; fieldFormats: FieldFormatsStart; diff --git a/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx b/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx index e8a4e0bf590fd..b89bb9e6e3f38 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx @@ -578,7 +578,6 @@ export function getFormBasedDatasource({ uiSettings={uiSettings} storage={storage} fieldFormats={fieldFormats} - savedObjectsClient={core.savedObjects.client} http={core.http} data={data} unifiedSearch={unifiedSearch} diff --git a/x-pack/plugins/lens/public/datasources/form_based/layerpanel.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/layerpanel.test.tsx index f9d0dc9d8b9fb..eef44faaec8ff 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/layerpanel.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/layerpanel.test.tsx @@ -30,7 +30,7 @@ jest.mock('@kbn/unified-search-plugin/public', () => { interface IndexPatternPickerOption { label: string; - checked?: 'on' | 'off'; + checked?: 'on' | 'off' | 'mixed'; } const fieldsOne = [ diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/date_histogram.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/date_histogram.test.tsx index d9510256eb92d..9259fb2cd9c98 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/date_histogram.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/date_histogram.test.tsx @@ -13,7 +13,7 @@ import { EuiSwitch } from '@elastic/eui'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; -import type { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { UI_SETTINGS } from '@kbn/data-plugin/public'; import { dataPluginMock, getCalculateAutoTimeExpression } from '@kbn/data-plugin/public/mocks'; @@ -98,7 +98,6 @@ const defaultOptions = { layerId: '1', storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1y', toDate: 'now', diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/filters/filters.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/filters/filters.test.tsx index e5199a5295ec6..5f27106a5ab44 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/filters/filters.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/filters/filters.test.tsx @@ -10,7 +10,7 @@ import { mount } from 'enzyme'; import { act } from 'react-dom/test-utils'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; -import type { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; @@ -25,7 +25,6 @@ const uiSettingsMock = {} as IUiSettingsClient; const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, data: dataPluginMock.createStartContract(), fieldFormats: fieldFormatsServiceMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts index f050604cfc0d0..aaba48eae39d0 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts @@ -5,12 +5,7 @@ * 2.0. */ -import { - IUiSettingsClient, - SavedObjectsClientContract, - HttpSetup, - CoreStart, -} from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup, CoreStart } from '@kbn/core/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { ExpressionAstExpressionBuilder, @@ -189,7 +184,6 @@ export interface ParamEditorProps< indexPattern: IndexPattern; uiSettings: IUiSettingsClient; storage: IStorageWrapper; - savedObjectsClient: SavedObjectsClientContract; http: HttpSetup; dateRange: DateRange; data: DataPublicPluginStart; diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.test.tsx index 6ba5ed0056c38..47f8d6f2bd2e0 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/last_value.test.tsx @@ -10,7 +10,7 @@ import { shallow, ShallowWrapper } from 'enzyme'; import { EuiComboBox, EuiFormRow } from '@elastic/eui'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; -import { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; @@ -27,7 +27,6 @@ const uiSettingsMock = {} as IUiSettingsClient; const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, fieldFormats: fieldFormatsServiceMock.createStartContract(), unifiedSearch: unifiedSearchPluginMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx index 51385cfac9cc8..4b9bfcd0171cd 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile.test.tsx @@ -8,7 +8,7 @@ import React, { ChangeEvent } from 'react'; import { act } from 'react-dom/test-utils'; import { EuiRange } from '@elastic/eui'; -import { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { EuiFormRow } from '@elastic/eui'; import { shallow, mount } from 'enzyme'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; @@ -45,7 +45,6 @@ const uiSettingsMock = {} as IUiSettingsClient; const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, data: dataPluginMock.createStartContract(), fieldFormats: fieldFormatsServiceMock.createStartContract(), @@ -220,19 +219,19 @@ describe('percentile', () => { ], // filtered [ - `aggFilteredMetric id="2" enabled=true schema="metric" + `aggFilteredMetric id="2" enabled=true schema="metric" customBucket={aggFilter id="2-filter" enabled=true schema="bucket" filter={kql q="geo.dest: \\"GA\\" "}} customMetric={aggSinglePercentile id="2" enabled=true schema="metric" field="foo" percentile=10}`, - `aggFilteredMetric id="3" enabled=true schema="metric" + `aggFilteredMetric id="3" enabled=true schema="metric" customBucket={aggFilter id="2-filter" enabled=true schema="bucket" filter={kql q="geo.dest: \\"GA\\" "}} customMetric={aggSinglePercentile id="2" enabled=true schema="metric" field="foo" percentile=10}`, ], // different filter [ - `aggFilteredMetric id="4" enabled=true schema="metric" + `aggFilteredMetric id="4" enabled=true schema="metric" customBucket={aggFilter id="2-filter" enabled=true schema="bucket" filter={kql q="geo.dest: \\"AL\\" "}} customMetric={aggSinglePercentile id="2" enabled=true schema="metric" field="foo" percentile=10}`, - `aggFilteredMetric id="5" enabled=true schema="metric" + `aggFilteredMetric id="5" enabled=true schema="metric" customBucket={aggFilter id="2-filter" enabled=true schema="bucket" filter={kql q="geo.dest: \\"AL\\" "}} customMetric={aggSinglePercentile id="2" enabled=true schema="metric" field="foo" percentile=10}`, ], diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.test.tsx index c29e5ca2c1499..28cc1cedcd804 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/percentile_ranks.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { EuiFieldNumber } from '@elastic/eui'; -import { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { EuiFormRow } from '@elastic/eui'; import { shallow, mount } from 'enzyme'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; @@ -37,7 +37,6 @@ const uiSettingsMock = {} as IUiSettingsClient; const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, data: dataPluginMock.createStartContract(), fieldFormats: fieldFormatsServiceMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/ranges/ranges.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/ranges/ranges.test.tsx index 8972a78b5d9f7..f707197490e04 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/ranges/ranges.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/ranges/ranges.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { mount } from 'enzyme'; import { act } from 'react-dom/test-utils'; import { EuiFieldNumber, EuiRange, EuiButtonEmpty, EuiLink, EuiText } from '@elastic/eui'; -import { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; @@ -85,7 +85,6 @@ const sourceField = 'MyField'; const defaultOptions = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1y', toDate: 'now', diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/static_value.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/static_value.test.tsx index e995b9b27a49d..30bbeaba9cb01 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/static_value.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/static_value.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { EuiFieldNumber } from '@elastic/eui'; -import { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import { shallow, mount } from 'enzyme'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; @@ -40,7 +40,6 @@ const dateRange = { const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, data: dataPluginMock.createStartContract(), fieldFormats: fieldFormatsServiceMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/terms.test.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/terms.test.tsx index 640ceee14351d..609052b893270 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/terms.test.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/terms/terms.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { shallow, mount } from 'enzyme'; import { EuiButtonGroup, EuiComboBox, EuiFieldNumber, EuiSelect, EuiSwitch } from '@elastic/eui'; -import type { IUiSettingsClient, SavedObjectsClientContract, HttpSetup } from '@kbn/core/public'; +import type { IUiSettingsClient, HttpSetup } from '@kbn/core/public'; import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; @@ -88,7 +88,6 @@ const uiSettingsMock = {} as IUiSettingsClient; const defaultProps = { storage: {} as IStorageWrapper, uiSettings: uiSettingsMock, - savedObjectsClient: {} as SavedObjectsClientContract, dateRange: { fromDate: 'now-1d', toDate: 'now' }, data: dataPluginMock.createStartContract(), fieldFormats: fieldFormatsServiceMock.createStartContract(), diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/add_layer.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/add_layer.tsx deleted file mode 100644 index 299f2b81fc5bb..0000000000000 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/add_layer.tsx +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { useState, useMemo } from 'react'; -import { - EuiToolTip, - EuiButton, - EuiPopover, - EuiIcon, - EuiContextMenu, - EuiBadge, - EuiFlexItem, - EuiFlexGroup, -} from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { LayerTypes } from '@kbn/expression-xy-plugin/public'; -import type { LayerType } from '../../../../common/types'; -import type { FramePublicAPI, Visualization } from '../../../types'; - -interface AddLayerButtonProps { - visualization: Visualization; - visualizationState: unknown; - onAddLayerClick: (layerType: LayerType) => void; - layersMeta: Pick; -} - -export function getLayerType(visualization: Visualization, state: unknown, layerId: string) { - return visualization.getLayerType(layerId, state) || LayerTypes.DATA; -} - -export function AddLayerButton({ - visualization, - visualizationState, - onAddLayerClick, - layersMeta, -}: AddLayerButtonProps) { - const [showLayersChoice, toggleLayersChoice] = useState(false); - - const supportedLayers = useMemo(() => { - if (!visualization.appendLayer || !visualizationState) { - return null; - } - return visualization - .getSupportedLayers?.(visualizationState, layersMeta) - ?.filter(({ canAddViaMenu: hideFromMenu }) => !hideFromMenu); - }, [visualization, visualizationState, layersMeta]); - - if (supportedLayers == null || !supportedLayers.length) { - return null; - } - if (supportedLayers.length === 1) { - return ( - - onAddLayerClick(supportedLayers[0].type)} - iconType="layers" - > - {i18n.translate('xpack.lens.configPanel.addLayerButton', { - defaultMessage: 'Add layer', - })} - - - ); - } - return ( - toggleLayersChoice(!showLayersChoice)} - iconType="layers" - > - {i18n.translate('xpack.lens.configPanel.addLayerButton', { - defaultMessage: 'Add layer', - })} - - } - isOpen={showLayersChoice} - closePopover={() => toggleLayersChoice(false)} - panelPaddingSize="none" - > - { - return { - toolTipContent, - disabled, - name: - type === LayerTypes.ANNOTATIONS ? ( - - - {label} - - - - - {i18n.translate('xpack.lens.configPanel.experimentalLabel', { - defaultMessage: 'Technical preview', - })} - - - - ) : ( - {label} - ), - className: 'lnsLayerAddButton', - icon: icon && , - ['data-test-subj']: `lnsLayerAddButton-${type}`, - onClick: () => { - onAddLayerClick(type); - toggleLayersChoice(false); - }, - }; - }), - }, - ]} - /> - - ); -} diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/buttons/drop_targets_utils.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/buttons/drop_targets_utils.tsx index fe7df1983f3c8..b1451a3fba8b6 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/buttons/drop_targets_utils.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/buttons/drop_targets_utils.tsx @@ -35,9 +35,9 @@ export function shouldRemoveSource(source: DragDropIdentifier, dropType: DropTyp ); } -export function onDropForVisualization( +export function onDropForVisualization( props: OnVisDropProps, - activeVisualization: Visualization + activeVisualization: Visualization ) { const { prevState, target, frame, source, group } = props; const { layerId, columnId, groupId } = target; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/config_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/config_panel.test.tsx index 184e7d5724297..78f7246c52e6d 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/config_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/config_panel.test.tsx @@ -16,6 +16,7 @@ import { mockStoreDeps, MountStoreProps, } from '../../../mocks'; +import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import { Visualization } from '../../../types'; import { LayerPanels } from './config_panel'; import { LayerPanel } from './layer_panel'; @@ -25,11 +26,11 @@ import { uiActionsPluginMock } from '@kbn/ui-actions-plugin/public/mocks'; import { generateId } from '../../../id_generator'; import { mountWithProvider } from '../../../mocks'; import { LayerTypes } from '@kbn/expression-xy-plugin/public'; -import type { LayerType } from '../../../../common/types'; import { ReactWrapper } from 'enzyme'; import { addLayer } from '../../../state_management'; -import { AddLayerButton } from './add_layer'; import { createIndexPatternServiceMock } from '../../../mocks/data_views_service_mock'; +import { AddLayerButton } from '../../../visualizations/xy/add_layer'; +import { LayerType } from '@kbn/visualizations-plugin/common'; jest.mock('../../../id_generator'); @@ -43,6 +44,11 @@ jest.mock('@kbn/kibana-utils-plugin/public', () => { }; }); +const addNewLayer = (instance: ReactWrapper, type: LayerType = LayerTypes.REFERENCELINE) => + act(() => { + instance.find(`button[data-test-subj="${type}"]`).first().simulate('click'); + }); + const waitMs = (time: number) => new Promise((r) => setTimeout(r, time)); let container: HTMLDivElement | undefined; @@ -117,7 +123,21 @@ describe('ConfigPanel', () => { activeVisualization: { ...visualizationMap.testVis, getLayerIds: () => Object.keys(frame.datasourceLayers), - } as unknown as Visualization, + getAddLayerButtonComponent: (props) => { + return ( + <> +